Redis KVStore 在阿里云环境下的性能报告及问题

来源:互联网 发布:软件造价评估公司 编辑:程序博客网 时间:2024/05/21 09:50

 我公司正在开发的系统,架构上采用Redis作为消息交换的中间件,通过Redis的简单消息队列功能,即可将多个服务组成一个群集。

 最近系统已完成架构,并进行性能验证。

 性能测试过程中,在系统需要较高的吞吐量时(如  10000TPS), 多个服务堵塞在 Redis的数据交互上。

 为得到Redis 在不同场景下的极限性能,在阿里云环境下进行了验证性测试

  测试环境:

     运行环境:单台阿里云 ECS 低端机,1CPU 4Core(GenuineIntel Intel(R) Xeon(R) CPU E5-2650 v2 @ 2.60GHz), 4G RAM,20G本地硬盘(IO优化)

     系统软件:CentOS 6.5 64Bit, Java 1.7.0_85 64Bit

     Redis版本: Redis 2.8.20 (00000000/0) 64 bit     


 测试场景: 

     1、使用 Redis 自带的 redis-benchmark工具按缺省条件进行基准性能测试

     2、在阿里云环境下测试三种场景

            a)  redis-server 与 redis-benchmark 部署在同一台机器上

            b) redis-server 与 redis-benchmark 部署二台机器上,同一网段

            c)  购买阿里云提供的 KVStore for Redis替换 b)方案中的 redis-server

   测试结果:

Redis-benchmark缺省性能测试用例本地跨机KVStore for RedisPING_INLINE    124,533     76,104             37,836PING_BULK    123,001     76,864             37,879SET    123,916     76,278             37,636GET    123,457     75,075             37,439INCR    123,457     70,972             37,722serialincr    122,850     69,204             37,327LPUSH    123,305     71,174             37,313LPOP    122,850     71,073             37,908SADD    124,378     71,429             37,750SPOP    122,100     71,124             37,893LPUSH (needed to benchmark LRANGE)    123,305     73,855             37,679LRANGE_100 (first 100 elements)    124,069     77,340             37,893LRANGE_300 (first 300 elements)    123,457     78,064             37,951LRANGE_500 (first 450 elements)    123,762     76,982             37,300LRANGE_600 (first 600 elements)    124,533     75,358             37,636MSET (10 keys)    120,192     65,833             37,665

数据分析:
  本机模式下, Redis性能高效,12万TPS
  跨机模式下,性能下降一半,约为7万
  使用KVStore,性能再下降一半,约为3.7万
  网络上的消耗比较大? KVStore基本不能用,还不如自行部署Redis

问题:

     阿里云OS是否在不同机器的网络通讯上进行拦截、过滤、安全控制等操作,导致同一网段机器间网络交换时效率不高?



0 0
原创粉丝点击