lighty's life

lighty developer blog

Faster FastCGI

While I was throwing away from bogus data-copy operations from the mod-proxy-core code I stumbled over a simple question:

Why do we copy the HTTP response data from the backends at all ?

We are just forwarding them in most cases without touching them.

COMET Meets Mod_mailbox

Some time ago we got a request on how to implement COMET with lighttpd. I responded with a idea about a mod_multiplex which would allow the let the client open a COMET-channel and give the backend the possibility to feed multiple channels at once with the client to poll for new data.

Basicly it would separate the HTTP Request-Response cycle from the underlying connection. HTTP would be used to open the connection and reopen it in case it went away, but otherwise it would be just a data-channel for your JavaScript/AJAX content we want to send to the client when WE (the content-provider) want.

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. :)