lighty's life

lighty developer blog

Linux AIO and Large Files

The benchmarks only showed results for small files (100kbyte). Time to add larger files to the pool and talk about the chunk-size.

Lighty 1.5.0 and Linux-aio

1.5.0 will be a big win for all users. It will be more flexible in the handling and will have huge improvement for static files thanks to async io.

The following benchmarks shows a increase of 80% for the new linux-aio-sendfile backend compared the classic linux-sendfile one.

What Is Jan Doing All the Time ?

You might wonder why it takes to long to release 1.5.0 when most of it is already in trunk.

At MySQL we are in the final strokes of getting a GA release of Monitoring and Advisoring Service of MySQL Enterprise out of the door.

I’m still monitoring the IRC channel, but all development time is going into my MySQL stuff right now.

RELEASE: Lighttpd 1.4.13

Only 2 weeks after .12 hit the servers we have a new release cleaning up
the issues that were introduced by it.

On the fix side we have:

  • fixed a seg-fault in the HTTP-Request splitting
  • fixed long-standing bug with Content-Length and HEAD requests
  • fixed a possible abort of a upload if xattr is enabled

New are

  • mod-magnet finally handles ‘require “lfs”’ without complaining
  • mod-magnet got light.stat() which uses the stat-cache
  • mod-webdav supports LOCK if compiled with —with-webdav-locks

Debian user have to compile their lua-support with:

$ configure —with-lua=lua5.1 …

as their lua-5.1 package isn’t called ‘lua’.

Enjoy this release and watch out for 1.5.0 on the horizon. :)


Reducing Requests-Setup-Costs

Back in the times of the first implementations of mod-cml I took the request setup costs as the root of all evil. They were the problem I wanted to fix with mod-cml.

But what is the request setup cost ? What is influencing the request-time ? Where can you influence it ?

PRE-RELEASE: lighttpd-1.4.13-r1385

It looks like mod_magnet gets more and more attraction.

Against the least pre-release we have some minor bug-fixes and the new lighty.stat() function for mod-magnet which is using our internal stat-cache to reduce the number of stat() calls which hit the kernel. darix had some nice benchmarks on it.


Trunk Is Trunk

darix just moved the svn-trees around. Now trunk/ is containing the code for 1.5.0 (formerly known as branches/lighttpd-merge-1.4.x) and branches/lighttpd-1.4.x is taking care of the 1.4.x series (formerly branches/lighttpd-1.4.11-ssl-fixes). "[1352]":// got commited to the 1.4.x-branch to fix a crash in 1.4.12.

RELEASE: Lighttpd 1.4.12

I’m very proud to announce the release of 1.4.12.

After 8 pre-releases and several cross-compiles and test-runs no new bugs were found and you should have a solid and stable release in your hands.

Over the 1.4.11 was available for download (03/2006 – now) the number of lighty installations raised from 27 103 to 120 442 according to That’s amazing. It was important for us to create a release is good enough to replace 1.4.11.

This release fixes several long-standing bugs like

  • SSL hangs with Opera (we added work-around for a bug in Opera)
  • a long list of fixes for SSL in general
  • added ssl.use-sslv2 and ssl.cipher-list for all who have to
    comply with PCI

and only added a 2 really new features:

  • (experimental) LOCK support for webdav
  • mod_magnet as long-term replacement for mod_cml

On mod_cml:

  • mod_cml is deprecated from now on
  • it will be removed in 1.5.0
  • mod_magnet provides the same functionality and more with a
    cleaner syntax and in a more generic form


  • lighttpd-1.4.12.tar.gz MD5: 8f6756452138f5da384251f849b329f2