/var/adm/blog

Tuesday Jan 06, 2009

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).  

Calendar

Feeds

Search

Links

Navigation

Referrers