我正在为朋友配置服务器。该服务器具有以下规格
8GB RAM
Quad Core processor
1 TB HDD
100 mbps port
但是所有 php 文件的加载速度都非常慢。我做了速度测试,服务器需要 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
服务器负载和内存使用情况非常好
请为我建议一个适合该服务器的良好配置
更新:
此配置工作正常
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 才能缩短加载时间。根据上面的配置,我对它进行了修改,以便第一个字节加载时间保持较小,而我不必重新启动它:P
更新 2:在我重新启动 php-fpm 之前,加载第一个字节的时间:1.5 秒,页面总加载时间:3.0 秒,在我重新启动 php-fpm 之后,加载第一个字节的时间:0.3 秒,页面总加载时间:1.5 秒
这清楚地表明这是 php-fpm 配置的问题,而不是代码慢的问题
答案1
工人太多了!使用 APC 来加速你的代码,我完全同意 @Martin Fjordvald 的观点,慢代码就是慢代码。例如,你可以发布你的 index.php,我们可以帮你找到瓶颈。
您可以查看我的个人配置GitHub. 对 Drupal 安装进行的最后一次负载测试显示加载时间约为 120 毫秒。
通过创建一个新的 cronjobcrontab -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,请启用慢速日志并找出代码运行缓慢的原因。