친구를 위해 서버를 구성하고 있습니다. 서버의 사양은 다음과 같습니다.
8GB RAM
Quad Core processor
1 TB HDD
100 mbps port
그러나 모든 PHP 파일은 매우 느리게 로드됩니다. 속도 테스트를 했는데 서버가 FIRST 바이트를 로드하는 데 16초가 걸렸습니다. 저는 이것이 제 php-fpm 구성이라고 믿습니다. 서버는 nginx와 php만 사용하고 mysql 등은 사용하지 않습니다.
내 현재 php-fpm 구성
pm.max_children = 50
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 35
서버로드 및 RAM 사용량이 완벽하게 양호합니다.
이 서버에 적합한 구성을 제안해 주세요.
업데이트:
이 구성은 잘 작동합니다
pm.max_children = 20
pm.start_servers = 7
pm.min_spare_servers = 5
pm.max_spare_servers = 10
pm.max_requests = 100
첫 번째 바이트 로드 시간 문제는 해결되었습니다. 그러나 15~20시간이 지나면 첫 번째 바이트 로드 시간이 점차 증가합니다. 작은 로드 시간을 얻으려면 php-fpm을 다시 로드해야 합니다. 첫 번째 바이트 로드 시간이 작게 유지되고 다시 시작할 필요가 없도록 수정한 내용 위의 conf를 기반으로 합니다.P
업데이트 2: php-fpm을 다시 시작하기 전 첫 번째 바이트를 로드하는 데 걸리는 시간: 1.5초 총 페이지 로드 시간:3.0초 php-fpm을 다시 시작한 후 시간 첫 번째 바이트를 로드하는 데 걸리는 시간: 0.3초 총 페이지 로드 시간:1.5초
이는 느린 코드가 아니라 php-fpm 구성의 문제임을 분명히 보여줍니다.
답변1
일꾼이 너무 많아요! APC를 사용하여 코드 속도를 높이세요. 느린 코드는 단순히 느린 코드일 뿐이라는 @Martin Fjordvald의 의견에 전적으로 동의합니다. 예를 들어 index.php를 게시하면 병목 현상을 찾는 데 도움을 줄 수 있습니다.
내 개인 구성을 볼 수 있습니다.GitHub. Drupal 설치를 사용한 마지막 로드 테스트에서는 약 120ms의 로딩 시간이 나타났습니다.
다음을 통해 새 cronjob을 생성 crontab -e
하고 파일에 다음을 입력합니다.
# Simple reload every hour.
@hourly /etc/init.d/php5-fpm reload
# And restart at midnight.
@daily /etc/init.d/php5-fpm restart
답변2
느린 코드는 느린 코드이며 서버 구성에서는 이에 대해 아무 것도 할 수 없습니다. 속도가 느려질 수 있는 유일한 경우는 트래픽이 너무 많아서 요청이 프로세스를 사용할 수 있을 때까지 기다려야 하는 경우입니다.
PHP-FPM을 사용하고 있으므로 느린 로그를 활성화하고 코드가 느린 이유를 알아보세요.