Fontend instance hours seem to be a bit overcharged

272 views
Skip to first unread message

Francois Masurel

unread,
Sep 1, 2011, 4:29:28 PM9/1/11
to google-a...@googlegroups.com
I have "Always on" activated on my app (vncts1).

I have set "Max idle instances" to 3, so I should only charged for a maximum of 3 * 24 - 24 (free quota) = 48 hours :

"You will not be charged for instances over the specified maximum."

But I'm charged for a bit more everyday (billable column) : 

- 08/28 -> 48.16 hours
- 08/27 -> 48.12 hours
- 08/26 -> 48.19 hours

Is it a bug ?

Francois
Billing History - Always On.jpg
Performance Settings.jpg

Gregory D'alesandre

unread,
Sep 1, 2011, 4:43:26 PM9/1/11
to google-a...@googlegroups.com
Hi Francois, thanks for bringing this issue up!  Its an important one.

Max idle instances only sets the maximum number of idle instances that will be running to prepare for traffic, not the number of total instances that can run at any one time.

That being said "Always on" currently keeps 3 instances running for you to be ready to serve traffic.  Under the new model you'll be able to choose the number of minimum idle instances you want to keep running.  The scheduler has been tuned to take advantage of the new model but the billing comparison you are seeing is showing charges for the 3 always on instances that are running.

The short answer is you probably want to set max idle instances to 1, once the new billing goes into place you will no longer see the 3 always on instances anymore.

I hope that makes sense and helps!

Greg D'Alesandre
Senior Product Manager, Google App Engine

--
You received this message because you are subscribed to the Google Groups "Google App Engine" group.
To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/x_43C91yPKgJ.
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.

Felippe Bueno

unread,
Sep 1, 2011, 4:47:20 PM9/1/11
to google-a...@googlegroups.com
Max idle instances only sets the maximum number of idle instances that will be running to prepare for traffic, not the number of total instances that can run at any one time.


Would be possible to do that some day ?

Francois MASUREL

unread,
Sep 1, 2011, 4:48:49 PM9/1/11
to google-a...@googlegroups.com
Hi Greg,

Thanx for your answer.

But what does exactly mean "You will not be charged for instances over the specified maximum." then ?

Francois

Gregory D'alesandre

unread,
Sep 1, 2011, 5:14:35 PM9/1/11
to google-a...@googlegroups.com
Hi Felippe,

This is something we've considered but are not currently planning on implementing.  It will take a lot of work to rebuild out systems in order to do this and we were not sure it is what was needed for our users.  Although it would be useful to know if there is a lot of demand for it.

Thanks,

Greg

On Thu, Sep 1, 2011 at 1:47 PM, Felippe Bueno <felipp...@gmail.com> wrote:
Max idle instances only sets the maximum number of idle instances that will be running to prepare for traffic, not the number of total instances that can run at any one time.


Would be possible to do that some day ?

--
You received this message because you are subscribed to the Google Groups "Google App Engine" group.

Gregory D'alesandre

unread,
Sep 1, 2011, 5:11:24 PM9/1/11
to google-a...@googlegroups.com
It means you won't be charged for idle instances over the specified maximum, we'll update that to be more clear.

Thanks for pointing it out!

Greg

Barry Hunter

unread,
Sep 1, 2011, 5:19:33 PM9/1/11
to google-a...@googlegroups.com
If you set 5 max idle instances, and the scheduler leaves 8 sitting
around idle. You will not be changed for the extra 3 idle instances.

ie, its in Google's interest to honour your chosen setting, because
they will be paying for the difference :)

pdknsk

unread,
Sep 1, 2011, 5:30:15 PM9/1/11
to Google App Engine
> It means you won't be charged for *idle* instances over the specified
> maximum, we'll update that to be more clear.

This should be put in bold letters.

Francois Masurel

unread,
Sep 1, 2011, 5:50:44 PM9/1/11
to google-a...@googlegroups.com
How does all this relate to this issue ?


I guess I'm a bit lost in fact.

On my rather low-traffic java app I need to have one "Always on" instance to avoid loading requests but I want to stay within my budget and avoid creating unnecessary dynamic instances.

How am I supposed to tweak my application settings ?

What control will we have on these instance hours ?

It feels like the 24 hours free quota will in fact never be enough if we set "Minimum/Maximum idle instances" to 1 as some dynamic instances will frequently be created just to serve a warmup request in most cases.

Thanx for your help.

Francois


jon

unread,
Sep 1, 2011, 7:42:44 PM9/1/11
to google-a...@googlegroups.com
Hi Greg,

Currently I have "always on" and I cannot set the max idle instances to fewer than 3. When the new billing rolls out will I be able to change this?

Thanks,
Jonni

Gregory D'alesandre

unread,
Sep 2, 2011, 2:18:06 AM9/2/11
to google-a...@googlegroups.com
On Thu, Sep 1, 2011 at 2:50 PM, Francois Masurel <f.ma...@gmail.com> wrote:
How does all this relate to this issue ?


I guess I'm a bit lost in fact.

On my rather low-traffic java app I need to have one "Always on" instance to avoid loading requests but I want to stay within my budget and avoid creating unnecessary dynamic instances.

As with today, if you want to keep instances running all the time you will likely have to pay something.  But if you have a very low traffic app and set Min Idle Instances to 1, that will use your free 24 instance hours, and then when you get traffic it could temporarily spin up instances which would be paid for.
 
How am I supposed to tweak my application settings ?

Without knowing more detailed information about your application setting Min Idle Instances to 1 and Max Idle Instance to 1, then Min Pending Latency to a reasonable level for you (maybe 200ms?) that will minimize how frequently the Scheduler will create new instances.
 
What control will we have on these instance hours ?

 
It feels like the 24 hours free quota will in fact never be enough if we set "Minimum/Maximum idle instances" to 1 as some dynamic instances will frequently be created just to serve a warmup request in most cases.

Yes, if you always have 1 idle instance running you'll likely go at least somewhat above the free quota.  But again, that is the same as it is today, in order to keep Always On instances running you need to pay something for it.

I hope that helps answer some of your questions!

Greg
 

Thanx for your help.

Francois

--
You received this message because you are subscribed to the Google Groups "Google App Engine" group.
To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/c9r4nNQ7UXAJ.

Jeremy Brown

unread,
Sep 2, 2011, 5:17:13 AM9/2/11
to Google App Engine
On Sep 1, 1:43 pm, "Gregory D'alesandre" <gr...@google.com> wrote:
>
> That being said "Always on" currently keeps 3 instances running for you to
> be ready to serve traffic.  Under the new model you'll be able to choose the
> number of minimum idle instances you want to keep running.  The scheduler
> has been tuned to take advantage of the new model but the billing comparison
> you are seeing is showing charges for the 3 always on instances that are
> running.

Just to clarify, does this mean I will be able to choose a "Keep only
1 instance Always On" option, and pay less than if I was choosing 3
Always-On instances?

Jeremy

Jeremy Brown

unread,
Sep 2, 2011, 3:30:05 PM9/2/11
to Google App Engine
Will there be an option for more granularity in "Always On"? Currently
it creates 3 always on instances. My app would probably do fine with 1
Always On instance, and having 3 always on will just cost me more than
I need to pay.

Jeremy

On Sep 1, 11:18 pm, "Gregory D'alesandre" <gr...@google.com> wrote:
> On Thu, Sep 1, 2011 at 2:50 PM, Francois Masurel <f.masu...@gmail.com>wrote:
>
> > How does all this relate to this issue ?
>
> >http://code.google.com/p/googleappengine/issues/detail?id=5414
>
> > I guess I'm a bit lost in fact.
>
> > On my rather low-traffic java app I need to have one "Always on" instance
> > to avoid loading requests but I want to stay within my budget and avoid
> > creating unnecessary dynamic instances.
>
> As with today, if you want to keep instances running all the time you will
> likely have to pay something.  But if you have a very low traffic app and
> set Min Idle Instances to 1, that will use your free 24 instance hours, and
> then when you get traffic it could temporarily spin up instances which would
> be paid for.
>
> > How am I supposed to tweak my application settings ?
>
> Without knowing more detailed information about your application setting Min
> Idle Instances to 1 and Max Idle Instance to 1, then Min Pending Latency to
> a reasonable level for you (maybe 200ms?) that will minimize how frequently
> the Scheduler will create new instances.
>
> > What control will we have on these instance hours ?
>
> More information can be found here:http://code.google.com/appengine/kb/postpreviewpricing.html#adjustmen...

Gregory D'alesandre

unread,
Sep 5, 2011, 3:44:04 PM9/5/11
to google-a...@googlegroups.com
Yes.  Under the new model if you have a paid app, you can choose the minimum number of idle instances you want (which is in essence what always-on is).  You can choose it to be 1 (which will be the most common) but you could also choose to make it significantly higher if you are planning a big spike of traffic (such as a launch or load testing) and want to ensure there are warm instances ready.

Greg
Reply all
Reply to author
Forward
0 new messages