nginx压力测试方法:#ab命令 #安装ab #Centos系统 yum install apr-util #Ubuntu系统 sudo apt-get install apache2-utils #ab命令的参数 -n //在测试会话中所执行的请求个数。默认为1 -c //一次产生的请求个数。默认为1 -t //测试所进行的最大秒数。默认值为50000 -p //包含了需要的POST的数据文件 -T //POST数据所使用的Content-type头信息
#实例 ab -c 1000 -n 5000 http://www.baidu.com/ 每次发送1000并发的请求数,请求数总数为5000。
------------------------------------------------------------------------------ #nginx防止被压力测试的设置方法: #限制同一IP并发数最大为10 vim /etc/nginx/nginx.conf http{}字段第一行添加: limit_conn_zone $binary_remote_addr zone=one:10m; vim /etc/nginx/conf.d/default server{}字段添加: limit_conn one 10;
#重启nginx service nginx restart
#如出现这种错误提示,表明nginx.conf中的limit_conn_zone $binary_remote_addr zone=one:10m; #没有添加到正确的区域,最后添加在http字段的第一行。
the size 10485760 of shared memory zone "one" conflicts with already declared size 0 in /etc/nginx/nginx.conf:33 apahce压力测试方法:打开Apache服务器的安装路径,在bin目录中有一个ab.exe的可执行程序,就是我们要介绍的压力测试工具。
在Windows系统的命令行下,进入ab.exe程序所在目录,执行ab.exe程序。注意直接双击无法正确运行。
ab 的用法是:ab [options] [http://]hostname[:port]/path 例如:ab -n 5000 -c 200 http://localhost/index.php 上例表示总共访问http://localhost/index.php这个脚本5000次,200并发同时执行。
ab常用参数的介绍: -n :总共的请求执行数,缺省是1; -c: 并发数,缺省是1; -t:测试所进行的总时间,秒为单位,缺省50000s -p:POST时的数据文件 -w: 以HTML表的格式输出结果
执行测试用例:ab -n 1000 -c 100 -w http://localhost/index.php >>c:\1.html 上面的测试用例表示100并发的情况下,共测试访问index.php脚本1000次,并将测试结果保存到c:\1.html文件中。 |