脚本:
#!/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