nginx经过unix-domain-socket链接fastcgi

网上都说这种方式比较快,今天有机会测试一下!! php

先安装 webbench 压力测试工具 html

下载和安装! nginx

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
web

报错和解决! vim

参考:http://js8.in/930.html dom

------------------------------------------------------------------ socket

在你们平时配置的nginx链接fastcgi的方式上只须要修改三步就能修改为经过unix-domain-socket链接fastcgi ! php-fpm

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解析压力过大致使.  

相关文章
相关标签/搜索