14 Jun 2002 pphaneuf   » (Journeyer)

raph: Thanks for your last diary entry, it was really interesting and full of good links to other interesting things full of good links.

This is in fact of the things I want to use XPLC for, building small, high performance servers, mostly event-driven, using message passing (similar to what David McCusker describes here) between processes for scaling on SMP systems. XPLC comes in when I want to make things even smaller and faster by putting multiple servers in the same single-threaded event-driven process, sharing as much stuff as possible. For example, you could build a server with HTTP, SMTP, IMAP and POP3, all sharing common information, including HTTP giving you a webmail interface.

I still can't believe that we can't publish a medium-low traffic interactive website on an inexpensive single process box. All you see is dual this and cluster that, with RAM going around in gigabyte slices, and still getting a slow site in the end. Try this little experiment with your web server: open up a thousand connections, but don't do anything with them, just keep a thousand idle connections open to your web server, then access one page (one thousand completely inactive users and a single active user). Watch your server crawl to deliver a single 8K file to the lone active user. Something is wrong.

I'm taking goingware's advice and testing this high-performance single-process component-based server stuff on my 486DX4/120 with 80 megs of RAM.

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!