High-performance HTTP servers are often benchmarked primarily by their peak requests per second. For a REST server, however, peak throughput is only part of the story. A server also needs to remain responsive when requests have very different execution times: some may complete in a few microseconds, while others may spend milliseconds waiting for a database, a remote service, or some other slow operation.

The mORMot 2 asynchronous HTTP server was one of the fastest in the TFB benchmark. But it was designed as a scalable REST server. Our project has recently received two related improvements in this area: a closer look at its memory allocation behavior, and a refined thread smoothing mechanism for waking worker threads on POSIX systems.
















