如何确定App Engine数据库请求的可接受响应时间?

1 投票
5 回答
2225 浏览
提问于 2025-04-15 21:23

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

数据库(读取)请求在数据存储上需要超过100毫秒。这太疯狂了,对于大约90%的应用来说根本无法使用。

你怎么判断数据库读取请求的响应时间是否可以接受呢?

我一直在使用App Engine,没觉得数据库的响应有什么问题。不过,另一方面,我也不太确定自己该关注什么来判断这一点 :)

5 个回答

2

你说的“可接受”是什么意思呢?你在写什么样的应用程序?对于不同的领域、应用和人来说,“可接受”的标准是不一样的。首先,你需要决定你的应用程序希望多快对请求做出响应。我们假设希望在1秒内响应。接下来,你需要进行多少次数据库请求才能完成这个请求呢?假设需要5次。还有,我们假设还有400毫秒的其他处理时间。好吧,这样算下来就是5次读取,每次100毫秒,加上400毫秒的其他处理,总共是900毫秒,这比我们设定的1秒目标要少。太好了!100毫秒的读取速度是可以接受的。实际上,120毫秒也勉强可以接受。

现在,我们来概括一下:

numberOfReads * readTime + otherStuffTime = TotalTime

把你的数字填进去,你就能看到在你特定情况下,什么样的时间是可以接受的。

3

你可以准确测量每次RPC调用(无论是数据存储还是其他)的耗时,这要感谢Guido van Rossum的AppStats这个相对较新的组件(自1.3.1版本起,它就成为标准SDK的一部分)。想了解更多,可以查看这里。对于大多数设计良好的应用来说,100毫秒的响应时间是可以接受的——如果你需要进行两到三次查询才能加载一个页面,即使涉及很多处理和渲染,仍然可以在不到半秒的时间内完成……这还不错。此外,你还可以使用memcache来减少很多延迟等问题。

2

发帖的人说错了。现在,数据存储的获取操作非常快,每次大约只需要15到20毫秒。而数据存储的查询操作可能会慢一些,因为它们涉及的内容更多,返回的数据也更多,但通常情况下,完成一个查询大约需要30到100毫秒。其他人已经充分讨论过这个速度是否“可以接受”。

撰写回答