PHP性能优化

PHP性能优化

php-fpm.conf配置

php-fpm工作方式

  • static
    如果设置成 staticphp-fpm 进程数自始至终都是 pm.max_children 指定的数量,不再增加或减少

  • dynamic
    如果设置成 dynamic,则 php-fpm 进程数是动态的,最开始是 pm.start_servers 指定的数量,如果请求较多,则会自动增加,保证 空闲的进程数不小于 pm.min_spare_servers,如果进程数较多,也会进行相应清理,保证多余的进程数不多于 pm.max_spare_servers

这两种不同的进程管理方式,可以根据服务器的实际需求来进行调 整

####pm.max_children:静态方式下开启的 php-fpm 进程数量。

####pm.start_servers:动态方式下的起始 php-fpm 进程数量。

####pm.min_spare_servers:动态方式下的最小 php-fpm 进程数量。

####pm.max_spare_servers:动态方式下的最大 php-fpm 进程数量。

其他优化方法:

  • 尽量少安装 PHP 模块,最简单是最好(快)的
  • PHP FastCGI 子进程数(建议压力测试来得出自己服务器合理的值)
  • socket 连接 FastCGI,/dev/shm 是内存文件系统
  • Linux 下增加文件打开数

    1
    2
    3
    4
    5
    6
    cat >> /etc/security/limits.conf <<EOF
    * soft nproc 65535
    * hard nproc 65535
    * soft nofile 65535
    * hard nofile 65535
    EOF
  • 增加 PHP-FPM 打开文件描述符的限制

    1
    2
    #vi $php_install_dir/etc/php-fpm.conf
    rlimit_files = 51200
  • 使用 php 代码加速器,例如 eAccelerator、XCache、APC、OpCache

当前网速较慢或者你使用的浏览器不支持博客特定功能,请尝试刷新或换用Chrome、Firefox等现代浏览器