Memcached Redis Membase性能测试对比分析

来源:互联网 发布:淘宝店铺头像去哪改 编辑:程序博客网 时间:2024/05/17 07:19
最近在在调研分布式缓存,希望后面能够当前改进项目中缓存的使用。这个测试结果可能出乎大家的意料之外哦。

测试结果对比分析
单次读写访问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;
同一台服务器,相同客户端软件,测试数据完全相同。

           测试结果数据
写入数据耗时(数据长度Memcached Redis Membase  Memcached Redis Membase    1.4.15 2.4.17 1.7.2  1.4.15 2.4.17 1.7.2    1K 1M, 1M, 1M,        578885974752835102417.6893311217.1389358519.38109208每秒写入的数据量,单位:MB/s5653158347515961,024,00017689.3311217138.9358519381.09208每次写请求数,单位:次/秒10K 100K, 100K, 100K,        148131625418489102469.1284682462.9998769555.38428255每秒写入的数据量,单位:MB/s144659158732180560102,4006912.8468246299.9876955538.428255每次写请求数,单位:次/秒100K 10K, 10K, 10K,        85139347333201024120.2866205109.553867630.73229292每秒写入的数据量,单位:MB/s831411912862325399110,2401202.8662051095.538676307.3229292每次写请求数,单位:次/秒10~100K(混搭100K, 100K, 100K,        6074336703127295102416.8579095527.899626738.044306532每秒写入的数据量,单位:MB/s5931993584351243120102,4001685.7909552789.962673804.4306532每次写请求数,单位:次/秒建立1G缓存数据。条目数,总响应时间,平均操作响应时间        
随机读数据耗时(数据长度Memcached Redis Membase  Memcached Redis Membase    1.4.15 2.4.17 1.7.2  1.4.15 2.4.17 1.7.2    1K 1M, 1M, 1M,       5237552459127402102419.5513126519.52000618.037550431每秒读取的数据量,单位:MB/s51147512291244161,024,00019551.3126519520.00618037.550431每次读请求数,单位:次/秒10K 100K, 100K, 100K,        115231101328916102488.8657467792.9810224335.41292018每秒读取的数据量,单位:MB/s112538107557282387102,4008886.5746779298.1022433541.292018每次读请求数,单位:次/秒100K 10K, 10K, 10K,        67153331466210241526.080477192.012000869.84040376每秒读取的数据量,单位:MB/s65584520805143188610,24015260.804771920.120008698.4040376每次读请求数,单位:次/秒10~100K(混搭100K, 100K, 100K,        435418978669881024235.186035853.9572136215.28631994每秒读取的数据量,单位:MB/s42521185334654182102,40023518.603585395.7213621528.631994每次读请求数,单位:次/秒1G缓存数据,80%命中率。条目数,总响应时间,平均操作响应时间        

并发写入数据耗时(数据长度Memcached Redis Membase  Memcached Redis Membase    1.4.15 2.4.17 1.7.2  1.4.15 2.4.17 1.7.2    1K 1M, 1M, 1M,        339963818942217102430.1211907326.8140040324.25563162每秒写入的数据量,单位:MB/s3319937294412281,024,00030121.1907326814.0040324255.63162每次写请求数,单位:次/秒10K 100K, 100K, 100K,       172201195321297102459.4657375185.6688697448.08188947每秒写入的数据量,单位:MB/s168167116729207980102,4005946.5737518566.8869744808.188947每次写请求数,单位:次/秒100K 10K, 10K, 10K,        82749282195471024123.7611796110.321051552.38655548每秒写入的数据量,单位:MB/s803385901236189780210,2401237.6117961103.210515523.8655548每次写请求数,单位:次/秒10~100K(混搭100K, 100K, 100K,        35626Redis服务器异常 等待时间过长,强制终止测试。 102428.74305283  每秒写入的数据量,单位:MB/s347915  102,400287.4305283  每次写请求数,单位:次/秒10K, 10K, 10K,        5925473394381024172.8270042216.3532643108.497563每秒写入的数据量,单位:MB/s57532445959791635510,2401728.2700422163.5326431084.97563每次写请求数,单位:次/秒100用户并发。条目数,总响应时间,平均操作响应时间。        测试时memcachedmembase都比Redis服务器的cpu占用率更高。100K条数据时Redis服务器异常。        

随机读数据耗时(数据长度Memcached Redis Membase  Memcached Redis Membase    1.4.15 2.4.17 1.7.2  1.4.15 2.4.17 1.7.2    1K 1M, 1M, 1M,       221698733853507380679102,40046.1888139230.2479802713.87406226每秒读取的数据量,单位:MB/s216503306072076102,400,00046188.8139230247.9802713874.06226每次读请求数,单位:次/秒10K 100K, 100K, 100K,        6522567207021435458102,400156.9935731142.083690671.33611711每秒写入的数据量,单位:MB/s636967038114018110,240,00015699.3573114208.369067133.611711每次写请求数,单位:次/秒100K 10K, 10K, 10K,        18131368308652795102,4005647.785561278.0281721156.8639466每秒写入的数据量,单位:MB/s176033575816337811,024,00056477.855612780.2817211568.639466每次写请求数,单位:次/秒10~100K(混搭100K, 100K, 100K,        195548Redis服务器异常 等待时间过长,强制终止测试。 102,400523.6565958  每秒写入的数据量,单位:MB/s19096  10,240,0005236.565958  每次写请求数,单位:次/秒10K, 10K, 10K,        209995194644304595102,400487.6306579526.0886542336.1841133每秒写入的数据量,单位:MB/s20387918897529572310,240,0004876.3065795260.8865423361.841133每次写请求数,单位:次/秒100用户并发。条目数,总响应时间,平均操作响应时间 
0 0
原创粉丝点击