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

时间:2010-04-08 18:42:20

标签: java python database google-app-engine response-time

根据this discussion of Google App Engine on Hacker News

  

DB(读取)请求占用超过100毫秒   数据存储。那是疯狂和无法使用的   大约90%的申请。

如何确定数据库读取请求的可接受响应时间是什么?

我一直在使用App Engine而没有注意到DB响应的任何问题。但是,另一方面,我不确定在这方面我甚至不知道该寻找什么:)

5 个答案:

答案 0 :(得分:3)

由于Guido van Rossum的AppStats相对较新的组件(它是1.3.1以来的标准SDK的一部分),您可以精确测量每个RPC调用(数据存储或其他方式)的数量。有关详情,请参阅here。对于大多数精心设计的应用程序,100毫秒都可以 - 如果您需要进行两到三次查询来为页面提供服务,即使涉及大量处理和渲染,您仍然可以在不到半秒的时间内完成服务...破旧。另外,您可以使用memcache来减少许多延迟等。

答案 1 :(得分:2)

你接受什么意思?你在写什么样的应用程序?可接受对不同的域/应用/人来说意味着不同的东西。首先,您应该决定应用程序响应请求的速度。让我们选择1秒钟,仅仅是为了争论。现在,您需要为满足该请求需要多少个DB请求?让我们说5.我们也说我们还有400毫秒的其他处理工作要做。好的,所以每次读取的时间为100毫秒,加上400毫秒的其他东西。总共900ms,低于我们1秒的目标。完善! 100ms是可接受的读取速率。事实上,120毫秒仍然是可以接受的,只是勉强。

现在,让我们概括一下:

numberOfReads * readTime + otherStuffTime = TotalTime

填写您的号码,您可以查看适合您特定情况的可接受时间。

答案 2 :(得分:2)

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

答案 3 :(得分:1)

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

答案 4 :(得分:1)

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

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

现在,深入研究这一特定问题,听起来我们正在谈论GET。 Here是GET延迟的数字,在我看来,平均延迟接近50ms然后是100.我不是说这很好,但我不认为说100ms是准确的。 / p>