日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Nginx >内容正文

Nginx

Nginx限流-并发量限流配置

發布時間:2024/4/13 Nginx 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Nginx限流-并发量限流配置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

控制并發量(連接數)

ngx_http_limit_conn_module 提供了限制連接數的能力。主要是利用limit_conn_zone和limit_conn兩個指令。

利用連接數限制 某一個用戶的ip連接的數量來控制流量。

注意:并非所有連接都被計算在內 只有當服務器正在處理請求并且已經讀取了整個請求頭時,才會計算有效連接。此處忽略測試。

配置語法:

Syntax: limit_conn zone number; Default: —; Context: http, server, location;

(1)配置限制固定連接數

如下,配置如下:

上圖配置如下:

http {include mime.types;default_type application/octet-stream;#cachelua_shared_dict dis_cache 128m;#限流設置limit_req_zone $binary_remote_addr zone=contentRateLimit:10m rate=2r/s;#根據IP地址來限制,存儲內存大小10Mlimit_conn_zone $binary_remote_addr zone=addr:1m;sendfile on;#tcp_nopush on;#keepalive_timeout 0;keepalive_timeout 65;#gzip on;server {listen 80;server_name localhost;#所有以brand開始的請求,訪問本地changgou-service-goods微服務location /brand {limit_conn addr 2;proxy_pass http://192.168.211.1:18081;}location /update_content {content_by_lua_file /root/lua/update_content.lua;}location /read_content {limit_req zone=contentRateLimit burst=4 nodelay;content_by_lua_file /root/lua/read_content.lua;}} }

表示:

limit_conn_zone $binary_remote_addr zone=addr:10m; 表示限制根據用戶的IP地址來顯示,設置存儲地址為的內存大小10Mlimit_conn addr 2; 表示 同一個地址只允許連接2次。

測試:

此時開3個線程,測試的時候會發生異常,開2個就不會有異常

(2)限制每個客戶端IP與服務器的連接數,同時限制與虛擬服務器的連接總數。(了解)

如下配置:

limit_conn_zone $binary_remote_addr zone=perip:10m; limit_conn_zone $server_name zone=perserver:10m; server { listen 80;server_name localhost;charset utf-8;location / {limit_conn perip 10;#單個客戶端ip與服務器的連接數.limit_conn perserver 100; #限制與服務器的總連接數root html;index index.html index.htm;} }

?

總結

以上是生活随笔為你收集整理的Nginx限流-并发量限流配置的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。