我正在使用开箱即用的Laravel 9 / php 8. 1组合,加载初始页面190 ms听起来很可怕。我构建的上一个项目使用了laravel 7,开发中的响应时间(包括数据库查询)-谈论复杂的查询不到20毫秒
目前我正在尝试设置它,所以测试只是加载默认路由或只是一个返回字符串的路由。
我测试了几个示例
- 我在旧服务器上构建的自定义Docker容器(amazonlinux,php 81,php 81-fpm / nginx)
- 本地Windows 10示例/php 81/ artisan serve
- 由bitnami预构建的容器
所有受试者的React时间均在80 ~ 2200 ms之间
- 我的自定义容器由于优化显示60 ms-80 ms的响应,但在第3 - 4次刷新时,它拉了450- 900 ms的响应时间
- 在Windows 10示例上有稳定的响应,但非常慢~85- 130 ms
- 预制容器也稳定在190 ms左右
您可以理解这种恐怖,因为这些只是部署的空框架。
在我的测试用例中,从另一个容器中提取数据库以选择1-100条记录,但没有改变响应时间。数据库在不到10 ms的时间内被提取。
为了比较,因为我开始检查php-fpm配置(在所有测试用例中仍然是开箱即用的),如果这是瓶颈,我运行了一些基准测试,但它表现得完美无缺。Ops/sec与普通php8.1基准测试中的描述相同
奇怪的是,我注意到在我的自定义容器上的Xdebug中,有2300多条记录。
2条答案
按热度按时间zsbz8rwp1#
你有没有试着改变你的WSL配置或者安装其他的发行版比如ubuntu等等?我在Windows和NTFS问题上遇到了类似的问题。我把我的发行版换成了ubuntu LTS,变得像普通网站一样快。
xvw2m8pv2#
所以现在我得出的结论是,主要的问题主要是Docker和laravel坐在一个暴露给机器的文件夹中的事实。
响应延迟是因为这些文件夹的性能实际上降低了60倍。
经过进一步的测试,这就是它的全部。我正在将硬件从服务器HDD升级到M.2,以部分忽略这种放缓。
我的测试显示,服务器上共享文件夹的传输速率为1.83 MB/s,而专用服务器上的传输速率为110 MB/s。