nginx通過unix-domain-socket連線fastcgi
網上都說這種方式比較快,今天有機會測試一下!!
先安裝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
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配置檔案需要新增
新增上這行配置以後 結果如下:Requests: 28463 susceed, 39 failed., 失敗率明顯減少很多了!!
雖然減少了 但是還是有,後來修改了nginx的衍生程序數就好了worker_processes 5; (以前預設是1) .
但是檢視nginx的訪問日誌會發現有一些499和502錯誤, 449錯誤的原因一般是客戶端或者服務端斷開了連線! 502 錯誤一般是php解析壓力過大導致.
轉載於:https://my.oschina.net/denglz/blog/159103