在 Google App Engine Standard 中运行时,数据存储模式下的 Google 第二代 Firestore 速度很慢

问题描述 投票:0回答:1

我刚刚将我的应用程序从 Google Datastore(第 1 代)升级到数据存储模式下的 Google Firestore(第 2 代)。

我的数据库查询从大约 200 毫秒缩短到大约 2 秒。我正在努力找出我做错了什么。

它在 Google App Engine 标准中运行,作为 Spring Boot 3 应用程序,使用 Java 17 和嵌入式 Tomcat 作为 Web 服务器。

当我使用数据存储模拟器在本地运行时,数据库查询速度非常快。只是当我部署时,它们运行缓慢。

我让所有数据库查询都有

ReadOption.eventualConsistency()
,但这没有帮助。

我看不到任何有关数据库连接管理的文档。我只是这样做:

Datastore datastore = DatastoreOptions.getDefaultInstance().getService();

我想知道是否必须在每个数据库调用上建立一个新连接。

任何关于我为何看到表现不佳的想法都会很棒。

谢谢。

google-app-engine google-cloud-firestore
1个回答
0
投票

感谢您的评论,我想我已经弄清楚了。

旧的第一代 GAE 框架在内存方面非常高效。 Spring Boot 与嵌入式 Tomcat 的区别并不大。刚刚使用 GAE 库启动服务器,它似乎使用了大约 300MB 的内存。

原本工作正常的 F1 实例现在陷入困境,因为它们的内存限制为 384MB。

我现在已改用 F2 实例,虽然我的应用程序仍然比旧的第一代 GAE 框架慢,但它运行正常。

我的下一步将是调整 Spring Boot 以使其更加高效,或者放弃它。

谢谢大家。

© www.soinside.com 2019 - 2024. All rights reserved.