본문 바로가기
조회 수 1619 추천 수 0 댓글 0

단축키

Prev이전 문서

Next다음 문서

단축키

Prev이전 문서

Next다음 문서

웹 서버의 성능 저하 문제를 겪고 있는 클라이언트로부터 이메일을 받았습니다 . 서버의 로드 평균이 상당히 낮은 것을 발견했습니다(위 스크린샷 참조). 그러나 웹 사이트는 실제로 매우 느 렸습니다. 일부 잘못된 구성이 있었지만 주요 PHP 성능 병목 현상 중 하나는 CPU 단일 스레드 성능 저하였습니다.

 

추가 조사를 통해 웹 트래픽이 18개 코어를 모두 동시에 활성화하기에 충분하지 않다는 것을 발견했습니다. 또한 각 CPU 코어는 PHP 요청을 완료하는 데 평균 1~3초가 걸렸습니다. 언급했듯이 다른 코드 효율성 문제가 있었지만 이 기사에서는 CPU 단일 스레드 성능(CPU 코어 속도)에 중점을 둘 것입니다.

PHP는 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 코어의 적절한 조합의 중요성을 살펴보겠습니다.

PHP 느린 프로세스
이 서버의 트래픽은 상대적으로 낮았으며 최대 트래픽 동안 약 6~10개의 코어가 사용되었습니다.

2GHz 프로세서 코어가 요청을 처리하는 데 3초가 걸린다면 3GHz 프로세서 코어는 약 2초 안에 동일한 요청을 반환합니다. 그러면 더 빠른 속도로 추가 요청을 위해 코어를 확보할 수 있습니다. 즉, 코어 수를 18개에서 8개로 안전하게 줄일 수 있습니다. 동시 용량은 약간 떨어지지만 서버의 최대 처리량은 30% 이상 증가합니다. 그 결과 확장성이 향상되고 최종 사용자 경험이 빨라집니다! 물론 이 서버가 예를 들어 3GHz 이상의 코어로 높은 로드 평균(18.00+)을 경험한다면 권장 사항은 달라집니다. 대부분의 경우 PHP 및 기타 관련 성능 구성 오류를 해결하면 성능이 향상됩니다. 최적화가 적용된 이 서버는 1~3초가 아닌 평균 100ms~300ms가 걸렸습니다.

PHP: 더 많은 CPU 코어 또는 더 빠른 CPU 코어?
느린 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를 사용하십시오.


List of Articles
번호 분류 제목 날짜 조회 수
공지 사진📸 사랑LOVE 포인트 만렙! 도전 2025.03.19 4623
공지 안내 🚨(뉴비필독) 전체공지 & 포인트안내 2 2024.11.04 25844
공지 System URL만 붙여넣으면 끝! 임베드 기능 2025.01.21 20427
1165 잡담 국정원에서 해킹 프로그램을 구매한 내용들 (영상) 2016.03.01 807
1164 잡담 마이크로소프트의 컴퓨터 운영체제 - 윈도(Windows) 2016.03.20 826
1163 잡담 아이폰7 프로 커넥트 도면 유출 1 2016.05.16 603
1162 잡담 윈도우10 기본게임 지뢰찾기 설치하는 법 file 2021.02.19 357
1161 잡담 백바지 애플힙 뒤태 file 2021.03.09 315
1160 잡담 애플힙 유혜나 트레이너 file 2021.03.10 199
1159 잡담 아이폰을 훔처간 여자 file 2021.07.11 70
1158 잡담 아이폰쓰는 처자들 1 file 2021.07.11 101
1157 잡담 아이폰쓰는 처자들 2 file 2021.07.11 108
1156 잡담 아이폰쓰는 처자들 3 file 2021.07.11 69
1155 잡담 민트초코, 파이애플 좋아하면 근본 아니냐? 2021.09.05 91
1154 잡담 본인 아이폰 화면 file 2021.09.12 89
1153 잡담 애플워치 살까 2021.09.21 78
1152 잡담 근본 알려줌 2021.09.23 92
1151 잡담 내 아이폰은 케빵 구분 못할 수 밖에 없긴해 file 2021.11.09 82
1150 잡담 아이폰쉑 초기화 타이밍 온 듯 2021.11.09 86
1149 잡담 ㅇㅎ) 제2의 유현주라는 女골퍼 file 2021.12.22 78
1148 잡담 아이폰 쓰시는 분들은 다 사파리 쓰시나 2022.01.08 63
1147 잡담 아이폰 극혐이네 2022.01.12 55
1146 잡담 본인 아이폰 변경 후 2022.01.12 62
1145 잡담 여자친구 소원 애플 활동때 얼빡 file 2022.01.16 107
1144 잡담 iPhone 14 시리즈 속보 요약 2022.01.22 310
1143 잡담 애플 약간 ㅈ같은이유 2022.02.09 80
1142 잡담 스냅 8 GEN 1 성능 미리 알아보기 file 2022.02.09 98
1141 잡담 집가서 애플워치 주문해야지 2022.02.09 93
1140 잡담 전역하고 엄마한테 워치 4 선물 해드리고 나도 애플워치 사려고 했는데 2022.02.09 97
1139 잡담 애플워치 무섭네여 2022.02.09 111
1138 잡담 애플워치 3 in 1 충전기 후기 2022.02.10 86
1137 잡담 만렙 3in 1 (갤워치+이어폰+폰) 무선충전기 팜니다.. me개봉 제품 팜니다 file 2022.02.10 89
1136 잡담 맥북에어 M2 존버할라했는데 file 2022.02.14 89
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 39 Next
/ 39