
저는 꽤 바쁜 웹사이트에 정적 콘텐츠를 제공하기 위해 nginx를 사용합니다. 로깅을 비활성화하고 작업자당 5,000개의 연결로 4개의 작업자 프로세스를 활성화했습니다(최대 연결 제한은 20,000이어야 합니다).
서버는 약 10%의 CPU 사용량과 50%의 RAM에서만 작동하지만 매우 느리고 때로는 nginx가 요청에 응답하는 속도가 너무 느려 시간이 초과됩니다. 연결 수가 적으면 문제가 없지만 로드가 발생하기 시작하면(연결 최대 2,500개) 백업되고 정체됩니다.
직면할 수 있는 다른 병목 현상이나 한계가 있습니까? 이것은 FreeBSD 서버이며 모든 정적 파일은 NFS가 아닌 로컬에 있습니다. NIC는 무제한 기가비트이며 약 75MB만 사용합니다.
어떤 통찰력이라도 감사하겠습니다. 감사해요.
답변1
살펴봐야 할 몇 가지 힌트:
- 오류 로깅을 활성화하고 항상 그곳을 살펴봐야 합니다. 많은 정보를 제공합니다.
- IO 경전화란 무엇입니까?
- 무닌이 설치되어 있나요? 무닌 그래프도 많은 정보를 제공합니다.
- Nginx에서 nginx-status 모듈이 활성화되어 있습니까? 그렇다면 어떤 숫자가 표시됩니까?
- 서버에서 또 어떤 애플리케이션이 실행되고 있나요? 성능에 영향을 미칠 수 있음
- 어떤 유형의 정적 파일을 제공하고 있습니까? 구체적으로 어떤 규모인지