nginx限流配置理解與學習

2021-10-22 14:20:54 字數 626 閱讀 9571

問題背景:生產上有乙個服務頻繁被訪問,導致tomcat記憶體溢位,報oom。

解決方案:因為所有請求採用了nginx**,考慮先使用nginx進行請求的限制,以下為在學習配置中的理解。

關於針對nginx**的8878服務進行限流的引數設定如下:

1.基於ip的限流配置:即針對所有訪問nginx中配置的ip服務的請求進行限制。

rate = 5r/s: 表示每秒放行五個請求。

burst=5:設定乙個緩衝區域,當大量請求過來,即請求數量超過限流頻率時,放入緩衝區域,這裡可以緩衝2個請求。

2.基於server級別的限流:即針對同乙個伺服器發來的請求,對此伺服器進行限流。

rate = 1r/s: 表示每秒放行乙個請求。

burst=2: 緩衝區域,緩衝2個請求。

3.基於連線數的限流:針對某個ip或某個server,在指定的時間內,只允許server最多保持指定數量的連線接入。

以上三種策略可以同時配置。

rate:用於設定最大訪問速率,rate=10r/s 表示每秒最多處理10個請求。nginx 實際上以毫秒為粒度來跟蹤請求資訊,因此 10r/s 實際上是限制:每100毫秒處理乙個請求。這意味著,自上乙個請求處理完後,若後續100毫秒內又有請求到達,將拒絕處理該請求。

Nginx限流配置

nginx限流配置 編輯 1 限制域宣告 以下配置建議統一在http域中進行配置 定義乙個名為perip req的limit req zone用來儲存session,大小是10m記憶體,以 binary remote addr 為key,限制平均每分鐘的請求為30個,1m能儲存16000個狀態 以下...

nginx限流配置

表示處理請求的平均速度 每個請求之間至少要間隔 1000 60 16.7ms 超出的請求將會進入令牌桶中,例如在10ms內發出5個請求則只有乙個能得到處理,其餘4個會進入令牌桶 令牌桶內的令牌可以滿足這4個額外請求的時候,如果不滿足將會返回503或者自定義的status server locatio...

Nginx搶購限流配置

因業務需求經常會有搶購業務,因此需要在負載均衡前端進行限流錯誤。本文同樣也適用於防止cc.limit req zone server name zone sname 10m rate 1r s 限 務器每秒只能有一次訪問成功 limit req zone binary remote addr zon...