nginx限速之連接數限制技巧分享
前言
我們經常會遇到這種情況,服務器流量異常,負載過大等等。對于大流量惡意的攻擊訪問,會帶來帶寬的浪費,服務器壓力,影響業(yè)務,往往考慮對同一個ip的連接數,并發(fā)數進行限制。nginx 內置模塊限速怎么使用就不多說了,今天來說說連接數和單個連接數限速的事。話不多說了,來一起看看詳細的介紹吧。
場景:
A公司有100人,A公司只有一個公網IP,假設A公司可能有100個人同時在下載你的網站文件。
但是,你的連接數限制配置為:
limit_conn_zone $binary_remote_addr zone=perip:1m;
server {
---
limit_conn perip 1;
limit_rate 1024k;
---
}
允許單個連接數,單個連接數最大帶寬為1M。
這樣就會有99個人的請求狀態(tài)為 503, 其他人如果想下載就必須人工等待(nginx不會通知用戶說A用戶下載完了,該你B用戶下載了)。這樣造成的用戶體驗極差。但是優(yōu)點也很明顯,帶寬很快就會降下來。
可能有人就要問了,你限制成很低的連接數是想搞事情?NO,絕對不是。前面的100個人同時下載網站資源的情況有多大呢?沒做過統(tǒng)計,但是可能性極小。并且前端頁面和下載資源不共用一個域名,所以不會影響到前端頁面的訪問。
那都是誰在大量使用連接數呢?分兩類:
- 下載工具類(迅雷)。
- 各種各樣的采集程序。
- 同時進行多個下載任務。
小明快樂的在看電視,瞥了左邊頻幕一眼,握草,帶寬又滿了,來吧,限速吧,
limit_conn_zone $binary_remote_addr zone=perip:1m;
server {
---
limit_rate 1024k;
---
}
小明做了如上限速,OK,我告訴你們誰被限速了,當然是瀏覽器下載用戶,360瀏覽器的下載器都不一定能限制,好的,來算算速度吧。
瀏覽器: 2014K
下載器: 1024 * 15(最大連接數) * VIP
采集器: 1024 * 連接數
所以我們得到如下結論:
帶寬有限,同個IP同時下載的情況很小的,或者說是可以預知的業(yè)務,盡量將連接數限制的小一點。
反之,別限制了。就降低單個連接數帶寬吧!要知道大家誰沒事會用瀏覽器自帶下載器下載呢?
注:本文只探討nginx限速模塊在不同業(yè)務下的限速
彩蛋:偶爾發(fā)現,將連接數限制為1迅雷不能高速下載了。

總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關文章
把ImageMagic庫編譯進nginx服務器的一些必要配置
這篇文章主要介紹了把ImageMagic庫編譯進nginx服務器的一些必要配置,本文給出了操作步驟和配置參數示例,需要的朋友可以參考下2015-06-06
shell腳本定時統(tǒng)計Nginx下access.log的PV并發(fā)送給API保存到數據庫
這篇文章主要介紹了shell腳本定時統(tǒng)計Nginx下access.log的PV并發(fā)送給API保存到數據庫的實現方法 ,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2018-09-09
Nginx跨域設置Access-Control-Allow-Origin無效的解決辦法
今天小編就為大家分享一篇關于Nginx跨域設置Access-Control-Allow-Origin無效的解決辦法,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-02-02
nginx配置訪問圖片路徑以及html靜態(tài)頁面的調取方法
這篇文章主要介紹了詳解nginx配置訪問圖片路徑以及html靜態(tài)頁面的調取方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。2016-12-12

