基于ab的并发压力测试脚本

脚本:

#!/bin/bash
rm -rf *.log

for i in {1..5}
do
        ab -n 1000000 -c 800 -k http://172.20.3.10/ > $i.log &
done

wait
cat *log | grep "per second" | awk -F'[^0-9]+' '{s+=$2} END {print s}'

几个改进点:

  • 使用keepalive
  • 单个ab是有性能上限的,所以5个并发之行
  • 全部执行完毕后,自动合并统计结果

当然,这里结果有一些偏差,毕竟进城不是完全同时启动 / 结束的。

顺道记一下在阿里云的压测结果,用的8核16G的机器,阿里云内核,型号ecs.g6.2xlarge

  • Nginx,单机22万
  • LVS (full nat、lc) -> 2 x Nginx,40w
  • LVS (full nat、lc) -> 3 x Nginx,58w

Leave a Reply

Your email address will not be published. Required fields are marked *