DBMail 2.3.3 released

Monday, June 2. 2008

DBMail just received a huge performance boost: version 2.3.3 released today features a shiny new networking/database core.

The new shared database connection pool drastically reduces the number of database connections (and backend network sockets) required to serve large amounts of concurrent frontend users.

The frontend itself, meanwhile, has been rewritten as an asynchronous event-driven process.

Combined, these changes provide solid fundamentals for a future 2.4.x release series focused on performance and scalability.

Continue reading "DBMail 2.3.3 released"

Multifoo lift-off

Friday, May 23. 2008

Today I've reached a major milestone in the multifoo rewrite.

For those of you who don't know what I mean by multifoo; It's a term that was coined (afaik) by Aaron Stone to describe a server design for dbmail with multi-plexed asynchronous network IO and multi-threaded command processing.

Last week I found a pattern to make all IMAP commands run in the thread-pool to keep them from blocking the main thread. But somehow I kept being bitten by heisenbugs which made me have to reconsider. Last night however I had an epiphany; there were still some calls used while running in the threadpool that send data over the network. The bug was quickly fixed today, and my design saved. Imaptest now doesn't generate anymore errors, and basic message browsing works using thunderbird.

I can now start testing more fat clients such as thunderbird and outlook against what should become a release candidate for 2.3.3. Looking very good indeed.