이것의 차이점은 무엇입니까?
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
이것의 차이점은 무엇입니까?
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
답변:
귀하의 경우 :
버스트가 5 개를 초과하지 않는 평균적으로 초당 최대 30 개의 요청을 허용합니다.
참조 : http://nginx.org/en/docs/http/ngx_http_limit_req_module.html
http://nginx.org/en/docs/http/ngx_http_limit_req_module.html의 버스트에 대해 말했듯이
해당 요청이 최대 버스트 크기를 초과 할 때까지 과도한 요청이 지연됩니다.
즉, 귀하의 경우 처음 5 개의 요청은 '무시'되고 요청 6 이상 만 계산됩니다. 따라서 요청 35에서 제한은 30에 도달합니다. 그런 다음 동일한 출처에서 온 동일한 1 초 내에 요청 36에서 nginx는 요청을 더 이상 처리하지 않고 503 응답을 보냅니다.
버스트는 초당 30 회 요청이 있으면 nginx send 503 오류 코드가 다음 초 동안 지연됨을 의미합니다.
버스트는 대기열처럼 작동합니다