GAE:如何量化前端实例小时数的使用情况?

时间:2014-05-12 13:44:27

标签: python google-app-engine

我们正在Google App Engine上开发一个Python服务器,该服务器应该能够处理传入的HTTP POST个请求(总共每分钟大约1,000到3,000个)。每个请求都将触发一些数据存储区写入操作。此外,我们将编写一个Web客户端作为人类可用的界面,用于显示和分析存储的数据。

首先,我们正在尝试估算GAE的使用情况,以便至少根据请求数量来估算未来我们必须承担的成本。至于数据存储区写入操作和数据存储大小,可以很容易地得出一个近似数字,尽管前端和后端实例时间并不那么明显。

据我所知,每次请求进入时,都会启动一个实例,然后运行15分钟。如果请求在这15分钟内进入,则会使用相同的实例。现在我觉得有点棘手:如果有两个请求同时进入(每分钟有3,000个请求就不那么奇怪了),那么谷歌会发布另一个实例,因此谷歌会增加(至少)0.15个小时?此外,我不太确定在数据存储上不断执行读取操作以显示和分析数据的Web客户端如何增加实例小时数。

有没有人知道计算实例时间和创建有意义的估算的可靠方法?我们将使用该信息来了解与仅订购Web服务器相比,在GAE上运行应用程序的成本是多少。

1 个答案:

答案 0 :(得分:4)

没有100%可靠的方法来评估前端实例小时数。实例一次可以提供多个请求。此外,Google没有记录调度程序(启动实例的系统)的算法。

根据您的代码的要求,我认为您可以期望标准F1实例最多可并行保存5个请求,这是最大值。 2是一个更安全的赌注。

如果可能,我的建议是使用有限数量的用户模拟您网站上的标准互动,并查看实例数量的增长情况,然后进行推断。

例如,让我们假设您在2小时内每分钟模拟100个请求,并且您看到GAE为此产生了5个实例,那么您可以推断连续加载每分钟3000个请求需要150个实例在同样的2个小时内。然后,为了安全起见,我会将这个数字翻倍,并最终估计有300个实例。