最近新增了功能,顺便把nginx升级到1.0.0,结果被nginx的bug恶性到了。
下面是利用tcpcopy,从access.log来分析nginx各种版本的测试结果:
nginx-1.0.14 没有问题
[wangbin@bgp176-141 logs]$ grep '16/Mar/2012:11:37' access.log|wc -l
107244
[wangbin@bgp176-148 logs]$ grep '16/Mar/2012:11:37' access.log|wc -l
107043
nginx-1.0.5 没有问题
[wangbin@bgp176-141 logs]$ grep '16/Mar/2012:11:43' access.log|wc -l
103962
[wangbin@bgp176-148 logs]$ grep '16/Mar/2012:11:43' access.log|wc -l
103832
nginx-1.0.2 没有问题
[wangbin@bgp176-141 logs]$ grep '16/Mar/2012:11:48' access.log|wc -l
104612
[wangbin@bgp176-148 logs]$ grep '16/Mar/2012:11:48' access.log|wc -l
104383
nginx-1.0.1 没有问题
[wangbin@bgp176-141 logs]$ grep '16/Mar/2012:11:52' access.log|wc -l
102697
[wangbin@bgp176-148 logs]$ grep '16/Mar/2012:11:52' access.log|wc -l
102645
nginx-1.0.0 有问题
[wangbin@bgp176-141 logs]$ grep '16/Mar/2012:10:13' access.log|wc -l
117089
[wangbin@bgp176-148 logs]$ grep '16/Mar/2012:10:13' access.log|wc -l
95544
nginx-0.9.6 有问题
[wangbin@bgp176-141 logs]$ grep '16/Mar/2012:10:52' access.log|wc -l
116557
[wangbin@bgp176-148 logs]$ grep '16/Mar/2012:10:52' access.log|wc -l
95552
nginx-0.9.5 有问题
[wangbin@bgp176-141 logs]$ grep '16/Mar/2012:11:1' access.log|wc -l
1130305
[wangbin@bgp176-148 logs]$ grep '16/Mar/2012:11:1' access.log|wc -l
941842
nginx 0.9.4 没有问题
[wangbin@bgp176-141 logs]$ grep '16/Mar/2012:10:47' access.log|wc -l
114023
[wangbin@bgp176-148 logs]$ grep '16/Mar/2012:10:47' access.log|wc -l
113723
nginx 0.9.0
[wangbin@bgp176-141 logs]$ grep '16/Mar/2012:10:40' access.log|wc -l
115428
[wangbin@bgp176-148 logs]$ grep '16/Mar/2012:10:40' access.log|wc -l
115203
nginx-0.8.53 没有问题
[wangbin@bgp176-141 logs]$ grep '16/Mar/2012:10:30' access.log|wc -l
117593
[wangbin@bgp176-148 logs]$ grep '16/Mar/2012:10:30' access.log|wc -l
117466
nginx-0.7.63 没有问题
利用tcpcopy,转发过去的请求丢失率不高的话,就可以认为正常。
从上面我们可以看出nginx-0.9.5~nginx-1.0.0请求丢失率很高,通过分析tcpcopy的日志,大量出现连接请求被拒绝的情况。
其它版本nginx没有此问题。
各位开发人员和运维人员,升级小心点,不要以为新版本就没有问题,还是老老实实利用tcpcopy来作回归测试吧。