最近在在调研分布式缓存,希望后面能够当前改进项目中缓存的使用。这个测试结果可能出乎大家的意料之外哦。
测试结果对比分析
单次读写访问Memcached最快,Redis居中,Membase最慢;
单次读写Membase和Redis速度比较接近,Membase耗时为Redis的2倍以上;
缓存的数据块越大,单次读写时间越长;
对于较大数据块(100K)的读写,Memcached相比Redis和Membase读写速度优势非常明显,平均单次读写耗时相差分别将近20倍和40倍;
用户角度看到的响应时间与“缓存单次读写平均响应时间”和“用户每秒读写次数”和“总的用户数”都有关系;
从测试数据来看,Memcached,Redis和Membase缓存的访问速度都不会成为瓶颈;
测试目的
•了解memcached、redis、membase在实际环境运行中的效果;
•分析三种缓存方式的读写效率;
•分析三种缓存方式能够支持的并发能力;
测试方案
Memcached、Redis、Membase使用默认配置,关闭redis的持久化和VM功能,限制总的缓存量1G(字节);
有限数量(100)用户并发访问;
缓存不过期,命中率80%;
三种数据长度(1K,10K,100K),考虑数据混搭;
使用Memcached 1.4.15和libevent 2.0.20版本,客户端使用gwhalin 2.6.6版本;
使用Redis 2.4.17版本,客户端使用jedis 2.1.0版本;
使用Membase 1.7.2版本,客户端使用Couchbase 1.0.3版本;
测试场景
单个用户访问,测试缓存读写能力;
100个用户并发访问,测试缓存读写能力;
测试环境说明
服务器软件版本:CentOS release 5.5(Final) ;
CPU:4核64位Intel(R) Xeon(TM) CPU 3.60GHz;
内存:8G;
同一台服务器,相同客户端软件,测试数据完全相同。
测试结果数据
|