国产精品无码一区二区三区太,亚洲一线产区二线产区区别,欧美A区,人妻jealousvue人妻

×

Nginx服務(wù)器限速功能(二)

  • 作者:新網(wǎng)
  • 來源:新網(wǎng)
  • 瀏覽:100
  • 2018-05-12 14:17:52

定義有兩個部分: zone= keyword標識的區(qū)域名稱和冒號后面的大小。 大約16,000個IP地址的狀態(tài)信息需要1兆字節(jié),所以我們的區(qū)域可以存儲大約160,000個地址。 如果Nginx需要添加一個新條目時,存儲空間將被耗盡,它將刪除最舊的條目。

 定義有兩個部分: zone= keyword標識的區(qū)域名稱和冒號后面的大小。 大約16,000個IP地址的狀態(tài)信息需要1兆字節(jié),所以我們的區(qū)域可以存儲大約160,000個地址。 如果Nginx需要添加一個新條目時,存儲空間將被耗盡,它將刪除最舊的條目。

timg.jpg

<div
如果釋放的空間不足以容納新記錄,則Nginx返回狀態(tài)碼503(Temporarily Unavailable) 。 此外,為了防止內(nèi)存耗盡,每當Nginx創(chuàng)建一個新條目時,最多可以刪除兩個在前60秒內(nèi)沒有使用的條目。
 
Rate - 設(shè)置最大請求率。 在這個例子中,速率不能超過每秒10個請求。 Nginx實際上以毫秒粒度跟蹤請求,所以這個限制對應(yīng)于每100毫秒1個請求。 由于我們不允許爆發(fā),這意味著如果請求在前一個允許的時間之后小于100毫秒時被拒絕。
 
limit_req_zone指令為速率限制和共享內(nèi)存區(qū)域設(shè)置參數(shù),但實際上并不限制請求速率。
 
因此,您需要通過在其中包含limit_req指令來將限制應(yīng)用于特定location或server塊。 在這個例子中,我們是對/login/的URI速率限制請求。
 
因此,現(xiàn)在每個唯一的IP地址被限制,/login/每秒10個請求 - 或者更確切地說,在前一個100毫秒內(nèi)不能請求該URL。
 
處理并發(fā)
 
如果我們在100毫秒內(nèi)得到兩個請求會怎么樣? 對于第二個請求,Nginx將狀態(tài)碼503返回給客戶端。 這可能不是我們想要的,因為應(yīng)用程序本質(zhì)上是突發(fā)性的。
 
相反,我們想要緩沖任何多余的請求并及時提供服務(wù)。 這是我們使用burst參數(shù)limit_req ,在這個更新的配置:
 
burst參數(shù)定義了客戶端可以超過區(qū)域指定的速率(使用我們的示例mylimit區(qū)域,速率限制為每秒10個請求,或每100毫秒1個)可以產(chǎn)生多少個請求。
 
在前一個請求到達100毫秒后的請求被放入一個隊列中,這里我們將隊列大小設(shè)置為20。
 
這意味著如果21個請求同時從一個給定的IP地址到達,Nginx立即將第一個請求轉(zhuǎn)發(fā)到上游服務(wù)器組,并將剩下的20個放入隊列中。 然后,它每100毫秒轉(zhuǎn)發(fā)一個排隊的請求,并且只有當傳入的請求使排隊請求的數(shù)量超過20時才返回503給客戶端。
 
無延遲隊列
 
具有burst的配置會導致流量暢通,但不是很實用,因為它可能會使您的網(wǎng)站顯得很慢。
 

免責聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻自行上傳,本網(wǎng)站不擁有所有權(quán),也不承認相關(guān)法律責任。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,請發(fā)送郵件至:operations@xinnet.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

免費咨詢獲取折扣

Loading