memcache、redis、tair性能对比测试报告

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

memcache、redis、tair性能对比测试报告第1章限制条件

前一周所做的分布缓存技术预言中有包括ehcache、memcache、redis、tair,还包括了基于MongoDB的分布式技术。测试中,考虑到各自功能的差异化特点,其中选择了memcache、redis、tair功能特性相近的缓存服务器进行性能对比,所以ehcache、MongoDB将不做为本次测试的规范,其原因如下:

1)Ehcache是组件级别的缓存,要搭建一个独立的缓存服务器,需要用到ehcache server 模块,这是个war包,能运行在web 容器中,决定整个缓存服务器性能的好坏因素太多,比如web服务器,集群方式等。跟memcache、redis、tair没有对比性。

2)MongoDB是面向文档的数据库,跟缓存没有可比性。

第2章测试场景概述

性能测试包括单机环境和分布式环境,主要针对memcache、redis、tair各缓存服务器在缓存了不同级别的数据下,多个线程并发操作向缓存set/get缓存数据,考虑到网络方面的负载,又将每次set/get操作的缓存数据的大小分为三个不同的级别:1KB,10KB,100KB,通过对上述的条件进行排列,取得以下的测试场景。

第3章单机环境测试

3.1. 测试场景:

1.当各缓存的数据库空时,以单线程通过各缓存客户端set调用向服务端推送数据,比较

10000操作所消耗的时间,以上动作通过使用不同大小的单个缓存对象重复三次。2.在场景一完成的情况下,以单线程通过各缓存客户端get调用向服务端获取数据,比较

10000操作所消耗的时间,以上动作通过使用不同大小的单个缓存对象重复三次。3.并发200个线程通过缓存软件的客户set调用向服务端推送数据,每个线程完成10000

次的操作,比较服务器的tps大小,以上动作通过使用不同大小的单个缓存对象重复三

次。

4.并发200个线程通过缓存软件的客户get调用向服务端获取数据,每个线程完成10000

次的操作,比较服务器的tps大小,以上动作通过使用不同的key取不同大小的数据,重复三次。

3.2. 测试环境

3.3. 测试结果

1.当各缓存的数据库空时,以单线程通过各缓存客户端set调用向服务端推送数据,比较

10000操作所消耗的时间,以上动作通过使用不同大小的单个缓存对象重复三次。

2.在场景一完成的情况下,以单线程通过各缓存客户端get调用向服务端获取数据,比较

10000操作所消耗的时间,以上动作通过使用不同大小的单个缓存对象重复三次。

3.在场景一完成的情况下,缓存服务器有数据,并发1000个线程通过缓存软件的客户set

调用向服务端推送数据,每个线程完成10000次的操作,比较各服务器的tps大小,以上动作通过使用不同大小的单个缓存对象重复三次。

4.在场景三完成的情况下,缓存服务器有数据,并发1000个线程通过缓存软件的客户get

调用向服务端获取数据,每个线程完成10000次的操作,比较各服务器的tps大小,以上动作通过使用不同的key取不同大小的数据,重复三次。

第4章分布式环境测试

4.1. 测试场景:

1.当各缓存的数据库空时,以单线程通过各缓存客户端set调用向服务端推送数据,比较

10000操作所消耗的时间,以上动作通过使用不同大小的单个缓存对象重复三次。2.在场景一完成的情况下,以单线程通过各缓存客户端get调用向服务端获取数据,比较

10000操作所消耗的时间,以上动作通过使用不同大小的单个缓存对象重复三次。3.在场景一完成的情况下,缓存服务器有数据,并发1000个线程通过缓存软件的客户set

调用向服务端推送数据,每个线程完成10000次的操作,比较各服务器的tps大小,以上动作通过使用不同大小的单个缓存对象重复三次。

4.在场景三完成的情况下,缓存服务器有数据,并发1000个线程通过缓存软件的客户get

调用向服务端获取数据,每个线程完成10000次的操作,比较各服务器的tps大小,以上动作通过使用不同的key取不同大小的数据,重复三次。

4.2. 分布式环境

memcache

tair configserver

tair dataserver

redis

4.3. 测试结果

1.当各缓存的数据库空时,以单线程通过各缓存客户端set调用向服务端推送数据,比较

10000操作所消耗的时间,以上动作通过使用不同大小的单个缓存对象重复三次。

2.在场景一完成的情况下,以单线程通过各缓存客户端get调用向服务端获取数据,比较

10000操作所消耗的时间,以上动作通过使用不同大小的单个缓存对象重复三次。

3.在场景一完成的情况下,缓存服务器有数据,并发1000个线程通过缓存软件的客户set

调用向服务端推送数据,每个线程完成10000次的操作,比较各服务器的tps大小,以上动作通过使用不同大小的单个缓存对象重复三次。

4.在场景三完成的情况下,缓存服务器有数据,并发1000个线程通过缓存软件的客户get

调用向服务端获取数据,每个线程完成10000次的操作,比较各服务器的tps大小,以上动作通过使用不同的key取不同大小的数据,重复三次。

相关文档
最新文档