PHP 8.1 上的 Laravel 9 响应缓慢 - 开箱即用

dev*_*dev 5 php laravel docker laravel-9

我正在使用开箱即用的 Laravel 9 / php 8.1 组合,加载初始页面 190 毫秒听起来很可怕。我构建的上一个项目使用了 laravel7,开发过程中的响应时间(包括数据库查询)——复杂的响应时间不到 20 毫秒

目前我正在尝试设置它,因此测试只是加载默认路由或只是返回字符串的路由。

我测试了几个实例

  • 我在旧服务器上构建的自定义 docker 容器(amazonlinux、php81、php81-fpm / nginx)
  • 本地 Windows 10 实例 / php81 / artisan 服务
  • bitnami 预建容器

它们都显示出 80 毫秒到 2200 毫秒不等的响应

在此输入图像描述

  • 由于优化,我的自定义容器显示了 60ms - 80ms 的响应,但在第 3-4 次刷新时,它的响应时间为 450-900ms
  • 在 Windows 10 实例上有稳定的响应,但速度非常慢 ~85-130ms
  • 预建容器也稳定在 190 毫秒左右

您可以理解其中的恐怖,因为这些只是部署的空框架。

我的测试用例是从另一个容器中提取数据库来选择 1-100 条记录,但没有改变响应时间。数据库在不到 10 毫秒的时间内被拉取。

为了进行比较,因为我开始审查 php-fpm 配置(在所有测试用例中仍然是开箱即用的),如果这是瓶颈,我运行了一些基准测试,但它的性能完美无缺。Ops/sec 如正常 php8.1 基准测试中所述

我注意到奇怪的事情是在我的自定义容器的 Xdebug 中,下面还有 2300 条记录。

在此输入图像描述

小智 1

您是否尝试更改 WSL 配置或安装其他发行版(例如 ubuntu 等)?我在 Windows 和 NTFS 问题上遇到了类似的问题。我将发行版更改为 ubuntu LTS,变得像普通网站一样更快。