网上都说这种方式比较快,今天有机会测试一下!!
先安装 webbench 压力测试工具
下载和安装!
wget http://home.tiscali.cz/~cz210552/distfiles/webbench-1.5.tar.gz
tar zxvf webbench-1.5.tar.gz
cd webbench-1.5
make && make install
报错和解决!
------------------------------------------------------------------
在大家平时配置的nginx连接fastcgi的方式上只需要修改三步就能修改成通过unix-domain-socket连接fastcgi !
A:修改nginx的配置文件.
# fastcgi_pass 127.0.0.1:9000; (注释掉)
fastcgi_pass unix:/tmp/php-cgi.sock; (新添加)
B:在/tmp目录添加sock文件!
touch /tmp/php-cgi.sock (拥有者和所属的组与启动php的用户一样,看情况修改)
C: 修改php-fpm.conf文件!
我用的nginx版本是1.5.3 在php-fpm.conf配置文件中没有定义9000端口的地方. 但是php-fpm.conf配置文件包含 php-fpm.d目下的配置文件,所以我要修改php-fpm.d目录里的配置文件www.conf!
vim /etc/php-fpm.d/www.conf
listen = /tmp/php-cgi.sock (新添加)
#listen = 127.0.0.1:9000 (注释掉源文件)
最后重启nginx和php-fpm,
然后用webbench 工具测试!
webbench -2 -c 800 -t 30 http://192.168.1.220/index.php
经过测试得出的结果是: Requests: 28438 susceed, 298 failed. 会有300左右个失败, 经过在网上查找是nginx配置文件需要添加 proxy_ignore_client_abort on;. 解释如下
添加上这行配置以后 结果如下:Requests: 28463 susceed, 39 failed., 失败率明显减少很多了!!
虽然减少了 但是还是有,后来修改了nginx的衍生进程数就好了worker_processes 5; (以前默认是1) .
但是查看nginx的访问日志会发现有一些499和502错误, 449错误的原因一般是客户端或者服务端断开了连接! 502 错误一般是php解析压力过大导致.