-
-
Notifications
You must be signed in to change notification settings - Fork 604
OSv Case Study: Memcached
Memcached is a popular in-memory key-value store. It is used by many high-profile Web-sites to cache results of database queries as well as larger page sections, to significantly boost these sites' performance.
Memcached is a good case study for OSv for several reasons:
- It is a real and very popular application, on both physical servers and the cloud. It is not a toy application or a benchmark.
- Memcached has high demands from the operating system. It needs to handle a huge number of concurrent TCP or UDP requests, it needs to manage a lot of memory filled with small object, and it needs to have as much as possible free memory for the actual data. We believe that OSv is a better operating system for applications on the cloud, so we expect that a "memcached appliance" (VM) in the cloud build on OSv can significantly outperform the traditional Linux-based solution.
- The peak throughput (requests-per-second) of a memcached server is normally limited only by the efficiency of the software (OS and memcached). It is not limited by unrelated factors like disk speed.
As we show below, the performance of an OSv-based memcached VM is significantly better than what is achievable on a Linux-based VM. The standard memcached performed better on OSv than on Linux (answering XX% more requests per second). But OSv can do even better, by not being bound by the 30 year old Unix networking APIs available on Linux; As we shall show below, we can show a whopping YY% improvement over the Linux+Memcached baseline by writing a memcached server using the lower overhead APIs available in OSv.
udp (mention facebook, etc.). memaslap.