Lighttpd and ez webdav: it works

Author Message

Xavier Dutoit

Wednesday 13 June 2007 12:41:50 am

Hi,

To follow up a discussion we had in skien's barcamp, I've added a webdav interface to ezpublish on lighttpd and it works fine (yes, even the authentication ;)

If enough are interested and hoping it could push so this wonderful server is going to be officially supported, I could write an article about ez on light.... and how to use it to run both php4 and php5 on the same server (so we can test more easily ez4)

As for the magic feature to speed the download, that x-sendfile, and it shouldn't be complicated to add to ez and improve quite a lot the performances on files and images download.

http://blog.lighttpd.net/articles/2006/07/02/x-sendfile

X+

http://www.sydesy.com

Peter Putzer

Wednesday 13 June 2007 4:26:50 am

I, for one, would be very interested in a tutorial-style article on running eZ Publish with lighttpd.

:-)

Accessible website starting from eZ publish 3.0 (currently: 4.1.0): http://pluspunkt.at

Björn Dieding@xrow.de

Wednesday 13 June 2007 2:30:01 pm

still apache 2.2 and mod_fcgid is broken for webdav.

Though i am glad to see that it works for lighttpd.

I hope the author of mod_fcgid adresses this since it seems that mod_fastcgi is doomed for newer apache releases.

Looking for a new job? http://www.xrow.com/xrow-GmbH/Jobs
Looking for hosting? http://hostingezpublish.com
-----------------------------------------------------------------------------
GMT +01:00 Hannover, Germany
Web: http://www.xrow.com/

Felipe Jaramillo

Wednesday 13 June 2007 3:46:39 pm

Great news Xavier!

Just curious on your speed impressions of Lighthttpd.

What is your experience in this respect? In terms of general usage of eZ as well as Webdav.

Could you hammer the server with siege or ab and verify Kim from Webdeal's claims of tremendous speed improvements?

Regards,

Felipe
Certified Extension Developer - Got the title today. Yeah!

Felipe Jaramillo
eZ Certified Extension Developer
http://www.aplyca.com | Bogotá, Colombia

Xavier Dutoit

Wednesday 13 June 2007 11:07:21 pm

What would you suggest as a significant benchmark ? Hammering the same page isn´t very representative in my mind.

I general, It seems to work a wee bit faster and the architecture makes me believe it will handle the load in a much better way.

X+

http://www.sydesy.com

Kim Johansen

Friday 27 July 2007 3:09:24 pm

I also got webdav working without any problems.

Here is the rewrite I'm using:

url.rewrite-once = (
"^/.*$" => "/webdav.php"
)

I'm currently working on a benchmark repport for lighttpd with eZpublish, it will be availible in August.

Try out Free eZ Publish 4.0 Trial Hosting for 14 days:
http://webdealhosting.com/ez-publish-trial-hosting

High quality eZ Publish Hosting since 2001!

Xavier Dutoit

Monday 06 August 2007 8:55:15 am

Hi Kim,

For the record, I'm using this one

url.rewrite-once = (
"^/.*?(\?.*)?$" => "/webdav.php$1"
)

