Forums / Developer / Lighttpd and ez webdav: it works

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

eZ debug

Timing: Jan 30 2025 19:33:08
Script start
Timing: Jan 30 2025 19:33:08
Module start 'content'
Timing: Jan 30 2025 19:33:08
Module end 'content'
Timing: Jan 30 2025 19:33:09
Script end

Main resources:

Total runtime0.2402 sec
Peak memory usage8,192.0000 KB
Database Queries141

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0072 587.9297370.2969
Module start 'content' 0.00720.0163 958.22661,013.6563
Module end 'content' 0.02350.2166 1,971.88283,902.2109
Script end 0.2401  5,874.0938 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00471.9501200.0002
Check MTime0.00140.5870200.0001
Mysql Total
Database connection0.00080.325510.0008
Mysqli_queries0.130054.09021410.0009
Looping result0.00170.69941390.0000
Template Total0.216290.010.2162
Template load0.00110.451610.0011
Template processing0.215189.524610.2151
Override
Cache load0.00080.339310.0008
Sytem overhead
Fetch class attribute can translate value0.00220.912810.0022
XML
Image XML parsing0.00040.149110.0004
General
dbfile0.01114.6398200.0006
String conversion0.00000.003130.0000
Note: percentages do not add up to 100% because some accumulators overlap

CSS/JS files loaded with "ezjscPacker" during request:

CacheTypePacklevelSourceFiles
CSS0extension/community/design/community/stylesheets/ext/jquery.autocomplete.css
extension/community_design/design/suncana/stylesheets/scrollbars.css
extension/community_design/design/suncana/stylesheets/tabs.css
extension/community_design/design/suncana/stylesheets/roadmap.css
extension/community_design/design/suncana/stylesheets/content.css
extension/community_design/design/suncana/stylesheets/star-rating.css
extension/community_design/design/suncana/stylesheets/syntax_and_custom_tags.css
extension/community_design/design/suncana/stylesheets/buttons.css
extension/community_design/design/suncana/stylesheets/tweetbox.css
extension/community_design/design/suncana/stylesheets/jquery.fancybox-1.3.4.css
extension/bcsmoothgallery/design/standard/stylesheets/magnific-popup.css
extension/sevenx/design/simple/stylesheets/star_rating.css
extension/sevenx/design/simple/stylesheets/libs/fontawesome/css/all.min.css
extension/sevenx/design/simple/stylesheets/main.v02.css
extension/sevenx/design/simple/stylesheets/main.v02.res.css
JS0extension/ezjscore/design/standard/lib/yui/3.17.2/build/yui/yui-min.js
extension/ezjscore/design/standard/javascript/jquery-3.7.0.min.js
extension/community_design/design/suncana/javascript/jquery.ui.core.min.js
extension/community_design/design/suncana/javascript/jquery.ui.widget.min.js
extension/community_design/design/suncana/javascript/jquery.easing.1.3.js
extension/community_design/design/suncana/javascript/jquery.ui.tabs.js
extension/community_design/design/suncana/javascript/jquery.hoverIntent.min.js
extension/community_design/design/suncana/javascript/jquery.popmenu.js
extension/community_design/design/suncana/javascript/jScrollPane.js
extension/community_design/design/suncana/javascript/jquery.mousewheel.js
extension/community_design/design/suncana/javascript/jquery.cycle.all.js
extension/sevenx/design/simple/javascript/jquery.scrollTo.js
extension/community_design/design/suncana/javascript/jquery.cookie.js
extension/community_design/design/suncana/javascript/ezstarrating_jquery.js
extension/community_design/design/suncana/javascript/jquery.initboxes.js
extension/community_design/design/suncana/javascript/app.js
extension/community_design/design/suncana/javascript/twitterwidget.js
extension/community_design/design/suncana/javascript/community.js
extension/community_design/design/suncana/javascript/roadmap.js
extension/community_design/design/suncana/javascript/ez.js
extension/community_design/design/suncana/javascript/ezshareevents.js
extension/sevenx/design/simple/javascript/main.js

Templates used to render the page:

UsageRequested templateTemplateTemplate loadedEditOverride
1pagelayout.tpl<No override>extension/sevenx/design/simple/templates/pagelayout.tplEdit templateOverride template
 Number of times templates used: 1
 Number of unique templates used: 1

Time used to render debug report: 0.0002 secs