2

从我在 irc.freenode.net #appengine 上的一次对话来看,我显然不是唯一一个对 GAE 定价感到困惑的人,所以我想我会在 StackOverflow 上提出这个问题并要求澄清。本质上:给定一个具有以下数字的应用程序,它的“CPU 时间”账单每年应该是多少?

假设:
h = Google App Engine 每小时的 CPU 时间费用。目前,h = 0.10 美元
f = Google App Engine 的每日 CPU 小时免费配额。目前,我认为* f = 2853.5
t = 注册用户总数
s = 同时用户。假设 = t * 0.2
e = (请求数/秒)/同时用户。假设 = 0.5
r = requests/sec = s * e
R = requests/day = r * 3600 * 24
p = CPU hours/request。假设 150 毫秒/请求。即假设 p = 0.15/3600
c = CPU 小时/秒 = r * p
C = CPU 小时/天 = c * 3600 * 24
y = 一年中的平均天数 = 365.25 B = 每年的 CPU 时间费用 = (C - f) * h * y

因此,C = t * 0.2 * 0.5 * (0.15/3600) * 3600 * 24
所以假设我有 10000 个注册用户,这意味着 C = 3600。

在这种情况下:
B = (3600 - f) * h * y = 9146.5 * $0.10 * 365.25 = $40415 到最接近的美元

是这样吗,还是我误解了 CPU 时间是什么,它是如何定价的,或者配额是如何工作的?

*每日免费配额没有明确表示,但我认为一般使用 6.5 小时加上数据存储操作 2,487 小时:总共 2853.5 小时/天,假设我的应用程序主要通过使用控制器来处理请求来生成视图在数据存储中的模型上,并允许对这些模型进行 CRUD 操作。

注意。有关 IRC 讨论的记录,请参阅此问题的编辑历史。

4

1 回答 1

6

我认为你的一些估计太高了。

20% 的网站注册用户随时都在使用该服务。这是非常高的。这意味着普通人只在 5 个网站上注册,并且每天花费 24 小时浏览这 5 个网站。我认为更接近估计一个普通人在 50 个网站上注册,并且每天花费 2.4 小时浏览所有这些网站,这会让你失望 100 倍。

每个并发用户每秒 0.5 个请求。这取决于站点,但我会说正常模式是有一个动态请求来呈现页面模板,以及一系列静态处理程序来呈现图像、CSS 和 javascript。静态请求不会产生 CPU 费用。如果每个页面有一个动态请求,您的估计假设普通用户每秒两次导航到新页面。我会说每5秒一次更合理。

我不确定这种估计一开始就特别有用。无论您的网站有 10,000 名用户还是 1000 万用户,您要么通过流量获利,要么正在亏损。如果您平均每个请求的 CPU 时间为 150 毫秒 @ 每小时 0.10 美元,那么一美元可以为您购买 240,000 个请求。如果您无法从 240,000 次网页浏览中赚取 1 美元的广告收入,那么您就做错了。

这些估算没有考虑您为带宽或磁盘存储支付的费用,或者每次 Google 决定在工作日下午将数据存储区置于只读模式时所损失的费用。或者学习数据存储的开发成本,这会带来许多传统关系数据库所没有的限制。它们也不考虑您在可扩展性方面获得的收益;如果您的网站结果只是稍微受欢迎(就像绝大多数互联网一样),您可能会符合免费配额,并且无需支付任何费用。如果您变得非常受欢迎,那么您的应用程序将自动扩展,前提是您一开始就设计得很好。这与 EC2 或 Azure 不同,无论是否有人点击它,您都需要为每个实例支付约 77 美元。

于 2010-11-20T15:27:00.923 回答