Memcached is a commonly used lightweight key-value store, often used as a cache for pre-rendered page elements and session data in web applications.

Seastar memcached is a high-performance implementation of the standard memcache protocol for modern hardware.

chart

All servers are running on Linux.

Designed for high throughput

While memached alone is a relatively simple workload, in typical server deployments a majority of CPU time for memcached servers is consumeed in the OS networking stack and in complex locking among threads.

Seastar applications use a shared-nothing model that shard all requests onto individual cores. Seastar runs one application thread per core, and depends on explicit message passing, not shared memory between threads. This design avoids slow, unscalable lock primitives and cache bounces.

Memory allocation designed for multicore

Unlike conventional OS and C library memory management, the Seastar memory allocator is:

The result is an unbeatable memcache implementation. Use fewer cloud resources for this important “commodity” service, and have room to scale for the future.