단축키
Prev이전 문서
Next다음 문서
단축키
Prev이전 문서
Next다음 문서
웹 서버의 성능 저하 문제를 겪고 있는 클라이언트로부터 이메일을 받았습니다 . 서버의 로드 평균이 상당히 낮은 것을 발견했습니다(위 스크린샷 참조). 그러나 웹 사이트는 실제로 매우 느 렸습니다. 일부 잘못된 구성이 있었지만 주요 PHP 성능 병목 현상 중 하나는 CPU 단일 스레드 성능 저하였습니다.
추가 조사를 통해 웹 트래픽이 18개 코어를 모두 동시에 활성화하기에 충분하지 않다는 것을 발견했습니다. 또한 각 CPU 코어는 PHP 요청을 완료하는 데 평균 1~3초가 걸렸습니다. 언급했듯이 다른 코드 효율성 문제가 있었지만 이 기사에서는 CPU 단일 스레드 성능(CPU 코어 속도)에 중점을 둘 것입니다.
각 PHP-FPM 프로세스는 단일 CPU 코어를 사용합니다. PHP는 CPU 단일 스레드 성능에서 큰 이점을 얻습니다.
그것에 도달하기 전에 PHP가 웹 서버의 CPU를 사용하는 방법을 살펴보겠습니다. 이미 알고 계시겠지만 PHP는 멀티스레딩 용으로 설계되지 않았습니다 . 따라서 각 페이지/요청은 하나의 PHP 프로세스에서 제공되며 각 프로세스는 하나의 CPU 코어에 고정됩니다. PHP가 MySQL 쿼리가 완료되기를 기다리는 경우도 마찬가지입니다. 그러나 PHP와 달리 MySQL은 다중 스레드이지만 이는 또 다른 주제입니다.
이것이 PHP가 작동하도록 설계된 방식입니다. 웹 서버에 동시 페이지 요청이 있는 경우 각각 CPU 코어를 사용하는 여러 PHP 프로세스가 동시에 실행됩니다. 따라서 CPU 선택이 매우 중요합니다!
트래픽이 적은 이 서버에 18개의 코어가 있는 경우 서버의 로드 평균은 18 미만으로 유지되었습니다. 실제로 모니터링 중에 피크 트래픽 동안 PHP에서 동시에 사용되는 코어는 6~10개 이하였습니다. 그 결과 내 PDF 감사 보고서 에 포함된 다른 권장 사항 외에 다음도 권장되었습니다.
CPU 코어(18개)가 많지만 코어 속도는 2.0GHz에 불과합니다. PHP 프로세스는 코어별로 실행되므로 3GHz 이상의 코어가 있는 VPS가 워크로드에 더 적합합니다.
더 빠른 CPU 코어 대 추가 CPU 코어
언급한 바와 같이 서버에는 18개의 CPU 코어가 있으며 평균 코어 속도는 2.0GHz 미만입니다. 모니터링을 통해 PHP 애플리케이션과 MySQL 쿼리에 최적화가 필요했지만 느린 CPU 단일 스레드 성능으로 인해 문제가 더욱 악화되었다는 것이 분명해졌습니다 . 속도와 용량, 또는 더 빠른 CPU 코어 대 추가 CPU 코어의 적절한 조합의 중요성을 살펴보겠습니다.
이 서버의 트래픽은 상대적으로 낮았으며 최대 트래픽 동안 약 6~10개의 코어가 사용되었습니다.
2GHz 프로세서 코어가 요청을 처리하는 데 3초가 걸린다면 3GHz 프로세서 코어는 약 2초 안에 동일한 요청을 반환합니다. 그러면 더 빠른 속도로 추가 요청을 위해 코어를 확보할 수 있습니다. 즉, 코어 수를 18개에서 8개로 안전하게 줄일 수 있습니다. 동시 용량은 약간 떨어지지만 서버의 최대 처리량은 30% 이상 증가합니다. 그 결과 확장성이 향상되고 최종 사용자 경험이 빨라집니다! 물론 이 서버가 예를 들어 3GHz 이상의 코어로 높은 로드 평균(18.00+)을 경험한다면 권장 사항은 달라집니다. 대부분의 경우 PHP 및 기타 관련 성능 구성 오류를 해결하면 성능이 향상됩니다. 최적화가 적용된 이 서버는 1~3초가 아닌 평균 100ms~300ms가 걸렸습니다.
느린 2.0GHz 코어가 있는 클라이언트의 이전 서버
웹 호스트에게 느린 웹 애플리케이션 성능에 대해 알렸을 때 호스트는 CPU 단일 스레드 성능 부족에 대해 경고하는 대신 추가 CPU 코어가 포함된 VPS 패키지 업그레이드를 제안했기 때문에 클라이언트는 책임이 없었습니다. 그러나 각 업그레이드 동안 CPU 코어의 2.0GHz 클럭 속도는 변경되지 않았으므로 서버 처리량이 정확히 0% 향상되었습니다 !
CPU 코어 속도 및 코어 수 확인 – Linux 명령줄
서버의 CPU 사양이 확실하지 않다고 가정합니다. 다음 명령으로 빠르게 확인할 수 있습니다.
lscpu
그러면 CPU 사양이 나열됩니다.
root@vps01 [~]# lscpu
아키텍처: x86_64
CPU 작동 모드: 32비트, 64비트
바이트 순서: Little Endian
CPU: 8
온라인 CPU 목록: 0-7
코어당 스레드: 1
소켓당 코어: 8
소켓: 1
NUMA 노드: 1
공급업체 ID: GenuineIntel
CPU 제품군: 6
모델: 62
모델명: Intel(R) Xeon(R) CPU E5-1650 v2 @ 3.50GHz
스테핑: 4
CPU 메가헤르츠: 3499.998
보고MIPS: 6999.99
하이퍼바이저 공급업체: KVM
가상화 유형: 전체
L1d 캐시: 32K
L1i 캐시: 32K
L2 캐시: 256K
L3 캐시: 12288K
NUMA 노드0 CPU: 0-7
nproc을 사용하여 코어 수만 표시하거나 사양과 함께 나열된 모든 코어에 대해 cat /proc/cpuinfo를 사용하십시오.
번호 | 분류 | 제목 | 날짜 | 조회 수 |
---|---|---|---|---|
공지 | 사진📸 | 사랑LOVE 포인트 만렙! 도전 | 2025.03.19 | 4624 |
공지 | 안내 | 🚨(뉴비필독) 전체공지 & 포인트안내 2 | 2024.11.04 | 25844 |
공지 | System | URL만 붙여넣으면 끝! 임베드 기능 | 2025.01.21 | 20427 |
1165 | 잡담 | 아이폰 16e 사전예약 (20가지 특징) | 2025.05.13 | 458 |
1164 | 잡담 | 아이폰 16 프로 맥스 리뷰 | 2025.05.13 | 462 |
1163 | 잡담 | 16 128기가 사용 중인데 이제는 확실히 용량 압박이 있네요. 2 | 2025.05.13 | 439 |
1162 | 잡담 |
충전안하는데 충전표시
1 ![]() |
2025.05.13 | 454 |
1161 | 잡담 |
13프로에서 16프맥으로 업글했습니다...
2 ![]() |
2025.05.13 | 476 |
1160 | 잡담 | 아이폰에 마메되서 너무좋은데... 조금아쉽네요 2 | 2025.05.13 | 481 |
1159 | 잡담 | 16e 슬로모션 먹통현상 없으신가요?? 1 | 2025.05.13 | 450 |
1158 | 잡담 | 작으니깐 좋네요 ㅋㅋ 1 | 2025.05.13 | 450 |
1157 | 잡담 | 정식 업뎃 후 사파리 즐겨찾기 실종? 1 | 2025.05.13 | 483 |
1156 | 잡담 | 미니 5 iPadOS 18.5 올렸습니다. | 2025.05.13 | 469 |
1155 | 잡담 |
'배터리 수명 걱정 마요'...애플이 준비 중인 신기술
3 ![]() |
2025.05.13 | 432 |
1154 | 잡담 | 아이폰 나의찾기 켜기 끄기 설정 방법 참고요. | 2025.04.17 | 883 |
1153 | 잡담 | 병동 간호사덬 있어? 2 | 2025.03.23 | 433 |
1152 | 잡담 | 아이패드 용량 256vs512 2 | 2025.03.05 | 10603 |
1151 | 잡담 | 아이패드 미니7 화면 밝기 원래 낮음? 1 | 2025.03.05 | 9941 |
1150 | 잡담 | 윈도우에서 작업한 문서는 맥북에서 안열려?? 1 | 2025.03.05 | 9832 |
1149 | 잡담 | 아이폰16 무슨색 할까?? 1 | 2025.03.05 | 9950 |
1148 | 잡담 |
iPad Pro M4 가격 인상...
1 ![]() |
2025.03.05 | 9797 |
1147 | 잡담 |
맥북 프로 선택 도와줘(디자인함)
1 ![]() |
2025.03.05 | 9831 |
1146 | 잡담 | 아이폰 카메라 무음 설정 성공했다 2 | 2024.12.10 | 183 |
1145 | 잡담 | 신입사원으로써 아이패드프로 노트앱의 용도를 분류해봤다 | 2024.11.13 | 1213 |
1144 | 잡담 | 해외직구할 때 배대지 선택 | 2024.11.13 | 1204 |
1143 | 잡담 |
프로 3세대 케이스 이거 3개 말곤 걸러라
![]() |
2024.11.13 | 1235 |
1142 | 잡담 | 현재 시점에서 SideCar과 와콤 신티크 비교 | 2024.11.13 | 1216 |
1141 | 잡담 | 프로3세대 K380 오작동 해결법 | 2024.11.13 | 1189 |
1140 | 잡담 | 공부용 유료앱 몇개 써본거 후기 | 2024.11.13 | 1305 |
1139 | 잡담 | SideCar사용시 터치스크린 호환성에 대한 경고 | 2024.11.13 | 1231 |
1138 | 잡담 |
아이패드로 수채화 그리기
![]() |
2024.11.13 | 1206 |
1137 | 잡담 | 2080 오해와 정리 2 | 2024.11.13 | 1412 |
1136 | 잡담 |
아이패드 장시간 보관법
![]() |
2024.11.13 | 1220 |