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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

并发请求数_nginx如何限制并发连接和请求数?

發(fā)布時(shí)間:2023/12/15 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 并发请求数_nginx如何限制并发连接和请求数? 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

簡(jiǎn)介

限制并發(fā)連接數(shù)的模塊為:http_limit_conn_module,地址:http://nginx.org/en/docs/http/ngx_http_limit_conn_module.html

限制并發(fā)請(qǐng)求數(shù)的模塊為:http_limit_req_module,地址:http://nginx.org/en/docs/http/ngx_http_limit_req_module.html

這兩個(gè)模塊都是默認(rèn)編譯進(jìn)Nginx中的。

限制并發(fā)連接數(shù)

示例配置:

http { limit_conn_zone $binary_remote_addr zone=addr:10m; #limit_conn_zone $server_name zone=perserver:10m; server { limit_conn addr 1; limit_conn_log_level warn; limit_conn_status 503; }}

limit_conn_zone ? key zone=name:size; 定義并發(fā)連接的配置

  • 可定義的模塊為http模塊。
  • key關(guān)鍵字是根據(jù)什么變量來(lái)限制連接數(shù),示例中有binary_remote_addr、$server_name,根據(jù)實(shí)際業(yè)務(wù)需求。
  • zone定義配置名稱和最大共享內(nèi)存,若占用的內(nèi)存超過(guò)最大共享內(nèi)存,則服務(wù)器返回錯(cuò)誤

示例中的$binary_remote_addr是二進(jìn)制的用戶地址,用二進(jìn)制來(lái)節(jié)省字節(jié)數(shù),減少占用共享內(nèi)存的大小。

limit_conn ?zone number; 并發(fā)連接限制

  • 可定義模塊為http、server、location模塊
  • zone為指定使用哪個(gè)limit_conn_zone配置
  • number為限制連接數(shù),示例配置中限制為 1 個(gè)連接。

limit_conn_log_level ?info | notice | warn | error ; ?限制發(fā)生時(shí)的日志級(jí)別

  • 可定義模塊為http、server、location模塊

limit_conn_status code; 限制發(fā)生時(shí)的返回錯(cuò)誤碼,默認(rèn)503

  • 可定義模塊為http、server、location模塊

限制并發(fā)請(qǐng)求數(shù)

limit_req_zone ?key zone=name:size rate=rate;定義限制并發(fā)請(qǐng)求的配置。

  • 若占用的內(nèi)存超過(guò)最大共享內(nèi)存,則服務(wù)器返回錯(cuò)誤響應(yīng)

  • rate定義的是請(qǐng)求速率,如10r/s 每秒傳遞10個(gè)請(qǐng)求,10r/m 每分鐘傳遞10個(gè)請(qǐng)求

limit_req ?zone=name [burst=number] [nodelay | delay=number];

  • zone 定義使用哪個(gè) limit_req_zone配置
  • burst=number ?設(shè)置桶可存放的請(qǐng)求數(shù),就是請(qǐng)求的緩沖區(qū)大小
  • nodelay ?burst桶的請(qǐng)求不再緩沖,直接傳遞,rate請(qǐng)求速率失效。
  • delay=number ?第一次接收請(qǐng)求時(shí),可提前傳遞number個(gè)請(qǐng)求。
  • 可定義模塊為http、server、location模塊

limit_req_log_level ?info | notice | warn | error; 限制發(fā)生時(shí)的日志級(jí)別

  • 可定義模塊為http、server、location模塊

limit_req_status code;限制發(fā)生時(shí)的錯(cuò)誤碼

  • 可定義模塊為http、server、location模塊

示例配置1

http { limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s; limit_req zone=one burst=5;}

請(qǐng)求速率為每秒傳遞1個(gè)請(qǐng)求。burst桶大小可存放5個(gè)請(qǐng)求。超出限制的請(qǐng)求會(huì)返回錯(cuò)誤。

示例配置2

http { limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s; limit_req zone=one burst=5 nodelay;}

示例配置2是在示例配置1當(dāng)中添加了nodelay選項(xiàng)。那么rate請(qǐng)求速率則不管用了。會(huì)直接傳遞burst桶中的所有請(qǐng)求。超出限制的請(qǐng)求會(huì)返回錯(cuò)誤。

示例配置3

http { limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s; limit_req zone=one burst=5 delay=3;}

示例配置3是在示例配置1當(dāng)中添加了delay=3選項(xiàng)。表示前3個(gè)請(qǐng)求會(huì)立即傳遞,然后其他請(qǐng)求會(huì)按請(qǐng)求速率傳遞。超出限制的請(qǐng)求會(huì)返回錯(cuò)誤。

Docker入門(mén)教程

執(zhí)行ArrayList的remove(object)方法拋異常?

nginx使用熱部署添加新模塊

mysql定時(shí)備份任務(wù)

? ? ? ? ? ? ?喜歡的話點(diǎn)個(gè)?在看?唄!

總結(jié)

以上是生活随笔為你收集整理的并发请求数_nginx如何限制并发连接和请求数?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。