appengine实例小时计算

时间:2013-01-26 16:30:13

标签: google-app-engine

我现在正在python中开发一个appengine应用程序,我很惊讶我得到的实例小时配额,而我尝试优化我的应用程序的成本和性能。

我正在测试一个特定的task_queue。 (没有其他任何东西在运行期间 - 在我开始没有实例之前)

队列配置的速率/ s为100,有100个桶。 没有配置max_concurrent_requests的限制

900个任务将被推入此队列。 在这个时刻弹出10-11个实例来处理它。

一切都需要不到30秒,每项任务都会执行。

我在之前和之后检查我的实例小时配额,我消耗了大约0.25 - 0.40个实例小时。

为什么会这样?

不应该少得多吗?如果一个实例打开,是否会收取初始费用或最低费用?

2 个答案:

答案 0 :(得分:1)

当一个实例打开时,它将花费你至少15分钟。您的10-11个实例总共需要花费大约2.5小时 如果您不需要这样的快速处理,则应使用max_concurrent_requests限制队列的并行处理量。

答案 1 :(得分:1)

我很确定当高速队列上存在任务积压时,调度程序将增加实例数。 100/100是一个非常高的比率。您告诉调度程序非常快速地执行这些操作,这意味着它会启动实例。

除非您需要非常快速地处理这些任务,否则您应该使用更低的费率。这将导致更少的实例和更长的任务队列。根据您的处理要求,您可以使用拉取队列。这样做可以让你一次租赁和处理数百个任务,并利用批量put()等等。真正取决于你在做什么。