
현재 E5-2620V3 6코어 CPU를 갖춘 서버가 있습니다.
nginx와 gunicorn을 사용하여 Python 앱을 실행합니다.
연속 루프에서 150개의 클라이언트로 앱을 로드 테스트하면 처리량은 20,000 요청/분입니다. 그러나 CPU는 40%만 사용됩니다.
코어가 12개인 동일한 CPU로 전환할 수 있습니다.
I/O나 메모리 병목 현상이 없다면 처리량이 두 배로 늘어나나요?
답변1
병목 현상이 발생하는 장치를 찾아야 합니다.
지금까지 우리는 그것이 CPU가 아니라는 것을 알고 있습니다. 즉, 대부분의 더 높은 코어 CPU는 더 낮은 클럭 속도를 사용하기 때문에 코어 수를 늘리는 것이 거의 효과가 없거나 약간 부정적인 영향을 미쳐야 한다는 것을 의미합니다.
나는 iotop을 사용하여 디스크 사용량을 모니터링하고, iftop을 사용하여 네트워크 로드를 모니터링하고, htop을 사용하여 CPU 및 RAM 사용량을 모니터링하는 것을 좋아합니다. tmux에 모두 넣으면 한꺼번에 볼 수 있습니다. 가장 많은 부하가 걸리는 것을 찾으십시오. 원인이 무엇인지에 따라