
그래서 저는 Passenger + Nginx에서 실행되는 Ruby Enterprise Edition을 사용하여 Ubuntu에 Amazon EC2 소규모 인스턴스를 설정했습니다. 25개의 Passenger 인스턴스를 설정했는데 동시 연결 수에 비해 성능이 매우 빠르게 저하됩니다.
예를 들어, JMeter의 동시 연결 1개에서 응답 시간은 1초 미만입니다. 그런 다음 5개의 동시 연결에서 응답 시간이 1초 이상 뛰어납니다. 10개의 동시 연결을 시도할 때 응답 시간은 평균 3~7초입니다!!
25개의 인스턴스가 실행 중이므로 성능 저하 없이 최소한 25개의 동시 연결을 처리할 수 있어야 한다고 상상했습니다. 분명히 저는 웹 서버니 뭐니의 초보자입니다. 누군가 나에게 이러한 성능 저하의 원인을 설명해 줄 수 있습니까?
혹시... CPU가 너무 느린 걸까요? 1.7GB의 메모리이면 충분할 것 같습니다... 각 인스턴스가 약 30MB의 메모리만 실행하고 있는 것으로 보입니다.
Passenger + Nginx를 올바르게 구성하는 방법에 대한 추가 정보가 있으면 크게 감사하겠습니다!!
감사해요!
답변1
테스트를 수행하는 동안 CPU 및 메모리 사용량을 살펴봐야 합니다.
귀하의 설명(그리고 코드에 대해 아무것도 모르는 상태에서)으로 볼 때 CPU가 정체된 것처럼 들리거나 아마도 어딘가에서 잠긴 리소스(데이터베이스?)를 기다리고 있는 것 같습니다.