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解析壓力過大致使.  

相關文章
相關標籤/搜索