欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

nginx配置keepalive長連接的實現(xiàn)方法

 更新時間:2023年08月28日 14:36:24   作者:海灘上的那烏克麗麗  
長連接允許客戶端在同一個TCP連接上發(fā)送多個請求,以減少連接握手的開銷,提高網(wǎng)站性能,本文主要介紹了nginx配置keepalive長連接的實現(xiàn)方法,感興趣的可以了解一下

為什么要有keepalive?

因為每次建立tcp都要建立三次握手,消耗時間較長,所以為了減少tcp建立連接需要的時間,就可以設(shè)置keep_alive長連接。

nginx中keep_alive對客戶端的配置

  • keepalived_disable        禁用某些瀏覽器
  • keepalive_request:在我們的tcp連接中并不是等一個請求處理完成后再繼續(xù)下一個請求,而是進行異步請求,也就是說一個tcp連接可以進行很多個請求。這個參數(shù)默認(rèn)1000,已經(jīng)完全夠用了。
  • send_request:tcp建立連接后,服務(wù)端在準(zhǔn)備數(shù)據(jù)過程中的時間,如果超過設(shè)定的時間,則斷開連接。
  • keepalive_timeout:tcp連接過程超過這個設(shè)定的時間,則斷開連接。
  • keepalive_time:tcp連接最長時間。(不能讓客戶端無限復(fù)用tcp連接)

nginx對上游后端服務(wù)的keepalive

配置目的:在nginx與上有服務(wù)器連接的時候,通過配置keepalive達到連接復(fù)用,提高傳輸效率。

在upstream服務(wù)器列表中可配置的參數(shù):

keepalive:可支持線程個數(shù)

keepalive_requests: 每個線程可以并發(fā)多少TCP連接數(shù)

keepalive_timeout:連接保留時間

在server中配置的參數(shù):

proxy_http_version:1.1;        設(shè)置http版本,默認(rèn)情況下是http1.0版本像后端服務(wù)發(fā)起請求,1.0發(fā)起每次請求后會關(guān)閉連接,下次發(fā)起請求后會再次建立連接,消耗時間。

proxy_set_header Connection "";        由nginx向后端服務(wù)器發(fā)送請求時,Connection參數(shù)默認(rèn)是close關(guān)閉狀態(tài),那么就不會和后端服務(wù)器建立長連接keepalive,這個參數(shù)意思是將nginx發(fā)送到后端的header的Connection參數(shù)設(shè)置成空或者設(shè)置成keepalive,那么就支持keepalive長連接(http1.1默認(rèn)支持長連接)。

用ab壓力測試工具對nginx的keepalive參數(shù)調(diào)優(yōu)前后性能進行對比

安裝ab壓力測試工具

yum install httpd-tools -y

ab工具直接對nginx服務(wù)器進行壓力測試

1.先對后端服務(wù)器直接進行壓力測試

-n:請求數(shù)

-c:并發(fā)數(shù)

ab -n 10000 -c 30 http://192.168.44.120/

Transfer rate:吞吐量速率,每秒下載速率

Requests per second(qps): 每秒并發(fā)量

2.對nginx代理服務(wù)器進行ab壓力測試(不加keepalive長連接配置)

可以看到經(jīng)過nginx代理后,吞吐量和qps并發(fā)量都大幅度下降。這是因為經(jīng)過代理后nginx需要再與后端服務(wù)器進行數(shù)據(jù)傳輸,而且沒有加長連接配置,所以性能下降。

3.對nginx代理服務(wù)器進行ab壓力測試(添加keepalive長連接配置)

添加配置

觀察效果:

并發(fā)量和吞吐量都有提升,響應(yīng)延遲下降。證明keepalive配置有對請求效率進行有效的優(yōu)化。

用ab壓力測試工具對nginx的keepalive參數(shù)調(diào)優(yōu)前后性能進行對比(后端是tomcat)

用ab直連測試tomcat,性能居中

用ab加nginx(無keepalive)代理測試tomcat,性能比直連稍低

用ab加nginx(keepalive)代理測試tomcat,性能比直連大幅提高

結(jié)論:所以再tomcat前加nginx代理絕對不僅僅是為了做動靜分離和負(fù)載均衡,也是為了keepalive做性能優(yōu)化提升并發(fā)量。

注:

