Memcached Performance

Environment (Single Machine)

Benchmark

These tests use 5000 items (random key, random data) that are stored in cache and later retrieved in multiple threads.

Text Protocol

Operation 1 Thread 2 Threads 4 Threads 8 Threads
GetString 6.19krps 12.32krps 18.65krps 20.04krps
GetPerson (using Microsoft BinaryFormatter) 5.06krps 10.11krps 15.24krps 17.13krps

Binary Protocol

Operation 1 Thread 2 Threads 4 Threads 8 Threads
GetString 9.37krps 16.32krps 23.91krps 26.79krps
+51.37% +32.47% +28.20% +33.48%
GetPerson (using Microsoft BinaryFormatter) 6.74krps 13.19krps 19.56krps 21.67
+33.20% +30.46% +28.35% +26.50%

Environment (Two Machines)

Client

Server

Benchmark

These tests use 10000 items (random key, random data) that are stored in cache and later retrieved in multiple threads.

Text Protocol

Operation 4 Thread 8 Threads 16 Threads 20 Threads
GetString 11.18krps 23.91krps 30.25krps 29.67krps
GetPerson (using Microsoft BinaryFormatter) 9.72krps 18.44krps 21.66krps 21.29krps

Binary Protocol

Operation 4 Thread 8 Threads 16 Threads 20 Threads
GetString 13.78krps 30.57krps 43.50krps 40.98krps
+23.26% +27.85% +43.80% +38.12%
GetPerson (using Microsoft BinaryFormatter) 12.00krps 30.57krps 29.41krps 30.10krps
+23.46% +65.78% +35.78% +41.38%