tcpcopy分布式压力测试,效果堪比真实压力,远胜ab(注意采用的工具是tcpcopy 0.5以下的版本)

在12,13,14,15 在线服务器部署tcpcopy client,集中向148测试
148机器:
20663 root      15   0 39080  25m  764 S 90.9  1.3 108:12.37 asyn_server  
22727 root      15   0  5756 4348  288 S 29.3  0.2  12:52.36 interception

12机器:
2396 adrun       15   0  119m  75m  736 S 22.0  3.7 378:35.27 asyn_server
2083 root        15   0 57496  33m 1080 R 11.6  1.7   4:21.76 tcpcopy

13机器:
11124 adrun     15   0  200m 153m  744 S 18.0  7.6 632:48.91 asyn_server
30622 root      15   0 46496  22m 1076 S 12.0  1.1   6:29.23 tcpcopy  

14机器:
16855 adrun    15   0 99.0m  55m  744 S 19.6  2.8 623:07.56 asyn_server
3255 root      15   0 54364  30m 1076 S 14.0  1.5   6:25.76 tcpcopy     

15机器:
17818 adrun    15   0  112m  68m  744 S 17.0  3.4 620:55.22 asyn_server
3793 root      15   0 78604  53m 1076 S 11.3  2.7   5:56.67 tcpcopy

[wangbin@bgp176-148 logs]$ grep 'Wed 10:36:' access_0914_10.log |wc -l  
310416
每秒平均处理5173.6,cpu消耗90%

[wangbin@bgp176-148 logs]$ netstat -n | awk '/^tcp/ {++state[$NF]} END {for(key in state) print key,"\t",state[key]}'
ESTABLISHED      282
TIME_WAIT        2179

[wangbin@bgp176-148 logs]$ grep 'Wed 10:3' access_0914_10.log |wc -l                                                 
3141729

[wangbin@bgp12-13 logs]$ grep 'Wed 10:3' access_0914_10.log |wc -l
807957
[wangbin@bgp12-14 logs]$ grep 'Wed 10:3' access_0914_10.log |wc -l
807954
[wangbin@bgp12-15 logs]$ grep 'Wed 10:3' access_0914_10.log |wc -l
807958
[wangbin@bgp12-12 logs]$ grep 'Wed 10:3' access_0914_10.log |wc -l
807943
实际请求数量=(807957+807954+807958+807943)=3231812
请求丢失率=(3231812-3141729)/3231812=2.79%

上面统计是程序未完善之前所进行的统计,可以看出由于压力增大,请求丢失率也会随着增大。
同时我们也可以看出,一台adserver可以支撑4台adserver的压力。

如果没有tcpcopy,我们是无法预知adserver到底能够承受多大的压力。


你可能感兴趣的:(server,测试,服务器,Access)