佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > nginx限制并發(fā)連接請求數(shù)的方法

nginx限制并發(fā)連接請求數(shù)的方法

熱門標(biāo)簽:硅谷的囚徒呼叫中心 百度競價(jià)點(diǎn)擊價(jià)格的計(jì)算公式 阿里云 美圖手機(jī) 智能手機(jī) 網(wǎng)站建設(shè) 使用U盤裝系統(tǒng) 檢查注冊表項(xiàng)

簡介

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

限制并發(fā)請求數(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ù)什么變量來限制連接數(shù),示例中有binary_remote_addr、$server_name,根據(jù)實(shí)際業(yè)務(wù)需求。
  • zone定義配置名稱和最大共享內(nèi)存,若占用的內(nèi)存超過最大共享內(nèi)存,則服務(wù)器返回錯(cuò)誤

示例中的$binary_remote_addr是二進(jìn)制的用戶地址,用二進(jìn)制來節(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í)的日志級別

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

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

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

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

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

  • 若占用的內(nèi)存超過最大共享內(nèi)存,則服務(wù)器返回錯(cuò)誤響應(yīng)
  • rate定義的是請求速率,如10r/s 每秒傳遞10個(gè)請求,10r/m 每分鐘傳遞10個(gè)請求

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

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

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

  • 可定義模塊為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;
}

請求速率為每秒傳遞1個(gè)請求。burst桶大小可存放5個(gè)請求。超出限制的請求會(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請求速率則不管用了。會(huì)直接傳遞burst桶中的所有請求。超出限制的請求會(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è)請求會(huì)立即傳遞,然后其他請求會(huì)按請求速率傳遞。超出限制的請求會(huì)返回錯(cuò)誤。

到此這篇關(guān)于nginx限制并發(fā)連接請求數(shù)的方法的文章就介紹到這了,更多相關(guān)nginx限制并發(fā)連接請求數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

標(biāo)簽:山南 賀州 湖北 湘潭 通遼 懷化 煙臺 黃山

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《nginx限制并發(fā)連接請求數(shù)的方法》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    共和县| 息烽县| 中卫市| 大余县| 仁布县| 高青县| 嘉义县| 喜德县| 于都县| 沧州市| 上蔡县| 闽侯县| 武川县| 兴业县| 姚安县| 屏山县| 句容市| 耒阳市| 元阳县| 莫力| 翼城县| 蛟河市| 梧州市| 吉隆县| 宁城县| 马关县| 平舆县| 全南县| 齐齐哈尔市| 务川| 贵州省| 军事| 海林市| 道真| 鄂温| 闽侯县| 庐江县| 文登市| 天镇县| 石林| 通江县|