提高 Ubuntu VPS 上 WordPress 后端的速度

提高 Ubuntu VPS 上 WordPress 后端的速度

我的 VPS 上运行着一个 WordPress 网站,它的配置相当高(3520MB RAM,4 核)。服务器运行 Nginx 和 php5-fpm。

虽然该网站的前端响应迅速,但后端往往相当慢,一些管理页面需要几秒钟才能加载。该网站运行 WooCommerce,但我运行的是 WP Total Cache 以及 APC 对象缓存。

我的问题实际上是关于 php5-php 配置的,因为我认为我可能没有以最佳方式设置它以利用服务器的资源。这是我的www.confphp5 池:

pm.max_children = 10

; The number of child processes created on startup.
; Note: Used only when pm is set to 'dynamic'
; Default Value: min_spare_servers + (max_spare_servers - min_spare_servers) / 2
pm.start_servers = 2

; The desired minimum number of idle server processes.
; Note: Used only when pm is set to 'dynamic'
; Note: Mandatory when pm is set to 'dynamic'
pm.min_spare_servers = 1

; The desired maximum number of idle server processes.
; Note: Used only when pm is set to 'dynamic'
; Note: Mandatory when pm is set to 'dynamic'
pm.max_spare_servers = 3

; The number of seconds after which an idle process will be killed.
; Note: Used only when pm is set to 'ondemand'
; Default Value: 10s
;pm.process_idle_timeout = 10s;

; The number of requests each child process should execute before respawning.
; This can be useful to work around memory leaks in 3rd party libraries. For
; endless request processing specify '0'. Equivalent to PHP_FCGI_MAX_REQUESTS.
; Default Value: 0
;pm.max_requests = 500

我也在define('WP_MEMORY_LIMIT', '196M');wp-config 中。

我可以采取哪些明显的步骤来提高管理区域的速度?

编辑

检查日志我发现了不少这样的内容:

[2014 年 10 月 1 日 20:56:38] 警告:[pool www] 看起来很忙(您可能需要增加 pm.start_servers 或 pm.min/max_spare_servers),生成 16 个子进程,其中有 0 个空闲,总共有 7 个子进程

我能做些什么来解决吗?

編輯2

top命令。这些值合理吗?:

  PID USER      PR  NI  VIRT  RES  SHR S  %CPU %MEM    TIME+  COMMAND
23237 www-data  20   0  381m  45m  31m S  10.3  1.4   0:03.52 php5-fpm
23229 www-data  20   0  385m  76m  60m S   5.0  2.3   0:09.54 php5-fpm
23230 www-data  20   0  613m  58m  39m S   4.7  1.7   0:06.38 php5-fpm
 1425 www-data  20   0  121m 7000 2292 S   1.3  0.2  87:43.85 nginx

答案1

好吧,我很久以前就发过这个帖子,然后就放弃了。后来我决定重新看一看,并做了一些研究。

我的服务器使用 APC 操作码缓存来提高 php 性能。我将 apc.php 文件放在我的站点根目录中,这样我就可以查看缓存的统计数据。碎片率达到 100%,并且 ti 的未命中率超过 50%。

/etc/php5/conf.d/apc.ini文件中,我只需更新配置设置即可获得以下内容:

apc.shm_size = 256
apc.max_file_size = 12M
apc.ttl=0

重启php

sudo service php5-fpm restart

我的服务器内存充足(大约 3.5GB),因此不会占用太多内存,而且碎片化率接近于零,丢失率约为 3-4%。速度提升非常显著,页面加载时间从之前的 6-8 秒缩短至 1-2 秒。


资料来源及进一步详细信息:

相关内容