如何确定 App Engine DB 请求的可接受响应时间?
-
25-09-2019 - |
题
根据 Hacker News 上有关 Google App Engine 的讨论,
DB(读取)请求在数据存储器上需要超过100ms。对于约90%的应用程序来说,这是疯狂的,无法使用。
如何确定数据库读取请求可接受的响应时间?
我一直在使用 App Engine,没有注意到数据库响应能力有任何问题。但是,另一方面,我不确定我是否知道在这方面要寻找什么:)
解决方案
的海报是错误的。数据存储get操作速度更快 - 约15-20ms每个,目前。数据存储的查询的操作速度可能很慢,因为他们更多地参与并返回更多的数据,但他们从30-100ms一个典型的查询任何地方仍然完整。其他海报已充分解决这是否是“可接受的”或没有。
其他提示
您可以测量精确怎么每次多少RPC调用(数据存储或以其他方式)正在采取,感谢Guido面包车Rossum的的 中的Appstats相对新的组件(因为它1.3.1的一部分的标准SDK的)。请参见这里。 100毫秒是最精心设计的应用程序很好 - 如果你需要进行两个或三个查询服务页面,你仍然可以服务于小于半秒,即使有大量的处理和渲染参与......不要太的破旧。另外,你可以使用memcache
减少许多的等待时间等。
你是什么意思可以接受?什么样的应用,你在写什么?可接受的方式不同的事情不同的域/应用/人。首先,你应该决定你如何快速想你的应用程序响应请求。让我们挑1次,只是为了便于讨论。现在,有多少DB请求你需要做履行这一要求?比方说,5,让我们也说,我们也有其他的400ms的处理值得做。 OK,所以这是5次读取每100毫秒,再加上其他的东西400毫秒。 900毫秒总量,小于我们的1秒的目标。完善! 100毫秒是在可接受的读取速率。事实上,120毫秒仍然是可以接受的,只是勉强。
现在,让我们来广义含:
numberOfReads * readTime + otherStuffTime = TotalTime
填写你的号码,你可以看到什么是您的具体情况在可接受的时间。
如果你还没有发现任何问题则是通过定义一个可接受的响应时间。唯一的问题是你多久用户高兴地等待。
“数据库读取请求可接受的响应时间”完全取决于您的应用程序和用户。
如果最终结果是您的网站运行速度足以满足您和您的用户的需求,那么 Google 在其 AppEngine 中提供的服务的缓慢响应时间是可以接受的。
现在,更深入地研究这个特定问题,听起来我们正在谈论 GET。 这里 是 GET 延迟的数字,在我看来,平均延迟接近 50 毫秒,然后是 100 毫秒。我并不是说这很好,但我认为说 100ms 并不准确。