【问题标题】:Spring application low performance when filtering dataSpring应用程序过滤数据时性能低下
【发布时间】:2020-12-04 06:36:07
【问题描述】:
  • 我在应用引擎 B2 中创建了 Spring 应用程序,我可以在日志中看到 该应用程序需要1s完成数据过滤(唤醒后 申请)。在我的本地机器上需要 10 毫秒。数据大小为 真的很小,逻辑也没有那么复杂,刚刚开始 项目。

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

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

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

我很想使用 App Engine,但仍然无法弄清楚是什么原因造成的。我使用谷歌教程中 app.yaml 的所有默认设置,没有其他选项。

【问题讨论】:

  • 能否分享部署 App Engine 应用程序所参考的步骤或文档?可能是在设置环境时遗漏了一个依赖项。此外,您能否提供更多关于您的数据在您的应用程序中如何处理或处理的详细信息?除了过滤还有其他操作吗?
  • 如何设置:cloud.google.com/appengine/docs/standard/java11/runtime 我已经更新了我的问题,提供了更多详细信息和我的工作更新。
  • 您查看日志了吗?您看到奇怪的条目还是意外的条目?
  • 是的日志没有显示实例缺少资源。与此无关

标签: java spring-boot google-app-engine google-cloud-platform


【解决方案1】:

速度变慢可能是因为 CPU 数量减少或内存减少。你可以在 app.yaml 下面试试。 您可以将它放在 src\main\appengine 文件夹中。要运行它,您可以使用 mvn clean package appengine:deploy -Dapp.deploy.projectId=projectIdName

runtime: java
env: flex
# Application Resources
resources:
  cpu: 4
  memory_gb: 16
  disk_size_gb: 200
# Automatic Scaling
automatic_scaling:
  min_num_instances: 1
  max_num_instances: 2
  cool_down_period_sec: 120
  cpu_utilization:
    target_utilization: 0.6

【讨论】:

  • 是的,我也这么认为,CPU 对过滤器操作和 App Engine 的调整,标准环境无法处理它。我将尝试通过这些选项再次使用 flex。
猜你喜欢
  • 1970-01-01
  • 2013-12-12
  • 2020-05-04
  • 1970-01-01
  • 2012-06-22
  • 2023-04-05
  • 1970-01-01
  • 2019-03-12
  • 2021-04-23
相关资源
最近更新 更多