该服务器的 php-fpm 和 nginx 的最佳配置是什么?

该服务器的 php-fpm 和 nginx 的最佳配置是什么?

我有一台具有以下规格的服务器,想知道我可以为 nginx 和 php-fpm 设置的最佳配置是什么?

RAM:96GB CPU:48 核 SSD:200GB 操作系统:Drupal 每日用户:52k 到 55K PHP:7.3 Mysql:8.0

我有以下 nginx 配置:

server {
    listen 80;
    listen 443 domain.com www.domain.com;
    root /some_directory/;
    index index.php index.html;
    access_log /var/log/nginx/access.log;
    error_log  /var/log/nginx/error.log;
    client_max_body_size 50M;
    /// some CMS confis ///
    location ~ \.php$ {
            try_files $uri =404;
            fastcgi_split_path_info ^(.+\.php)(/.+)$;
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            include fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_param PATH_INFO $fastcgi_path_info;
            fastcgi_read_timeout 300;
        }

并使用默认的 php-fpm 设置,但我确实需要更改它,因为我收到了 [pool www] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers),错误

答案1

应按顺序从以下组件中寻找改进:

  1. Drupal 优化/缓存选项,例如利用 APCu 进行数据缓存
  2. MySQL数据库优化/设置
  3. PHP 优化(Opcode 缓存)

优化 nginx 没什么意义,因为大多数请求处理都是在 PHP/MySQL 中进行的。

此外,不可能只给出“最佳配置”,因为实际配置很大程度上取决于几个细节。最好的选择是科学方法:进行更改,衡量改进。重复,直到性能达到令人满意的水平。

相关内容