我们的移动 API 托管在 AWS EC2 实例中,运行速度非常快,大约 300 毫秒。最近我们迁移到了 Azure VM,之后所有 API 响应都非常慢,大约需要 2 到 8 秒。
结构如下。
- AWS EC2 实例大小为 4 个 CPU、16GM RAM(t3.xlarge)
- Azure VM 为(Ds3v2)4 个 CPU,16GM RAM
- 程序基于Lumen框架(PHP)构建,连接到Mysql
与 Azure 技术支持讨论后,他们建议将实例升级到 F 系列,我也这样做了。但我仍然面临这个性能问题。
答案1
这种情况可能由于多种原因而发生,不一定与 VM 有关。找出此问题的最佳方法是向您的应用添加日志记录/分析功能,这样您就可以确切地知道瓶颈在哪里。我至少会添加日志记录:
- 当请求到达服务器时
- 当数据库查询开始时
- 当数据库查询结束时
- 当响应返回给客户端时这将向您提示问题出在哪里。
此外,您是否查看过机器的指标?CPU 和 RAM 利用率是多少?