nginx限速之連接數(shù)限制技巧分享
前言
我們經(jīng)常會(huì)遇到這種情況,服務(wù)器流量異常,負(fù)載過(guò)大等等。對(duì)于大流量惡意的攻擊訪問(wèn),會(huì)帶來(lái)帶寬的浪費(fèi),服務(wù)器壓力,影響業(yè)務(wù),往往考慮對(duì)同一個(gè)ip的連接數(shù),并發(fā)數(shù)進(jìn)行限制。nginx 內(nèi)置模塊限速怎么使用就不多說(shuō)了,今天來(lái)說(shuō)說(shuō)連接數(shù)和單個(gè)連接數(shù)限速的事。話不多說(shuō)了,來(lái)一起看看詳細(xì)的介紹吧。
場(chǎng)景:
A公司有100人,A公司只有一個(gè)公網(wǎng)IP,假設(shè)A公司可能有100個(gè)人同時(shí)在下載你的網(wǎng)站文件。
但是,你的連接數(shù)限制配置為:
limit_conn_zone $binary_remote_addr zone=perip:1m; server { --- limit_conn perip 1; limit_rate 1024k; --- }
允許單個(gè)連接數(shù),單個(gè)連接數(shù)最大帶寬為1M。
這樣就會(huì)有99個(gè)人的請(qǐng)求狀態(tài)為 503, 其他人如果想下載就必須人工等待(nginx不會(huì)通知用戶說(shuō)A用戶下載完了,該你B用戶下載了)。這樣造成的用戶體驗(yàn)極差。但是優(yōu)點(diǎn)也很明顯,帶寬很快就會(huì)降下來(lái)。
可能有人就要問(wèn)了,你限制成很低的連接數(shù)是想搞事情?NO,絕對(duì)不是。前面的100個(gè)人同時(shí)下載網(wǎng)站資源的情況有多大呢?沒(méi)做過(guò)統(tǒng)計(jì),但是可能性極小。并且前端頁(yè)面和下載資源不共用一個(gè)域名,所以不會(huì)影響到前端頁(yè)面的訪問(wèn)。
那都是誰(shuí)在大量使用連接數(shù)呢?分兩類:
- 下載工具類(迅雷)。
- 各種各樣的采集程序。
- 同時(shí)進(jìn)行多個(gè)下載任務(wù)。
小明快樂(lè)的在看電視,瞥了左邊頻幕一眼,握草,帶寬又滿了,來(lái)吧,限速吧,
limit_conn_zone $binary_remote_addr zone=perip:1m; server { --- limit_rate 1024k; --- }
小明做了如上限速,OK,我告訴你們誰(shuí)被限速了,當(dāng)然是瀏覽器下載用戶,360瀏覽器的下載器都不一定能限制,好的,來(lái)算算速度吧。
瀏覽器: 2014K
下載器: 1024 * 15(最大連接數(shù)) * VIP
采集器: 1024 * 連接數(shù)
所以我們得到如下結(jié)論:
帶寬有限,同個(gè)IP同時(shí)下載的情況很小的,或者說(shuō)是可以預(yù)知的業(yè)務(wù),盡量將連接數(shù)限制的小一點(diǎn)。
反之,別限制了。就降低單個(gè)連接數(shù)帶寬吧!要知道大家誰(shuí)沒(méi)事會(huì)用瀏覽器自帶下載器下載呢?
注:本文只探討nginx限速模塊在不同業(yè)務(wù)下的限速
彩蛋:偶爾發(fā)現(xiàn),將連接數(shù)限制為1迅雷不能高速下載了。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
- Nginx代理MySQL實(shí)現(xiàn)通過(guò)域名連接數(shù)據(jù)庫(kù)的詳細(xì)教程
- Nginx加固的幾種方式(控制超時(shí)時(shí)間&限制客戶端下載速度&并發(fā)連接數(shù))
- 使用Nginx限制IP請(qǐng)求和并發(fā)連接數(shù)的實(shí)現(xiàn)方法
- nginx查看連接數(shù)的幾種方法小結(jié)
- Nginx最大連接數(shù)配置詳解
- Nginx 如何限制訪問(wèn)頻率,下載速率和并發(fā)連接數(shù)的方法
- Nginx對(duì)網(wǎng)段內(nèi)ip的連接數(shù)限流配置詳解
- Nginx服務(wù)器中限制連接數(shù)與限制請(qǐng)求的模塊配置教程
- Nginx查看當(dāng)前連接數(shù)的配置方法
相關(guān)文章
Nginx反向代理springboot的jar包過(guò)程解析
這篇文章主要介紹了Nginx反向代理springboot的jar包過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05Nginx中l(wèi)ocation匹配以及rewrite重寫(xiě)跳轉(zhuǎn)詳解
訪問(wèn)重寫(xiě) rewrite 是 Nginx HTTP 請(qǐng)求處理過(guò)程中的一個(gè)重要功能,下面這篇文章主要給大家介紹了Nginx中l(wèi)ocation匹配以及rewrite重寫(xiě)跳轉(zhuǎn)的相關(guān)資料,需要的朋友可以參考下2022-03-03Nginx中禁止使用IP訪問(wèn)網(wǎng)站的配置實(shí)例
這篇文章主要介紹了Nginx中禁止使用IP訪問(wèn)網(wǎng)站的配置實(shí)例,一般在備案時(shí)可能需要這種設(shè)置,需要的朋友可以參考下2014-07-07k8s部署nginx訪問(wèn)Tomcat的實(shí)現(xiàn)示例
本文介紹了如何使用Kubernetes部署Nginx,并通過(guò)Nginx訪問(wèn)Tomcat,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-08-08nginx如何實(shí)現(xiàn)配置靜態(tài)資源服務(wù)器及防盜鏈
這篇文章主要為大家介紹了nginx實(shí)現(xiàn)配置靜態(tài)資源服務(wù)器及防盜鏈步驟詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11Nginx安裝配置naxsi waf防火墻的方法實(shí)現(xiàn)
Naxsi是第三方nginx模塊,它也能有效防御,本文主要介紹了Nginx安裝配置naxsi waf防火墻的方法實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-08-08Nginx+FastDFS搭建圖片服務(wù)器的方法實(shí)現(xiàn)
這篇文章主要介紹了Nginx+FastDFS搭建圖片服務(wù)器的方法實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03詳解nginx+php執(zhí)行請(qǐng)求的工作原理
這篇文章主要介紹了詳解nginx+php執(zhí)行請(qǐng)求的工作原理,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-02-02Nginx服務(wù)器中的模塊編寫(xiě)及相關(guān)內(nèi)核源碼初探
這篇文章主要介紹了Nginx服務(wù)器中的模塊編寫(xiě)及相關(guān)源碼初探,文中以一個(gè)簡(jiǎn)單的Hello world模塊的編寫(xiě)來(lái)深入分析Nginx內(nèi)核所用到的基礎(chǔ)函數(shù),需要的朋友可以參考下2015-12-12