仅托管 1 个 WordPress 网站的 NGINX / PHP 性能不佳的原因是什么

仅托管 1 个 WordPress 网站的 NGINX / PHP 性能不佳的原因是什么

我在我们的 (Proxmox) 虚拟机管理程序上生成了一个 LXC 容器(我们在其上运行多个容器,没有任何性能问题)。我在上面安装了 NGINX 和 PHP7.4,并且(当前)仅托管 1 个 Wordpress 网站。该网站非常简单,仅包含 WooCommerce 插件、WPML 插件和 FooEvents 插件,并使用默认模板(二十二十)。仅配置了 3 个产品。出于开发目的,我目前仅通过主机文件条目通过内部网络访问该网站。

在继续之前,先进行“硬件”设置:

管理程序

  • 惠普DL360G9
  • 2TB 的 raid 1 Enterprise HP SSD 仅适用于 VM 和 LXC
  • 适用于 Proxmox 操作系统的 128GB raid1 企业 HP SSD
  • 2 个至强 E5-2680v3
  • 运行约。 10 个具有相同规格的容器(其中 1 个是网络服务器)
  • 平均CPU负载2%
  • 平均内存使用率 10%
  • 平均IO延迟0%
  • 平均 SWAP 使用率 0%
  • 平均网络流量<50kbps

LXC集装箱规格

  • 4096MB 内存
  • 2 个 V 型核心
  • 50GB存储空间
  • 平均CPU负载0.2%
  • 平均内存使用率 3%
  • 平均 SWAP 使用率 0%
  • 平均网络流量<10kbps

当我访问网站页面时,性能是可以接受的(大约 300 毫秒 - 750 毫秒),即使我认为它可能会更快,因为虚拟机管理程序和 LXC 容器几乎处于空闲状态。

尽管当我在管理面板(/wp-admin)中工作时,性能非常差。例如,当我登录并从仪表板导航到插件页面时,我需要等待 31 点左右!每次都秒 在此输入图像描述

访问主题页面大约需要16秒 在此输入图像描述 在页面加载期间,LXC 容器没有任何大的 CPU、RAM 或磁盘 IO 峰值或其他让我认为 NGINX 或 PHP 负责的东西。

server {
        listen 80;
        listen [::]:80;

        # *** is just for obfuscastion
        root /var/www/webshop.internal.***.de;

        index index.php index.html index.htm index.nginx-debian.html;

        server_name webshop.internal.axxteq.de;

        location / {
              try_files $uri $uri/ /index.php$is_args$args;
        }

        location ~ \.php$ {
                 try_files $uri =404;
                 fastcgi_split_path_info ^(.+\.php)(/.+)$;
                 fastcgi_pass unix:/run/php/php7.4-fpm.sock;
                 fastcgi_index index.php;
                 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                 include fastcgi_params;
        }
}

/var/logs/nginx/error.log或错误日志中没有条目/var/log/php7.4-fpm.log。我不知道如何调试这个或如何找出问题所在。除了我在这个问题中添加的 NGINX 配置之外,是否还需要额外的配置?

答案1

从听起来的方式来看,这似乎是某些代码试图访问无法访问的远程服务器的常见问题。

例如,一个与其供应商的网站通信以通知您更新的插件(最常见)

如果是这种情况,那么您遇到的延迟就是卷曲请求的超时。启用 PHP-FPM 日志然后您可以看到哪个代码导致等待。

相关内容