1

根据Hacker News 上关于 Google App Engine 的讨论

数据库(读取)请求在数据存储上占用超过 100 毫秒。这对于大约 90% 的应用程序来说是疯狂且无法使用的。

您如何确定 DB 读取请求的可接受响应时间是多少?

我一直在使用 App Engine,但没有注意到数据库响应性有任何问题。但是,另一方面,我不确定我什至不知道在这方面要寻找什么:)

4

5 回答 5

3

借助 Guido van Rossum 的AppStats相对较新的组件(自 1.3.1 以来它是标准 SDK 的一部分),您可以精确测量每个 RPC 调用(数据存储或其他)占用了多少。请参阅此处了解更多信息。对于大多数设计良好的应用程序来说,100 毫秒就足够了——如果您需要进行两到三个查询来提供一个页面,即使涉及大量处理和渲染,您仍然可以在不到半秒的时间内提供服务……不要太破旧。另外,您可以使用它memcache来减少许多延迟等。

于 2010-04-09T04:29:38.380 回答
2

可以接受是什么意思?你在写什么样的应用程序?可接受意味着不同领域/应用程序/人的不同事物。首先,您应该决定您希望您的应用程序以多快的速度响应请求。让我们选择 1 秒,只是为了争论。现在,您需要发出多少数据库请求才能满足该请求?假设是 5。假设我们还有 400 毫秒的其他处理时间要做。好的,这是 5 次读取时间,每次 100 毫秒,再加上 400 毫秒的其他内容。总共 900 毫秒,比我们设定的 1 秒目标还短。完美的!100 毫秒是可接受的读取速率。事实上,120ms 仍然是可以接受的,只是勉强。

现在,让我们概括一下:

numberOfReads * readTime + otherStuffTime = TotalTime

填写你的数字,你可以看到你的特定情况可以接受的时间。

于 2010-04-08T19:15:33.813 回答
2

海报错了。数据存储获取操作要快得多 - 目前每个大约 15-20 毫秒。数据存储区查询操作可能会更慢,因为它们涉及更多并返回更多数据,但对于典型查询,它们仍然在 30 到 100 毫秒之间完成。其他海报已经充分说明了这是否“可以接受”。

于 2010-04-09T07:53:49.260 回答
1

“数据库读取请求的可接受响应时间”完全取决于您的应用程序和用户。

如果最终结果是您的网站运行速度足以满足您和您的用户的需求,那么 Google 在其 AppEngine 中提供的服务的缓慢响应时间是可以接受的。

现在,深入研究这个特定问题,听起来我们正在谈论 GET。 以下是 GET 延迟的数据,在我看来,平均延迟接近 50 毫秒,然后是 100。我并不是说这很好,但我认为说 100 毫秒并不准确。

于 2010-04-08T19:28:52.047 回答
1

如果您没有注意到任何问题,那么根据定义,这是可接受的响应时间。唯一的问题是您的用户愿意等待多长时间。

于 2010-04-08T18:44:37.213 回答