首頁  >  文章  >  後端開發  >  服務頻繁499(Nginx+PHP-fpm),應該從哪些角度入手追查這問題?

服務頻繁499(Nginx+PHP-fpm),應該從哪些角度入手追查這問題?

WBOY
WBOY原創
2016-08-04 09:20:462264瀏覽

服務頻繁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請求的時間過長。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn