세 가지 nginx 제한 흐름 방식
1、limit_conn_zone
2、limit_req_zone
3、ngx_http_upstream_module
앞의 두 가 지 는 클 라 이언 트 (즉 단일 ip 제한) 에 만 있 을 수 있 고 문서 도 완전 하지만 테스트 를 통 해 공식 문서 가 말 한 결과 에 이 르 지 못 한 것 으로 나 타 났 다 (동생 의 테스트 방법 에 문제 가 있 을 수 있 음).
여기 서 먼저 앞의 두 가 지 를 간단하게 소개 합 니 다.
1、limit_conn_zone
1.1nginx 설정
http{
limit_conn_zone $binary_remote_addr zone=one:10m;
server
{
......
limit_conn one 10;
......
}
}
그 중에서 'limit conn one 10' 은 server 층 에 두 면 전체 server 에 효과 가 있 을 뿐만 아니 라 location 에 두 면 단독 location 에 만 효과 가 있 습 니 다.
이 설정 은 클 라 이언 트 의 병렬 연결 수 는 10 개 에 불과 하 다 는 것 을 나타 낸다.
2.2 결과
ab 도구 20 동시 요청 nginx, 볼 수 있 습 니 다.
Complete requests: 20
Failed requests: 9
(nginx 설정 의 ip 병렬 연결 수가 10 이 고 결과 의 성공 수가 + 1 인 이 유 는 알 수 없습니다. nginx 로그 에서 도 9 개의 요청 이 503 으로 돌아 가 는 것 을 볼 수 있 습 니 다)
2、limit_req_zone
2.1 nginx 설정
http{
limit_req_zone $binary_remote_addr zone=req_one:10m rate=1r/s;
server
{
......
limit_req zone=req_one burst=120;
......
}
}
그 중에서 'limit req zone = req one burst = 120' 은 server 층 에 두 면 전체 server 에 효과 가 있 을 뿐만 아니 라 location 에 두 면 단독 location 에 만 효과 가 있 습 니 다.
rate = 1r / s 는 주소 당 1 초 에 한 번 만 요청 할 수 있다 는 뜻 입 니 다. 즉, 토 큰 통 burst = 120 에 모두 120 개의 토 큰 이 있 고 매 초 에 1 개의 토 큰 만 추가 되 었 습 니 다.
120 개의 토 큰 을 보 내 면 더 많은 요청 이 503 으로 돌아 갑 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.