服務頻繁499(Nginx+PHP-fpm),應該從哪些角度入手追查這問題?
服務頻繁499(Nginx+PHP-fpm),應該從哪些角度入手追查這問題?
499
應該是客戶端關閉連線了吧。
一般客戶端關閉連線應該是因為等待太久了,所以建議查查PHP處理程序是處理能力是否足夠滿足需求,適當增加處理進程,減少客戶端等待的時間。另外最好透過在nginx
裡設定proxy_ignore_client_abort on;
來忽略客戶端的斷開連線要求,以免程式中斷執行造成的異常。
當然還有一種可能是遭受攻擊…
1,客戶端請求速度慢,透過樣本檢查一下是否是真慢
2,機器寬頻跑滿了,請求慢
3,檢查 nginx 的超時時間,把時間調長一些,預設應該是60s 吧
<code>client_header_timeout 180s; client_body_timeout 180s;</code>
<br>499對應的是 “client has closed connection”。這很有可能是因為伺服器端處理的時間太長,客戶端「不耐煩」了。要解決此問題,就需要在程式上面做些優化了。 (有點類似與50*類錯誤)<br>rfc2616中,400~500間的錯誤碼只定義到了417,所以499應該是nginx自己定義的。 <br>
源自 http://blog.csdn.net/rainday0310/article/details/8166163
1、499,client has closed connection,代表客戶端主動斷開了連接,一般是伺服器端處理時間太長了,客戶端等不了就斷開了。還有一種情況是有人攻擊,故意消耗伺服器資源,使伺服器端無法及時處理請求並傳回結果。
2、解決方法:一般從php處理進程數、fastcgi執行逾時、http轉送設定錯誤等方面進行最佳化,防止伺服器端處理http請求的時間過長。