calling /_ah/warmup is bad under new price model?

134 views
Skip to first unread message

Tapir

unread,
Sep 4, 2011, 11:21:26 PM9/4/11
to Google App Engine
seems it is not essential any more.

Tim Hoffman

unread,
Sep 5, 2011, 12:45:09 AM9/5/11
to google-a...@googlegroups.com
That would entirely depend on how long its take your instances to start up.

If you have something really heavy like >10sec then I think /_ah/warmup is essential

Just my 2c

T

Tapir

unread,
Sep 5, 2011, 1:11:23 AM9/5/11
to Google App Engine
Do you understand the new price model?
For example, your website traffice is low, spike style.
You set the number of idle instance to 1,
then if a new visit is coming, the idle instance will handle it.
But if google calls /_ah/warmup at the same time with this visit,
then a new instance will be created, which will cost your money.

For an extreme example, you website will get 100 visits per day.
Under the old price model, the free quotas are enough for these
visits.
But if the 100 visits come at the same time, then 99 new instances
will be opened.
You will pay for the new 99 instances.

So under the new price model, the free quotas are not that much as
they looks.

Tim Hoffman

unread,
Sep 5, 2011, 3:07:51 AM9/5/11
to google-a...@googlegroups.com
I would think your mad to use a framework with a typical startup time for an app instance
of 10 secs if your only going to serve 100 requests a day.  

As I said the value of /_ah/warmup depends on the situation.

Tim

Tapir

unread,
Sep 5, 2011, 4:04:43 AM9/5/11
to Google App Engine
I think it is totally useless now.
It conflicts with "number s of idles instances" setting.

Mike Wesner

unread,
Sep 5, 2011, 11:04:03 AM9/5/11
to Google App Engine
It is not useless. It does the exact same thing it did before, gets
your instances hot so that they can serve user facing traffic as
quickly as possible (without the startup overhead). Making your code
perform well and it's cost are no longer aligned under the new
pricing.

Tapir

unread,
Sep 5, 2011, 9:29:13 PM9/5/11
to Google App Engine
Do you understand the new app settings?!
If you have 3 idle instances, warmup is just waste your money.

Mike Wesner

unread,
Sep 5, 2011, 9:46:41 PM9/5/11
to Google App Engine
In order for them to be idle, they must start. They can either start
as a result of a user facing request or a warmup request. If you
don't want your users to suffer the latency or your instance startups,
then warmup requests are still relavant.

I do understand the new scheduler settings. Let me know if I can
answer any of your questions. ;)

-Mike

Tapir

unread,
Sep 5, 2011, 11:13:12 PM9/5/11
to Google App Engine
Mike Wesner wrote:
> In order for them to be idle, they must start. They can either start
> as a result of a user facing request or a warmup request. If you
> don't want your users to suffer the latency or your instance startups,
> then warmup requests are still relavant.

ok, maybe you are right. Then this means if I set the "Min Pending
Latency"
to 15s and my app startup time is 10s, the it is possible a visit will
wait 25s
to load a page?

Tim Hoffman

unread,
Sep 6, 2011, 1:10:20 AM9/6/11
to google-a...@googlegroups.com
Yes

Thats what I have been trying to convey from the beginning.

warmup requests have their place, its obviously better if you apps starts up quick enough that you don't need them
but I think they are probably few and far between ;-)

T

Stephen

unread,
Sep 6, 2011, 5:20:28 AM9/6/11
to google-a...@googlegroups.com
On Tue, Sep 6, 2011 at 2:46 AM, Mike Wesner <mbwe...@gmail.com> wrote:
>
> In order for them to be idle, they must start.  They can either start
> as a result of a user facing request or a warmup request.  If you
> don't want your users to suffer the latency or your instance startups,
> then warmup requests are still relavant.

Does the scheduler react to instance overload or does it try to
predict and issue a warmup request in advance? If it's the latter, it
may guess wrong and you will pay for excess capacity.

Gregory D'alesandre

unread,
Sep 6, 2011, 9:40:04 PM9/6/11
to google-a...@googlegroups.com
Hi Stephen,

The scheduler doesn't wait until an instance is needed to start one up because the startup times are often very long (up to 10s of seconds) so if it waited until a new instance was actually needed, it would be too late.  This is partly why we have a scheduler, it takes these things into account (number of requests in the queue, min pending request time, typical startup time, etc) to determine when instances are needed so that you are always behind.  That being said, it might guess wrong but you won't pay for the excess capacity.  If you set max idle instances to a value that is the largest number of idle instances we will charge you for during any given minute.  So, our incentive is to make the scheduler better because if we spin up lots of instances that don't serve any requests, you aren't going to pay for them.

Let me know if you have additional questions about this,

Greg


--
You received this message because you are subscribed to the Google Groups "Google App Engine" group.
To post to this group, send email to google-a...@googlegroups.com.
To unsubscribe from this group, send email to google-appengi...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.


Reply all
Reply to author
Forward
0 new messages