PHP - 生产环境优化运行速度 - 参数篇

402 阅读1分钟
  • nginx
    -   worker_processes    # 运行线程,auto或者cpu核心数
    -   worker_connections  # 连接数,越大越好,直接干到10万
  • linux内核参数 (/etc/sysctl.conf)
        net.ipv4.tcp_max_tw_buckets = 5000
        net.ipv4.tcp_syncookies = 1
        net.ipv4.tcp_max_syn_backlog = 1024
        net.ipv4.tcp_synack_retries = 2
        net.ipv6.conf.all.disable_ipv6 = 1
        net.ipv6.conf.default.disable_ipv6 = 1
        net.ipv6.conf.lo.disable_ipv6 = 1
        kernel.sysrq = 1
        fs.file-max=65535
        fs.file-max=65535
        fs.file-max=65535
        fs.file-max=65535
        net.core.netdev_max_backlog = 262144
        net.core.somaxconn = 262144
        net.ipv4.tcp_max_orphans = 262144
        net.ipv4.tcp_max_syn_backlog = 262144
        net.ipv4.tcp_timestamps = 0
        net.ipv4.tcp_synack_retries = 1
        net.ipv4.tcp_syn_retries = 1
  • php配置文件修改
        zend_extension=opcache.so   #   启动代码缓存 php7以上的版本这个功能默认是转好的,只是没有启动
        opcache.enable = 1    # 启动代码缓存
        opcache.memory_consumption = 128  # 可用内存 单位:mb
        opcache.interned_strings_buffer = 8   #暂存池中字符串的占内存总量 单位:mb
        opcache.max_accelerated_files = 4000    # 缓存的php文件数 越大越好
        opcache.revalidate_freq = 60  
        opcache.enable_cli = 1  # 确定是否为php的cli版本启用zend opcache 
        opcache.validate_timestamps = 60    # 配置缓存有效期 单位:秒  
  • php-fpm优化
      pm = static
      pm.max_children = 800
      pm.start_servers = 300
      pm.min_spare_servers = 100
      pm.max_spare_servers = 800
      request_terminate_timeout = 100
      request_slowlog_timeout = 0

文章后续会持续更新