成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

nginx499錯(cuò)誤

FreeZinG / 2502人閱讀

摘要:今天發(fā)現(xiàn)有不少的錯(cuò)誤,大約占了將近,而且是在新上線了一個(gè)含的業(yè)務(wù)之后。總之,這個(gè)錯(cuò)誤的比例升高可能表明服務(wù)器處理過慢,導(dǎo)致用戶提前關(guān)閉連接。而正常情況下有一個(gè)小比例是正常的。

今天發(fā)現(xiàn)nginx有不少的499錯(cuò)誤,大約占了將近0.5%,而且是在新上線了一個(gè)含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定義的一個(gè)狀態(tài)碼,用于表示這樣的錯(cuò)誤:服務(wù)器返回http頭之前,客戶端就提前關(guān)閉了http連接。

再grep下“NGX_HTTP_CLIENT_CLOSED_REQUEST”,發(fā)現(xiàn)目前這個(gè)狀態(tài)值只在ngx_upstream中賦值。

upstream在以下幾種情況下會(huì)返回499:

(1)upstream 在收到讀寫事件處理之前時(shí),會(huì)檢查連接是否可用:ngx_http_upstream_check_broken_connection,

if (c->error) { //connecttion錯(cuò)誤
     ……
        if (!u->cacheable) { //upstream的cacheable為false,這個(gè)值跟http_cache模塊的設(shè)置有關(guān)。指示內(nèi)容是否緩存。
            ngx_http_upstream_finalize_request(r, u, NGX_HTTP_CLIENT_CLOSED_REQUEST);
        }
}

如上代碼,當(dāng)連接錯(cuò)誤時(shí)會(huì)返回499。

(2)server處理請求未結(jié)束,而client提前關(guān)閉了連接,此時(shí)也會(huì)返回499。

(3)在一個(gè)upstream出錯(cuò),執(zhí)行next_upstream時(shí)也會(huì)判斷連接是否可用,不可用則返回499。

總之,這個(gè)錯(cuò)誤的比例升高可能表明服務(wù)器upstream處理過慢,導(dǎo)致用戶提前關(guān)閉連接。而正常情況下有一個(gè)小比例是正常的。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/39151.html

相關(guān)文章

  • 聊聊nginx報(bào)錯(cuò)499問題

    摘要:序本文主要來聊一下的當(dāng)中出現(xiàn)的問題。問題描述原因服務(wù)器返回頭之前,客戶端就提前關(guān)閉了連接,常見于后臺接口處理時(shí)間比較長,而前端請求又自帶有超時(shí)時(shí)間。復(fù)現(xiàn)請求實(shí)例帶超時(shí)時(shí)間請求后臺接口關(guān)于如下實(shí)例服務(wù)器排障之錯(cuò)誤的解決 序 本文主要來聊一下nginx的access log當(dāng)中出現(xiàn)的499問題。 問題描述 499 CLIENT CLOSED REQUEST A non-standard s...

    妤鋒シ 評論0 收藏0
  • 【PHP問題定位】php-fpm的idle掉底分析

    摘要:周三晚加上了對阿波羅超時(shí)的監(jiān)控,周四觀察上線期間阿波羅超時(shí)指標(biāo)的變化,時(shí)間也吻合。月日下午又報(bào)了一次警與此同時(shí)的阿波羅超時(shí)監(jiān)控這里同時(shí)列出機(jī)器指標(biāo)的目的是為了說明,盡管沒有報(bào)警,但機(jī)器的指標(biāo)變化和是統(tǒng)一的。 順風(fēng)車運(yùn)營研發(fā)團(tuán)隊(duì) 熊浩含 問題現(xiàn)象 線上報(bào)警群里時(shí)而有php-fpm-idle的零星報(bào)警,持續(xù)時(shí)間很短(幾秒甚至一秒),見下圖 showImg(https://segmentf...

    zhangfaliang 評論0 收藏0
  • 基于Lua+Kafka+Heka的Nginx Log實(shí)時(shí)監(jiān)控系統(tǒng)

    摘要:目的錯(cuò)誤碼告警和超時(shí)告警超時(shí)告警數(shù)據(jù)分析關(guān)于錯(cuò)誤和超時(shí)監(jiān)控有一點(diǎn)要考慮的是收到告警時(shí),要能夠快速知道是哪個(gè)后端服務(wù)節(jié)點(diǎn)出現(xiàn)了問題。關(guān)于消息隊(duì)列的選擇,前面已經(jīng)提到我們已有集群就直接拿來用了。 背景 在我們的系統(tǒng)架構(gòu)中,Nginx作為所有HTTP請求的入口,是非常重要的一層。每天產(chǎn)生大量的Nginx Access Log,閑置在硬盤上實(shí)在是太浪費(fèi)資源了。所以,能不能把Nginx日志利用起...

    Loong_T 評論0 收藏0
  • 坑系列之阿里SLB上使用Webscoket

    摘要:最終獲得一個(gè)鏈接,里面有這樣的描述如何在阿里云負(fù)載均衡上啟用支持無需配置,當(dāng)選用監(jiān)聽時(shí),默認(rèn)支持無加密版本協(xié)議協(xié)議當(dāng)選擇監(jiān)聽時(shí),默認(rèn)支持加密版本的協(xié)議協(xié)議。詳細(xì)參見如何使用負(fù)載均衡性能保障型實(shí)例。 Websocket是HTML5之后的一個(gè)新事物,可以方便的實(shí)現(xiàn)客戶端到服務(wù)端的長會(huì)話,特別適合用于客戶端需要接收服務(wù)端推送的場景。例如在線客服聊天,提醒推送等等。改變了以往客戶端只能通過輪詢...

    1treeS 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<