Aerospike 集群压测

Aerospike 集群压测

概述

我大约是在Aerospike开源后1个月后开始关注它。 查看了其官方介绍,被其描述的性能数据给震撼了。 进一步了解,发现起提供的数据结构完全可以和redis媲美。 抱着好奇的心态去看看,其优点可以借鉴。说实话,其代码可读性不敢恭维。经过断断续续的查看代码,发现它确实有很多有趣的地方,值得仔细分析。趁着元旦放假,来压它一把。

压测场景

由于持久化引擎代码还没有看完,今天就只压测Cache集群的场景。将Aerospike集群部署在2个测试机器上,数据保存1份,全在内存中(即Aerospike as Cache)。这是比较典型的Cache场景。

使用YCSB来压测集群。

测试机器配置

内存: 192G
SSD磁盘: 500G X 11
CPU: 24cores
网卡:千兆双网卡(负载均衡)

部署方式

采用源码编译的方式,将Aerospike部署在两个节点上。作为Cache集群,数据无需落在磁盘上,并且数据只存储1份。

将压测工具YCSB部署在4个相同配置的机器上。压测节点和部署服务节点都在同一个机房。

压测数据收集

压测数据主要有2方面,一方面来自YCSB的输出;另一方面,来自aerospike集群的monitor工具收集。将这些数据简单的整理成图表,希望能够直观的呈现压测结果。

安装KV长度,链接数, 读写比例3个维度多次测试,并收集数据。
将YCSB部署在4个测试机器上,每个机器上起一个YCSB instance, 并均分每个链接数。
收集包括,server端CPU利用率,负载(3分钟平均负载),单机OPS,YCSB输出的平均RT,Server端分别统计到的RT超过1ms,8ms和64ms的请求数的百分比。

读写比0:1压测

Aerospike 集群压测_第1张图片

读写比1:1压测

Aerospike 集群压测_第2张图片

你可能感兴趣的:(Aerospike)