And*_*aev 5 php nginx central-processing-unit php-fpm
我在 Ubuntu 12.04 上使用 WordPress,在我的 VPS 上使用 Nginx + php-fpm。有2个CPU核心+4096Mb内存。
我已将 mysql 数据库移至另一台服务器并设置远程访问。同时大约有 300 个在线访问者,php-fpm 使用的 CPU 确实很多:
我还对 WordPress 使用 APC-cache 和 batcache。
php-fpm 配置:
listen = /var/run/fpm-macradar.sock
;listen.backlog = -1
pm = ondemand
pm.max_children = 30
pm.start_servers = 15
pm.min_spare_servers = 10
pm.max_spare_servers = 20
;pm.process_idle_timeout = 10s;
pm.max_requests = 500
pm.status_path = /status
chdir = /
request_slowlog_timeout = 60s
slowlog = /var/log/$pool.log.slow
request_terminate_timeout = 120s
rlimit_files = 131072
rlimit_core = unlimited
catch_workers_output = yes
;php_flag[display_errors] = off
php_admin_value[error_log] = /var/log/fpm-php.www.log
php_admin_flag[log_errors] = on
php_admin_value[memory_limit] = 128M
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激
小智 4
如果您只有两个 CPU 并且有 30 个并行子进程,则正在执行您的 CPU 支持的进程数。当有多个孩子尝试工作时,每个孩子的 CPU 都会减少,结果是一切都会变慢,再加上 CPU 的开销。这对于像 WordPress 这样每个请求都使用大量 CPU 的情况非常重要。
最好将最大数量减少到 2 或 3 个子级,并且 nginx 负责管理连接队列,查询不会丢失。
当FPM是“ondemand”时,你只需要定义pm.max_children,在这种情况下:
pm.max_children = 2
Run Code Online (Sandbox Code Playgroud)
希望对你有帮助。
归档时间: |
|
查看次数: |
14869 次 |
最近记录: |