Spring 应用程序过滤数据时性能低下

Spring 应用程序过滤数据时性能低下
  • 我在 App Engine B2 中创建了 Spring 应用程序,在日志中我可以看到应用程序需要 1 秒才能完成数据过滤(唤醒应用程序后)。在我的本地机器上则需要 10 毫秒。
  • 数据量确实很小,逻辑也不太复杂,项目才刚刚开始。

所以我的问题是,我的应用引擎实例是否可能缺少某些资源或其他东西?也许我缺少某些配置或 JAVA 选项,因为我现在使用默认配置。也许有人遇到过类似的性能问题。

更新。 我再次尝试使用 B1 B2 B3 B4 实例。结果相同。感觉应用程序的资源量确实很少。

当我创建 Compute Engine VM 时,问题解决了。在虚拟机中,我使用相同的应用程序运行 docker 映像。现在它运行正常。响应很棒。

我很想使用 App Engine,但仍然不知道是什么原因造成的。我使用 Google 教程中 app.yaml 的所有默认设置,没有其他选项。

更新 2。 我尝试过使用 App Engine Flex 环境,并采用不同的选项。结果仍然相同。也许当我多次调用相同的 API 时,我可以看到差异,而不是 30 秒的响应,我得到的是 28 25。所以我的结论是 App engine(据我所知)不适合处理 JAVA 复杂的 CPU 峰值操作(FILTER、SORT ENTITY).. 在 Compute Engine 上,我的解决方案运行良好。然后我去 GKE 上尝试,它在那里也运行良好,从 30 秒(没有启动开销)响应减少到 200 毫秒。在 GCE 或 GKE 中,我使用资源等级最低的 VM。

答案1

通过将实例类更改为更高效的计算操作类(例如B4(在你的情况下具有更高的 CPU 限制)确实会让你的应用程序在这方面更快,但它会花费更多

在升级您的实例类之前,我们建议您保证无法通过编程来提高应用程序的速度,因为在这种情况下价格可能会翻倍。

相关内容