Unicorn에서 Ruby on Rails 웹 앱을 실행하고 있습니다. 우리의 응용 프로그램은 CPU 제한이 아닙니다 (코어가 12 인 듀얼 Xeon E5645 시스템을 가지고 있으며 피크로드 평균 값은 약 6입니다). 처음에는 40 명의 유니콘 작업자로 시작했지만 시간이 지남에 따라 애플리케이션 메모리 공간이 증가했습니다. 따라서 작업자 프로세스 수를 줄여야합니다. 나는 표준 (CPU 코어 수 + 1) 공식이 Unicorn에도 적용된다고 생각했지만 동료는 CPU 당 더 많은 Unicorn 인스턴스를 예약 하고이 링크를 제공해야한다고 설득하려고했습니다 . 그러나 유휴 유니콘 프로세스에 왜 그렇게 많은 메모리를 사용해야하는지 정확히 모르겠습니다.
내 질문은 : CPU 코어 당 하나 이상의 유니콘 인스턴스를 갖는 이유는 무엇입니까? 유니콘의 건축 적 특징 때문입니까? 바쁜 Unicorn 프로세스가 새로운 연결을 수락 할 수 없다는 것을 알고 있습니다 (UNIX 도메인 소켓을 사용하여 Unicorn 인스턴스 BTW와 통신 중임).이 문제를 해결하기 위해 백 로그가 정확하게 도입되었다고 생각했습니다. CPU 규칙마다이 2 ~ 8 개의 유니콘 인스턴스를 극복 할 수 있습니까?