apache ab 性能测试 timeout 解决方案

 

网上流传方法一:

使用ab或者webbench做压力测试,如果并发数开到1000的时候,无法完成测试。到晚上查看资料发现是linux网络参数设置。

[longhao@longhao etc]# vi /etc/sysctl.conf
在kernel2.6之前的添加项:
net.ipv4.netfilter.ip_conntrack_max = 655360
net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 180 

kernel2.6之后的添加项:
net.nf_conntrack_max = 655360  # net.nf_conntrack_max = 655360 也可以
net.netfilter.nf_conntrack_tcp_timeout_established = 1200

[longhao@longhao etc]# sysctl -p /etc/sysctl.conf

如果报错:error: "net.nf_conntrack_max" is an unknown key 则需要使用modprobe载入ip_conntrack模块,lsmod查看模块已载入。
[longhao@longhao etc]# modprobe  ip_conntrack

 

网上流传方法二:

按如下修改 Apache 源码目录下 support/ab.c 文件,重新编译安装。

 

         elseif(status != APR_SUCCESS) {
             err_recv++;
             if(recverrok) {
                 bad++;
                 close_connection(c);
                 if(verbosity >= 1) {
                     charbuf[120];
                     fprintf(stderr,"%s: %s (%d)\n", "apr_socket_recv", apr_strerror(status, buf, sizeofbuf), status);
                }
                 return;
            } else{
                 bad++;                                 //添加
                 close_connection(c);                   //添加
                 //apr_err("apr_socket_recv", status);  //注释
                return;    //添加
             }
         }
 源:http://blog.csdn.net/garn_hsia/article/details/12997477
************************************************************************************************************************************
其他 设置方法:
查看
ulimit -n 
修改服务器上最大进程数设置
vi /etc/security/limits.conf
# End of file
*                soft   nofile          65535
*                hard   nofile          65535
*                soft   nproc           16384
*                hard   nproc           32768
*                soft   nproc           16384
*                hard   nproc           32768
*                soft   nofile          1024000
*                hard   nofile          1024000
*                soft   core            1024000
---------------------
源: http://blog.sina.com.cn/s/blog_3dbab2840100dzbg.html
---------------------
设置打开文件数
 vi /proc/sys/fs/file-max
6553600
按照网上修改了这么多设置,还是发现一个问题,访问比较复杂页面(内容比较多,页面交大---其实也不一定是这个原因导致)并发200 -300就timeout的问题还是没有解决,测试页面为简单的hellowords 就没有问题,能支持1000并发
**********************************************************************************

 

猜你喜欢

转载自km-moon11.iteye.com/blog/2179079