摘要:今天發(fā)現(xiàn)有不少的錯誤,大約占了將近,而且是在新上線了一個含的業(yè)務(wù)之后。總之,這個錯誤的比例升高可能表明服務(wù)器處理過慢,導(dǎo)致用戶提前關(guān)閉連接。而正常情況下有一個小比例是正常的。
今天發(fā)現(xiàn)nginx有不少的499錯誤,大約占了將近0.5%,而且是在新上線了一個含upstream的業(yè)務(wù)之后。
grep一下nginx源碼,定義在ngx_request_t.h
/* * HTTP does not define the code for the case when a client closed * the connection while we are processing its request so we introduce * own code to log such situation when a client has closed the connection * before we even try to send the HTTP header to it */ #define NGX_HTTP_CLIENT_CLOSED_REQUEST 499
這下就很清楚了,這是nginx定義的一個狀態(tài)碼,用于表示這樣的錯誤:服務(wù)器返回http頭之前,客戶端就提前關(guān)閉了http連接。
再grep下“NGX_HTTP_CLIENT_CLOSED_REQUEST”,發(fā)現(xiàn)目前這個狀態(tài)值只在ngx_upstream中賦值。
upstream在以下幾種情況下會返回499:
(1)upstream 在收到讀寫事件處理之前時,會檢查連接是否可用:ngx_http_upstream_check_broken_connection,
if (c->error) { //connecttion錯誤 …… if (!u->cacheable) { //upstream的cacheable為false,這個值跟http_cache模塊的設(shè)置有關(guān)。指示內(nèi)容是否緩存。 ngx_http_upstream_finalize_request(r, u, NGX_HTTP_CLIENT_CLOSED_REQUEST); } }
如上代碼,當連接錯誤時會返回499。
(2)server處理請求未結(jié)束,而client提前關(guān)閉了連接,此時也會返回499。
(3)在一個upstream出錯,執(zhí)行next_upstream時也會判斷連接是否可用,不可用則返回499。
總之,這個錯誤的比例升高可能表明服務(wù)器upstream處理過慢,導(dǎo)致用戶提前關(guān)閉連接。而正常情況下有一個小比例是正常的。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/39151.html
摘要:序本文主要來聊一下的當中出現(xiàn)的問題。問題描述原因服務(wù)器返回頭之前,客戶端就提前關(guān)閉了連接,常見于后臺接口處理時間比較長,而前端請求又自帶有超時時間。復(fù)現(xiàn)請求實例帶超時時間請求后臺接口關(guān)于如下實例服務(wù)器排障之錯誤的解決 序 本文主要來聊一下nginx的access log當中出現(xiàn)的499問題。 問題描述 499 CLIENT CLOSED REQUEST A non-standard s...
摘要:周三晚加上了對阿波羅超時的監(jiān)控,周四觀察上線期間阿波羅超時指標的變化,時間也吻合。月日下午又報了一次警與此同時的阿波羅超時監(jiān)控這里同時列出機器指標的目的是為了說明,盡管沒有報警,但機器的指標變化和是統(tǒng)一的。 順風車運營研發(fā)團隊 熊浩含 問題現(xiàn)象 線上報警群里時而有php-fpm-idle的零星報警,持續(xù)時間很短(幾秒甚至一秒),見下圖 showImg(https://segmentf...
摘要:目的錯誤碼告警和超時告警超時告警數(shù)據(jù)分析關(guān)于錯誤和超時監(jiān)控有一點要考慮的是收到告警時,要能夠快速知道是哪個后端服務(wù)節(jié)點出現(xiàn)了問題。關(guān)于消息隊列的選擇,前面已經(jīng)提到我們已有集群就直接拿來用了。 背景 在我們的系統(tǒng)架構(gòu)中,Nginx作為所有HTTP請求的入口,是非常重要的一層。每天產(chǎn)生大量的Nginx Access Log,閑置在硬盤上實在是太浪費資源了。所以,能不能把Nginx日志利用起...
摘要:最終獲得一個鏈接,里面有這樣的描述如何在阿里云負載均衡上啟用支持無需配置,當選用監(jiān)聽時,默認支持無加密版本協(xié)議協(xié)議當選擇監(jiān)聽時,默認支持加密版本的協(xié)議協(xié)議。詳細參見如何使用負載均衡性能保障型實例。 Websocket是HTML5之后的一個新事物,可以方便的實現(xiàn)客戶端到服務(wù)端的長會話,特別適合用于客戶端需要接收服務(wù)端推送的場景。例如在線客服聊天,提醒推送等等。改變了以往客戶端只能通過輪詢...
閱讀 3477·2021-09-02 09:53
閱讀 1802·2021-08-26 14:13
閱讀 2762·2019-08-30 15:44
閱讀 1322·2019-08-30 14:03
閱讀 1970·2019-08-26 13:42
閱讀 3022·2019-08-26 12:21
閱讀 1311·2019-08-26 11:54
閱讀 1905·2019-08-26 10:46