The Server

January 30, 2007

Back in the days of February 2003 I (Jan) was finishing my thesis. Writing a thesis is as far as I can say the most frustrating job you can do.

While my subject was great (‘Development of a handheld system to monitor and control CAN-bus systems in a non-automative environment’) and the hard- and software development was a real challenge I had to write the thesis which documented the design-decision, the preparations and so on.

For a developer this is the real hard part: writing the documentation. Especially as the date when you have to finish the thesis gets nearer every day. To motivate yourself you need a distraction.

For me it was a proof-of-concept of the c10k problem written by Dan Kegel. How to handle 10000 connections in parallel on one server. I already had seen apaches killing systems because they ran out of memory into swap with only 100 parallel connections.

In the first weeks it was only a challenge how to write something fast, optimized. In the ChangeLog you can still see my comments how to achieve this. Cache as much as you can. Why regenerated the timestamp for the ‘Date:’ header 1000 times per second if it is the same all the time ?

As I needed PHP support for my own purposes it was one of the first features added. The ChangeLog says I had it working two weeks are the rest was done. Including the load-balancing to distribute the load from one webserver to multiple fastcgi-backends.

At one point I asked myself: This is just a proof-of-concept. Where are we now ? How do we compare to the other servers ?

The first opponent was thttpd, the big single-threaded webserver. Especially on large files we outperformed it 2 to 5 times. Next were boa and mathopd, both with problems and slower. Zeus was the first real challenge and they proof that Zeus is a great webserver. If you want to spend money on a webserver (next to asking me to develop something for you) is buying licenses from Zeus. (no, I’m not payed by them in any way).

Different optimisations were added: new event-handlers like epoll and kqueue, new network backends like sendfile().

So, I look back now on 2.5 years of development see the numbers of installations rising every month. http://news.netcraft.com/ is telling as every month that the numbers are still increasing and I send a mail to the mailinglist, so everyone know and keeps up the joy that this little proof-of-concept went into a well working webserver.

The Logo

January 30, 2007

The logo of lighttpd was choosen after a logo contest in April and May 2005). Several submissions have been reviewed and the users of lighttpd selected three logos for the final decision.

the big logo for lighttpd

the small 80x27 banner

the favicon.ico

The logo is based on the design from http://www.endturn.com/ and was modified later by http://www.openartist.net/ to simply Phu nice ideas to a logo-types.

Paul wrote about his submissions:

Hello,

So this is a very late entry, I thought I’d send it anyway.

Basically I was inspired by the work of Endturn and spoke to them about “remixing” their design. I thought this was an intersting concept considering everything is released under the CC 2.0 license. And in a way I think it just opens up these kinds of contests in ways that have yet to be explored.

To explain my design a bit…

I really like the idea of a paper airplane as it very directly relates 3 main ideas:

lightweight, vertical movement, and freedom. You could also argue that from the position of the paper airplane one has more perspective and objectivity, and so on. However when I saw the design I felt that it could be treated so that it would have more visual weight that would ground it (no pun intended).

I also had trouble with the name Lighttpd and decided to make it easier for others I would translate it through the type solution so what you have is Light-TPD, not Lighttpd which is impossible to pronounce as a single word.

Anyway that helps all those people walking around asking, “Have you heard of Ligh….something?” And I took the liberty of creating a new tagline and catch-phrase that plays off the idea of flight (the domestic kind) and instills that feeling of freedom, that you don’t have a lot of baggage…“Fly light.”

Hope you enjoy the designs, goodluck with your project in the future.

Lastly, remember kids, people judge books by their cover.

Paul @ openartist.net