nginx 長連接

先理解下長連接和短鏈接

短連接:

?? ?短連接就是每次請求一個資源就建立連接掸鹅,請求完成后連接立馬關(guān)閉来庭。每次請求都經(jīng)過“創(chuàng)建tcp連接->請求資源->響應(yīng)資源->釋放連接”這樣的過程

長連接:

?? ?長連接(persistent connection)日月,就是只建立一次連接应狱,多次資源請求都復(fù)用該連接坝初,完成后關(guān)閉凡伊。要請求一個頁面上的十張圖,只需要建立一次tcp連接擦盾,然后依次請求十張圖嘲驾,等待資源響應(yīng)淌哟,釋放連接。

client發(fā)出的HTTP請求頭需要增加connection:keep-Alive字段辽故。

web-service端需要能識別到connection:keep-alice字段徒仓,并且在http的response里指定connection:keep-Alive字段,告訴client我們提供keep-alive服務(wù)誊垢,允許client暫時別關(guān)閉socket鏈接掉弛。

http 1.0版本中要實現(xiàn)長連接必須在http請求頭顯示指定Connection:keep-alive

http 1.1版本中默認開始了keep-alive。 需要關(guān)閉keep-vlive的話在請求頭指定connection:close

現(xiàn)在大多數(shù)瀏覽器都支持HTTP 1.1協(xié)議喂走,所以keep-alive都是默認打開的殃饿,一旦client和server達成一致長連接就建立好了。

以NGINX 為例:

keepalive_timeout #一個HTTP產(chǎn)生的TCP鏈接在傳送完最后一個響應(yīng)后還需要等待 keepalive_timeout 設(shè)置的秒后才關(guān)閉這個鏈接芋肠。默認是75秒,有些瀏覽器默認是60秒乎芳,所以可以設(shè)置為60,如果設(shè)置成0的話就關(guān)閉了keep-aliveNGINX做反向代理的時候upstream長連接配置:


http{

? ? upstream test_keepalive{

? ? server 127.0.0.1:5002;

? ? keepalive 4;?#最多保留的長連接帖池,如果超過這個數(shù)奈惑,會根據(jù)LRU算法關(guān)閉多余的鏈接。這個參數(shù)不會限制worker跟upstream的連接數(shù)睡汹。

}

?? ?keepalive_timeout 60; #設(shè)置鏈接保持的時間

?? ?keepalive_requests 100; ?#每個長連接能處理的請求次數(shù)肴甸,超過后會被close。定期關(guān)閉對清理每個鏈接占用的內(nèi)存是非常有必要的囚巴。否則鏈接只能用的內(nèi)存會越來越多原在。

location {

? ? ?proxy_http_version 1.1; ? #location配置里主要是修改HTTP版本為1.1、并且把NGINX的默認傳遞給upstream connection:close 的行為去掉文兢。http_version需要制定用1.1?

? ? ?proxy_set_header connection "";# 這樣就嫩完成NGINX轉(zhuǎn)發(fā)給upstream的長連接配置。


}

}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末焕檬,一起剝皮案震驚了整個濱河市姆坚,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌实愚,老刑警劉巖兼呵,帶你破解...
    沈念sama閱讀 219,589評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異腊敲,居然都是意外死亡击喂,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,615評論 3 396
  • 文/潘曉璐 我一進店門碰辅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來懂昂,“玉大人,你說我怎么就攤上這事没宾×璞颍” “怎么了沸柔?”我有些...
    開封第一講書人閱讀 165,933評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長铲敛。 經(jīng)常有香客問我褐澎,道長,這世上最難降的妖魔是什么伐蒋? 我笑而不...
    開封第一講書人閱讀 58,976評論 1 295
  • 正文 為了忘掉前任工三,我火速辦了婚禮,結(jié)果婚禮上先鱼,老公的妹妹穿的比我還像新娘俭正。我一直安慰自己,他們只是感情好型型,可當(dāng)我...
    茶點故事閱讀 67,999評論 6 393
  • 文/花漫 我一把揭開白布段审。 她就那樣靜靜地躺著,像睡著了一般闹蒜。 火紅的嫁衣襯著肌膚如雪寺枉。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,775評論 1 307
  • 那天绷落,我揣著相機與錄音姥闪,去河邊找鬼。 笑死砌烁,一個胖子當(dāng)著我的面吹牛筐喳,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播函喉,決...
    沈念sama閱讀 40,474評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼避归,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了管呵?” 一聲冷哼從身側(cè)響起梳毙,我...
    開封第一講書人閱讀 39,359評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎捐下,沒想到半個月后账锹,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,854評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡坷襟,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,007評論 3 338
  • 正文 我和宋清朗相戀三年奸柬,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片婴程。...
    茶點故事閱讀 40,146評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡廓奕,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情懂从,我是刑警寧澤授段,帶...
    沈念sama閱讀 35,826評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站番甩,受9級特大地震影響侵贵,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜缘薛,卻給世界環(huán)境...
    茶點故事閱讀 41,484評論 3 331
  • 文/蒙蒙 一窍育、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧宴胧,春花似錦漱抓、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,029評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至显歧,卻和暖如春仪或,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背士骤。 一陣腳步聲響...
    開封第一講書人閱讀 33,153評論 1 272
  • 我被黑心中介騙來泰國打工范删, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人拷肌。 一個月前我還...
    沈念sama閱讀 48,420評論 3 373
  • 正文 我出身青樓到旦,卻偏偏與公主長得像,于是被迫代替她去往敵國和親巨缘。 傳聞我的和親對象是個殘疾皇子添忘,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,107評論 2 356

推薦閱讀更多精彩內(nèi)容

  • 前言 本文更多地面向后端開發(fā)同學(xué)。雖然在后端開發(fā)中若锁,服務(wù)間調(diào)用已經(jīng)廣泛采用 RPC 技術(shù)搁骑。但是由于一些原因,例如像...
    編走編想閱讀 21,138評論 1 30
  • 長連接配置 當(dāng)你直接向es發(fā)送請求拴清,你可以看到連接數(shù)是增加的: 通過nginx訪問靶病,結(jié)果如下: keepalive...
    YG_9013閱讀 2,000評論 0 1
  • 一会通、nginx之tcp_nopush口予、tcp_nodelay、sendfile 1涕侈、TCP_NODELAY你怎么可...
    呆叔么么閱讀 536評論 0 0
  • http keepalive 介紹 在http早期沪停,每個http請求都要求打開一個tpc socket連接,并且使...
    大富帥閱讀 31,093評論 0 12
  • 討論關(guān)于nginx的長連接和TIME-WAIT相關(guān)知識點 長連接 Nginx從 1.1.4 開始,實現(xiàn)了對后端機器...
    豬蹄胖閱讀 12,354評論 4 7