/var/adm/blog
Memcached Java Client Performance on OpenSolaris: Part II
Happy New Year! I hope 2009 will be a great year for all of you!
As for me, I am starting out 2009 the same way I finished 2008 ... looking at the performance of the Spy and Whalin Memcached clients on OpenSolaris. Today I re-ran nearly the same scenario that I discussed in my Dec 22nd blog entry (you'll have to read the blog for all the details) but with one major difference, I increased the size of the cache entries being placed into the cache. In my earlier tests, the entries I was storing into the cache were pretty small --varying from 768 bytes to 1,280 bytes. This time, I increased the size of the cache entries to 30,800 bytes. While a 30KB file is not exactly large, it is large enough to ensure that both clients will compress the data before sending it to the Memcache server.
The data for this new scenario is captured in the table below. The workload used in this scenario consisted of 90% get operations and 10% set operations. All get operations were 'bulkGet' operations that each requested 100 entries from the cache.
| Whalin 2.0.1 | Spy 2.2 | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Threads | Ops/Sec | setLatency | getLatency | cpu % busy | NIC Saturation | Ops/Sec | setLatency | getLatency | cpu % busy | NIC Saturation |
| 1 | 43 | 1.3 | 25.6 | 26 | 0.4% | 45 | 1.6 | 24.0 | 26 | 0.4% |
| 10 | 91 | 6.1 | 121.2 | 99 | 0.9% | 115 | 9.5 | 95.3 | 98 | 1.2% |
| 20 | 91 | 12.3 | 242.9 | 98 | 0.9% | 114 | 18.9 | 192.8 | 98 | 1.2% |
| 30 | 89 | 26.3 | 371.9 | 99 | 0.9% | 101 | 44.4 | 321.2 | 90 | 0.9% |
| 40 | 87 | 37.8 | 511.9 | 98 | 0.8% | 14 | 140.7 | 1913.4 | 14 | 0.1% |
| 50 | 86 | 56.2 | 645.0 | 98 | 0.8% | 9 | 307.0 | 4235.3 | 9 | 0.5% |
As we can see, in this scenario, the performance of the Whalin client is much closer to that of Spy than in the non-compression/small-data scenario. When using small cache entries, the Whalin client performed at approximately 75% of the rate of the Spy client, where as in this scenario, we see that the clients are fairly equally matched in terms of ops/second as well as resource utilization and that somewhere between 30 and 40 threads the Whalin client exceeds the performance of the Spy Client (although, since both clients appear to plateau around 20 threads, not sure there is much gained by running over 30 threads).
Posted at 10:05PM Jan 06, 2009 by Eric Lambert in Memcached | Comments[0]