網上都說這種方式比較快,今天有機會測試一下!! 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解析壓力過大致使.