有一些特殊的場景比如客戶端瀏覽器不支持keepalive,或者只是通過暴露tomcat接口進行訪問的形式可以通過nginx添加代理keepalive進行調(diào)優(yōu),一般的瀏覽器是帶有keepalive的,所以一般也不需要通過nginx去做tomcat的keepalive性能調(diào)優(yōu)

參考文章:nginx之keepalive詳解與其配置

到此這篇關(guān)于nginx配置keepalive長連接的實現(xiàn)方法的文章就介紹到這了,更多相關(guān)nginx keepalive長連接內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Centos下編譯安裝Nginx教程詳解

    Centos下編譯安裝Nginx教程詳解

    這篇文章主要介紹了Centos下編譯安裝Nginx的教程詳解,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-12-12
  • Nginx的配置文件結(jié)構(gòu)和各種配置指令

    Nginx的配置文件結(jié)構(gòu)和各種配置指令

    Nginx是一款高性能的Web服務(wù)器和反向代理服務(wù)器,常常被用作Web服務(wù)器、負(fù)載均衡器、反向代理和緩存服務(wù)器等,本文將詳細(xì)介紹Nginx的配置文件結(jié)構(gòu)和各種配置指令,幫助你理解和正確配置Nginx?服務(wù)器
    2024-03-03
  • nginx全局變量整理小結(jié)

    nginx全局變量整理小結(jié)

    nginx全局變量整理小結(jié),方便需要的朋友
    2012-11-11
  • Nginx設(shè)置成服務(wù)并開機自動啟動的配置

    Nginx設(shè)置成服務(wù)并開機自動啟動的配置

    Nginx?是一個高性能的HTTP和反向代理web服務(wù)器,同時也提供了IMAP/POP3/SMTP服務(wù),接下來通過本文給大家介紹Nginx設(shè)置成服務(wù)并開機自動啟動的配置,需要的朋友可以參考下
    2022-01-01
  • Nginx中Location配置超詳細(xì)講解

    Nginx中Location配置超詳細(xì)講解

    最近一直在做location 配置,遇到優(yōu)先級別問題(如果配置不當(dāng)可能存在安全隱患哦),下面這篇文章主要給大家介紹了關(guān)于Nginx中Location配置的相關(guān)資料,需要的朋友可以參考下
    2023-01-01
  • 詳解nginx?中l(wèi)ocation和?proxy_pass的匹配規(guī)則

    詳解nginx?中l(wèi)ocation和?proxy_pass的匹配規(guī)則

    location是Nginx中用來匹配客戶端請求URI的指令,決定如何處理特定路徑的請求,它定義了請求的路由規(guī)則,后續(xù)的配置(如?proxy_pass)會應(yīng)用在匹配的請求上,這篇文章主要介紹了nginxlocation和proxy_pass的匹配規(guī)則,需要的朋友可以參考下
    2025-04-04
  • 詳解Nginx中的Rewrite的重定向配置與實踐

    詳解Nginx中的Rewrite的重定向配置與實踐

    這篇文章主要介紹了詳解Nginx中的Rewrite的重定向配置與實踐,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • Nginx概述、命令、配置文件和具體應(yīng)用詳解

    Nginx概述、命令、配置文件和具體應(yīng)用詳解

    Nginx是一款輕量級的web 服務(wù)器/反向代理服務(wù)器及電子郵件(IMAP/POP3)代理服務(wù)器,這篇文章主要介紹了Nginx概述、命令、配置文件和具體應(yīng)用,需要的朋友可以參考下
    2023-08-08
  • nginx代理后端路徑獲取IP為127.0.0.1問題

    nginx代理后端路徑獲取IP為127.0.0.1問題

    文章討論了在使用Nginx作為反向代理時,如何正確配置以避免在前端路徑A/api訪問后端時丟失真實的IP地址,通過有效的Nginx配置,可以確保在前后端分離的場景中,客戶端通過前端路徑訪問后端時,后端能夠正確獲取客戶端的真實IP地址,示例配置展示了如何實現(xiàn)這一目標(biāo)
    2025-02-02
  • Nginx啟動顯示80端口占用問題的解決方案

    Nginx啟動顯示80端口占用問題的解決方案

    這篇文章主要介紹了Nginx啟動顯示80端口占用問題的解決方案,文中通過代碼示例和圖文講解的非常詳細(xì),對大家解決問題有一定的幫助,需要的朋友可以參考下
    2024-04-04

最新評論