Not sure at all what's the benefit of it vs what you use. Haven't hacked the kernel to make use of x-sendfile (I'm quite sure this makes a tremendous difference on downloads/webdav).

Are you benchmarking webdav as well ?

X+

http://www.sydesy.com

Peter Putzer

Friday 24 August 2007 12:51:49 am

So how are things looking regarding that tutorial/blog entry and the performance comparison?

Fed up with non-reproducible but relatively frequent apache crashes due to the embedded PHP, I've yesterday switched to lighttpd + fast_cgi.

At the moment, my configuration is really simple, I'll post it during the weekend (basically what you can find on the net, plus a new regex to handle /content/download URLs even if the filetype is normally passed through).

Things I'd like to do:

* static cache support (should be easy with mod_magnet, haven't had the time yet)
* compression (mod_compress or maybe mod_deflate)
* PHP opcode caching (eaccelerator or xcache)
* mod_memcache for small files (is this sensible on a 1GB machine?)
* mod_cache to make sure IE caches background images

Anything I need to add to the list? Known good settings? Stuff I should avoid?

Accessible website starting from eZ publish 3.0 (currently: 4.1.0): http://pluspunkt.at

Xavier Dutoit

Friday 24 August 2007 1:40:56 am

Hi Peter,

It works fine with eaccelerator and yes, it seeds things up.

Talking about content download, I'm quite sure adding support to X-Send-File would be a smashing improvement.

(the idea is that php deals with access rights, then leave lighttpd deal with the pushing bits, something it does way better than php)

X+

http://www.sydesy.com

Powered by eZ Publish™ CMS Open Source Web Content Management. Copyright © 1999-2014 eZ Systems AS (except where otherwise noted). All rights reserved.

eZ debug

Timing: Jan 30 2025 22:23:41
Script start
Timing: Jan 30 2025 22:23:41
Module start 'layout'
Timing: Jan 30 2025 22:23:41
Module start 'content'
Timing: Jan 30 2025 22:23:43
Module end 'content'
Timing: Jan 30 2025 22:23:43
Script end

Main resources:

Total runtime1.3039 sec
Peak memory usage8,192.0000 KB
Database Queries81

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0062 588.1328151.2109
Module start 'layout' 0.00620.0041 739.3438220.6875
Module start 'content' 0.01021.2928 960.03134,631.8516
Module end 'content' 1.30300.0009 5,591.882823.8438
Script end 1.3039  5,615.7266 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00350.2707160.0002
Check MTime0.00130.1016160.0001
Mysql Total
Database connection0.00080.064910.0008
Mysqli_queries1.184990.8726810.0146
Looping result0.00080.0647790.0000
Template Total1.237594.920.6188
Template load0.00190.147820.0010
Template processing1.235694.756920.6178
Template load and register function0.00120.092710.0012
states
state_id_array0.00220.171010.0022
state_identifier_array0.00200.150320.0010
Override
Cache load0.00170.1323660.0000
Sytem overhead
Fetch class attribute can translate value0.00180.139650.0004
Fetch class attribute name0.00320.2435120.0003
XML
Image XML parsing0.00270.204550.0005
class_abstraction
Instantiating content class attribute0.00010.0047160.0000
General
dbfile0.00190.1440280.0001
String conversion0.00000.000540.0000
Note: percentages do not add up to 100% because some accumulators overlap

Templates used to render the page:

UsageRequested templateTemplateTemplate loadedEditOverride
1node/view/full.tplfull/forum_topic.tplextension/sevenx/design/simple/override/templates/full/forum_topic.tplEdit templateOverride template
7content/datatype/view/ezimage.tpl<No override>extension/sevenx/design/simple/templates/content/datatype/view/ezimage.tplEdit templateOverride template
9content/datatype/view/ezxmltext.tpl<No override>extension/community_design/design/suncana/templates/content/datatype/view/ezxmltext.tplEdit templateOverride template
13content/datatype/view/ezxmltags/paragraph.tpl<No override>extension/ezwebin/design/ezwebin/templates/content/datatype/view/ezxmltags/paragraph.tplEdit templateOverride template
3content/datatype/view/ezxmltags/line.tpl<No override>design/standard/templates/content/datatype/view/ezxmltags/line.tplEdit templateOverride template
1content/datatype/view/ezxmltags/literal.tpl<No override>extension/community/design/standard/templates/content/datatype/view/ezxmltags/literal.tplEdit templateOverride template
1print_pagelayout.tpl<No override>extension/community/design/community/templates/print_pagelayout.tplEdit templateOverride template
 Number of times templates used: 35
 Number of unique templates used: 7

Time used to render debug report: 0.0001 secs