Projects / ServerKit


ServerKit helps developers quickly build efficient, scalable, and uniformly configured, installed, and executed multi-threaded server applications for Linux. A core server program handles configuration parsing, database connection pool creation, and switching of users. Application-specific modules are loaded at runtime and access the already parsed configuration data and database connection pools via simple well-defined program interfaces. ServerKit also provides a rich API for quick and painless module development.

Operating Systems

Recent releases

  •  10 Oct 2008 08:36

    Release Notes: Some compiler warnings showing up with newer gcc versions have been eliminated. The license has been changed from the GPLv2 to LGPLv2.1. Minor build system improvements and a new entry in the FAQ assisting Ubuntu builds have also been added.

    •  12 Feb 2008 01:24

      Release Notes: This release adds the ability to delay work with only a timer in the thread pool delayed work manager. Previously, you could only accompany a timer with a file descriptor waiting for I/O as well.

      •  27 Dec 2007 19:55

        Release Notes: A server_db_query() reconnect bug with MySQL versions higher than 5.0.3 has been fixed. On new versions of libmysqlcient, the auto-reconnect default was changed to disabled, breaking ServerKit.

        •  04 Dec 2007 18:43

          Release Notes: The license has changed from HPLv1.1 to GPLv2. Efficiency of logging has been improved. Personality statistics reporting bugs have been fixed and formatting improved. The thread pool creation and wchan API was changed to facilitate efficient wchan profiles in statistics reporting. The module interface report() method was changed to include a stdio stream where reports will be sent. The delayed work interface was changed to include an events mask reflecting what ended the delay on resumed work. The documentation was updated to reflect all these changes.

          •  27 Nov 2007 00:49

            Release Notes: A new option has been added to server_thread_pool_new() and server_queue_new() for enabling caller-supplied queue space. Some server_heap_t cleanups have been done to improve efficiency.

            Recent comments

            05 Nov 2007 14:55 swivel

            Re: Blog review/commentary on ServerKit
            After contacting the above mentioned author, the source of his module was obtained and permission to redistribute it under the terms of the GPLv2 was granted.

            This authors experiment became Shttp ( which has since evolved into a featureful nearly rfc compliant web server. This was done while maintaining a small size and fantastic performance.

            06 Mar 2007 21:53 swivel

            Blog review/commentary on ServerKit
            A friend discovered this informative blog entry written by someone who put ServerKit to the test. Unfortunately (for most of us english-speakers), it's in chinese.

            Here is the original post (

            Google translate to english link (

            An excerpt from the translated version:

            ServerKit efficiency is beyond reproach. I use it to write a simple Web service procedures (a basic GET/POST. keep-alive support), the tests found 7200Reqs/s ab. but also in my Dell D610 run on the SUSE 10.1 and KDE, a running gaim. kmail, okboy other large office procedures.


            Project Spotlight


            A Fluent OpenStack client API for Java.


            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.