คำจำกัดความของการถ่ายต่อเนื่องในการตั้งค่า Nginx limit_req คืออะไร?


9

อะไรคือความแตกต่างระหว่างสิ่งนี้:

limit_req_zone $binary_remote_addr zone=flood:10m rate=30r/s;
limit_req zone=flood nodelay

และ:

limit_req_zone $binary_remote_addr zone=flood:10m rate=30r/s;
limit_req zone=flood burst=5 nodelay

เอกสารhttp://wiki.nginx.org/HttpLimitReqModule

คำตอบ:


1

ในกรณีของคุณ:

อนุญาตไม่เกิน 30 คำขอต่อวินาทีโดยเฉลี่ยโดยมีการส่งเสียงระเบิดไม่เกิน 5 คำขอ

การอ้างอิง: http://nginx.org/en/docs/http/ngx_http_limit_req_module.html


2
การใช้คำที่กำหนดไว้ในคำจำกัดความไม่มีประโยชน์มาก "ระเบิด" ในบริบทของ limit_req คืออะไร (คำตอบอื่น ๆ ตอบคำถามนี้)
Jahed

15

ตามที่กล่าวไว้เกี่ยวกับระเบิดในhttp://nginx.org/en/docs/http/ngx_http_limit_req_module.html

คำขอที่มากเกินไปจะล่าช้าจนกว่าจำนวนของพวกเขาจะเกินกว่าขนาดการระเบิดสูงสุด

ซึ่งหมายความว่าในกรณีของคุณคำขอ 5 ข้อแรกจะถูก 'เพิกเฉย' และจะนับเฉพาะคำขอ 6 ขึ้นไป ดังนั้นตามคำขอ 35 ถึงขีด จำกัด ของ 30 จากนั้นตามคำร้องขอ 36 ภายใน 1 วินาทีเดียวกันที่มาจากแหล่งกำเนิดเดียวกัน nginx จะส่งการตอบกลับ 503 แทนที่จะดำเนินการตามคำขอต่อไป


6

Burst หมายความว่าการล่าช้าในวินาทีถัดไปหากมีเกิน 30 คำขอ / วินาที nginx จะส่งรหัสข้อผิดพลาด 503 ข้อ

ระเบิดทำงานเหมือนคิว

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.