Apa definisi dari burst dalam pengaturan Nginx limit_req?

9

Apa perbedaan antara ini:

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

dan:

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

Dokumentasi http://wiki.nginx.org/HttpLimitReqModule .

Gajus
sumber

Jawaban:

1

Dalam kasus Anda:

memungkinkan tidak lebih dari 30 permintaan per detik secara rata-rata, dengan semburan tidak melebihi 5 permintaan.

Referensi: http://nginx.org/en/docs/http/ngx_http_limit_req_module.html

Alan Ivey
sumber
2
Menggunakan kata yang didefinisikan dalam definisinya tidak terlalu berguna. Apa itu "burst" dalam konteks limit_req? (Jawaban lain menjawab ini)
Jahed
15

Seperti yang dikatakan tentang burst di http://nginx.org/en/docs/http/ngx_http_limit_req_module.html

Permintaan berlebihan ditunda hingga jumlahnya melebihi ukuran burst maksimum

Ini berarti dalam kasus Anda 5 permintaan pertama 'diabaikan' dan hanya permintaan 6 ke atas yang dihitung. Jadi atas permintaan 35 batas 30 tercapai. Kemudian, berdasarkan permintaan 36 dalam 1 detik yang sama yang berasal dari asal yang sama, nginx akan mengirim 503 tanggapan alih-alih memperlakukan permintaan lebih jauh.

RavanH
sumber
6

Burst artinya akan ditunda untuk detik berikutnya, jika ada kelebihan 30 permintaan / detik maka nginx mengirim 503 kode kesalahan.

Burst berfungsi seperti antrian

Pembaruan Gaptek
sumber