Performance Comparison between Java Memcached Client
There are several memcached clients
written in java programming language, including spymemcached,
Java-MemCached , Xmemcached and memcached-client-forjava(A
optimiezed Java-MemCached) etc.
The performance numbers of the 4 open
source memcached clients and schooner memcached client are presented
here to help you make choice.
Test Scenario
Single memcached server runs on a linux
machine.
A java client connect to memcached
servers,then start numbers of threads to repeat themself to store and
retrive data from memcachd concurrently,write 50% and read 50%,with no
miss rate.
Test Environment
- Software
- 1 Memcached Servers
- Version is 1.4.3, default install configuration.
- Start with option "-p 12000 -m 2048"
- Java Client
- JVM Version: Sun JDK 1.6.0_10 x86_64
- Both memcached text protocol and binary protocol is
covered(if supported).
- Schoonermemcached 1.0.2, max connection number eq thread number. (binary/udp
protocol supported)
- xmemcached 1.2.0 stable, connection pool size eq thread number. (binary protocol supported)
- Spymemcached 2.5rc1,default configuration. (binary protocol
supported)
- Whalin java client 2.0.1, max connection number eq thread number.
- Asfmemcached 2.5.2, max connection number eq thread number.
- JVM args: -server -Xmx1024m
- Xmemcached and Spymemcached are asynchronized implementations.So they have to set
operation timeout,both are set to 3 seconds.
- Hardware
- Server
- CPU: 8 x Intel(R) Xeon(R) CPU X5450 @ 3.00GHz
- O/S: 2.6.28.9 x86_64 GNU/Linux (CentOS release 5.2)
- RAM: 50 GiB
- NIC: 10G QLogic network
- Client (Hostname: Serpent)
- CPU: 8 x Intel(R) Xeon(R) CPU X5450 @ 3.00GHz
- O/S: 2.6.26.5 x86_64 GNU/Linux (CentOS release 5.2)
- RAM: 16 GiB
- NIC: 10G QLogic network
Test Result
Client and Servers on Different Machines
Part1 Compare by threads number
<
Part2 Compare by value size