php - Kubernetes (EKS) 与 Baremetal 上的 Laravel 应用程序响应时间慢
问题描述
我正在将我们的 Laravel 应用程序迁移到当前在 Docker 上运行的 EKS Kubernetes,但是响应时间明显变慢。
当前响应时间大致为(Docker):350-450 ms
新的响应时间大致为(Kubernetes):750-1100 ms
显着的环境差异:
- 源代码在 Docker 环境中作为卷安装,而 Kubernetes 环境将源代码烘焙到映像中(PVC 用于存储文件夹)
- Docker 环境运行在裸机服务器上,而 Kubernetes 运行在 AWS 的 EKS 上
APM 调查结果:
我正在运行 DataDog,这表明很多时间都花在了 Laravel 上,而不是 DB 或 Redis,这并没有给我太多的工作。
在这一点上,我认为这是与基础设施相关的问题,而不是 Laravel 的问题,因为 Docker 环境已经(体面地)预制了。
我将它作为一个 init 容器运行(每次部署或 pod 重启都会发生):
php artisan opcache:clear
php artisan route:cache
php artisan config:clear
php artisan config:cache
php artisan view:clear
php artisan view:cache
php artisan opcache:compile --force
php artisan migrate --force
php artisan db:new_seed
php artisan queue:restart
我不确定从哪里开始进行故障排除。任何建议都会有所帮助。
解决方案
推荐阅读
- python - 我应该使用什么类来抓取图像链接?我正在使用scrapy和spider lib
- ruby - 无效的参数“路径”=>“/”(HTTParty Ruby)
- python - 从 2 个不同的列表中删除相似的项目
- google-cloud-firestore - Firebase/Firestore 事务是否创建内部队列?
- sql - 带除法的sqlite嵌套查询
- r - R中的标签文本重叠
- c# - 如果不在 html 注释行中,则正则表达式匹配 URL
- ios - 从主机控制器重新加载 SwiftUI 视图
- sql - 如何在 SQL Server 中将八个十六进制字节(16 位)转换为十进制值?
- python - ModuleNotFoundError- 请求(尽管安装尝试显示“要求已满足”)