多机压测 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并发下为极限并发,开始出现响应率下降,响应时间突增的现象。