在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到底能够承受多大的压力。
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到底能够承受多大的压力。
本文通过部署tcpcopyclient到多个服务器并集中向目标服务器发起请求,进行了详细的服务器压力测试。结果显示,在高负载下请求丢失率为2.79%,且单台adserver能有效支撑来自四台adserver的压力。





