elastic_search压测

1.压测对象

resin3

压测目标:分页查询用户全量订单接口
1.2台resin http服务  (测试环境 resin3 默认配置,未调优)
2.2台dubbo 服务 (测试环境 4g内存 provider 600线程)
3.5台elastic_search集群 ssd硬盘 (将上线的es)

jetty8

压测目标:分页查询用户全量订单接口
1.2台resin http服务  (测试环境 jetty8 默认配置,未调优)
2.2台dubbo 服务 (测试环境 4g内存 provider 600线程)
3.5台elastic_search集群 ssd硬盘 (将上线的es)

2.压测工具

siege 2.7.0

3.压测方式

单台虚拟机性能较弱,能够tcp链接数和Linux进程数量有限。采用多机压测,统计平均结果的方式

每台压测机上的脚本

siege -c $1 -r $2 --log=/data/pressure_test/data.txt --header "Cookie: cookie登录的标识" -f /data/pressure_test/url.txt
$1     启动的线程数量
$2    每个线程请求的数量
/data/pressure_test/data.txt        压测结果数据文件
/data/pressure_test/url.txt        将要压测的url

压测脚本部署在5台压测机器上,由中控机控制并发访问

*.143
*.144
*.145
*.107
*.28    

中控机启动脚本,使用后台启动,保证每台压测上脚本并发执行

ips=`cat /root/pressure_test/ips`
for ip in $ips
do
    {
        ssh $ip "sh /data/pressure_test/pressure_test.sh $1 $2 > temp.log"
    }&
done
wait

4.resin3与jetty8下的ES查询压测对比

QPS

横坐标为同时请求的并发数量,纵坐标为接口实际每秒查询率QPS

响应率

横坐标为同时请求的并发数量,纵坐标为接口实际响应率

响应时间

横坐标为同时请求的并发数量,纵坐标为接口实际平均响应时间

resin在默认配置下,2台在3200并发下为极限性能,qps达到2k,然后急速下滑,响应率下降,响应时间突增。

jetty在默认配置下,2台在3600-5200并发为基本可以维持3k左右qps,响应率100%,响应可以维持在1s内。在5600并发下为极限并发,开始出现响应率下降,响应时间突增的现象。