建议我一个好的 php-fpm 配置

建议我一个好的 php-fpm 配置

我正在为朋友配置服务器。该服务器具有以下规格

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,请启用慢速日志并找出代码运行缓慢的原因。

相关内容