
저는 AWS Elastic Beanstalk 환경에서 틀림없이 이상한 문제를 다루고 있습니다. 특정 시간에 단일 인스턴스에 300개 이상의 연결이 있는 경우 다음 nginx 오류가 발생합니다.
2018/03/23 20:56:53 [오류] 5431#0: *4121 unix:///var/run/puma/my_app.sock에 대한 connect()가 실패했습니다(11: 리소스를 일시적으로 사용할 수 없음). 업스트림에 연결하는 동안, 고객:
답변1
문제와 오류가 리소스 제한 초과와 관련된 구성을 살펴보겠습니다. 아마도 두 가지 OS 리소스가 있을 수 있습니다.
- 열린 파일 설명자
- 단일 사용자가 사용할 수 있는 프로세스입니다. 프로세스 제한을 없애려면 EC2 인스턴스의 nproc 값을 매우 높은 값 또는 무제한으로 유지하세요.
sudo vi /etc/security/limits.conf
나타내다이 링크간단한 아이디어를 위해. 따라서 서버에 설정된 ulimit보다 더 많은 작업자_rlimit_nofile을 가질 수 없으므로 첫 번째 접근 방식은 nginx 매개변수를 계산하고 요구 사항에 따라 조정하는 것입니다.
우리는 봉사할 수 있습니다
worker_processes * worker_connections / ( keepalive_timout * 2 ) users per second
.
이 스케일링 가이드증가하고 정의해야 하는 값을 정량화하는 데 도움이 될 수 있습니다. 웹 서버에 대한 값 정의를 마친 후에는 더 높거나 같은 값으로 제한을 업데이트해야 합니다. 확장하는 데 도움이 되도록 서버가 작동하는 사용자 동시성을 확인하세요.