--
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/-/-OicXg1wyQIJ.
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.
Interesting. I didn't know about the 28 instance hours, since under the "Estimated Charges Under New Pricing" section of my billing history it still shows 24 free instance hours. Thanks for that info.
--
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/-/bT9ppc6NQPcJ.
It really doesn't matter it a second instance kicks in to process your user-facing requests. If your max_idle_instances is set to 1, then you're only paying for one idle instance at any given time.
On Wednesday, September 14, 2011 6:04:15 AM UTC+8, Rishi Arora wrote:It really doesn't matter it a second instance kicks in to process your user-facing requests. If your max_idle_instances is set to 1, then you're only paying for one idle instance at any given time.Really?! Any googler can confirm this? I set max-idle-instances as 1, but I am still charged more than 28 hours often recently.
On Thursday, February 20, 2014 1:44:35 AM UTC+8, barryhunter wrote:On Wed, Feb 19, 2014 at 5:05 AM, Tapir <tapi...@gmail.com> wrote:
On Wednesday, September 14, 2011 6:04:15 AM UTC+8, Rishi Arora wrote:It really doesn't matter it a second instance kicks in to process your user-facing requests. If your max_idle_instances is set to 1, then you're only paying for one idle instance at any given time.Really?! Any googler can confirm this? I set max-idle-instances as 1, but I am still charged more than 28 hours often recently.Can still have one idle instance. So one active instance, and one idle, means would use up the quota.Or a spike where say three instances are started, and immidiately become idle. They sill still be 'charged' for 15 minutes.If at the end of the 15 minutes, they are not shutdown you will still be 'charged' for 1 idle instance. But max_idle_instances means those two other ones become free.If you want to avoid appengine keeping (and charging you for!) idle instances, best to set max_idle_instances, back to 'automatic'Do you mean set it 'automatic' will charge you less?
This document doesn't mention 'automatic'.
I feel I really can't understand many GAE documents very well.
On Wed, Feb 19, 2014 at 6:07 PM, Tapir <tapi...@gmail.com> wrote:
On Thursday, February 20, 2014 1:44:35 AM UTC+8, barryhunter wrote:On Wed, Feb 19, 2014 at 5:05 AM, Tapir <tapi...@gmail.com> wrote:
On Wednesday, September 14, 2011 6:04:15 AM UTC+8, Rishi Arora wrote:It really doesn't matter it a second instance kicks in to process your user-facing requests. If your max_idle_instances is set to 1, then you're only paying for one idle instance at any given time.Really?! Any googler can confirm this? I set max-idle-instances as 1, but I am still charged more than 28 hours often recently.Can still have one idle instance. So one active instance, and one idle, means would use up the quota.Or a spike where say three instances are started, and immidiately become idle. They sill still be 'charged' for 15 minutes.If at the end of the 15 minutes, they are not shutdown you will still be 'charged' for 1 idle instance. But max_idle_instances means those two other ones become free.If you want to avoid appengine keeping (and charging you for!) idle instances, best to set max_idle_instances, back to 'automatic'Do you mean set it 'automatic' will charge you less?In general yes. But it's not absolute.
This document doesn't mention 'automatic'.Its telling you what enabling 'idle instances' does. Going back to 'automatic' in effect turns the feature off.
(glossing over a few details)I feel I really can't understand many GAE documents very well.One of the main issue, is they leave a lot unsaid, you have to infer. Read between the lines.Plus the inevitable case that things change, and the docs are not always in sync.
I have yet to talk to a GAE user who *didn't* misunderstand this part of the docs on first read. It's one of the most common issues people have when they first come to this group.- Kris
On Wed, Feb 19, 2014 at 6:07 PM, Tapir <tapi...@gmail.com> wrote:
On Thursday, February 20, 2014 1:44:35 AM UTC+8, barryhunter wrote:On Wed, Feb 19, 2014 at 5:05 AM, Tapir <tapi...@gmail.com> wrote:
On Wednesday, September 14, 2011 6:04:15 AM UTC+8, Rishi Arora wrote:It really doesn't matter it a second instance kicks in to process your user-facing requests. If your max_idle_instances is set to 1, then you're only paying for one idle instance at any given time.Really?! Any googler can confirm this? I set max-idle-instances as 1, but I am still charged more than 28 hours often recently.Can still have one idle instance. So one active instance, and one idle, means would use up the quota.Or a spike where say three instances are started, and immidiately become idle. They sill still be 'charged' for 15 minutes.If at the end of the 15 minutes, they are not shutdown you will still be 'charged' for 1 idle instance. But max_idle_instances means those two other ones become free.If you want to avoid appengine keeping (and charging you for!) idle instances, best to set max_idle_instances, back to 'automatic'Do you mean set it 'automatic' will charge you less?In general yes. But it's not absolute.
On Wed, Feb 19, 2014 at 6:07 PM, Tapir <tapi...@gmail.com> wrote:
On Thursday, February 20, 2014 1:44:35 AM UTC+8, barryhunter wrote:On Wed, Feb 19, 2014 at 5:05 AM, Tapir <tapi...@gmail.com> wrote:
On Wednesday, September 14, 2011 6:04:15 AM UTC+8, Rishi Arora wrote:It really doesn't matter it a second instance kicks in to process your user-facing requests. If your max_idle_instances is set to 1, then you're only paying for one idle instance at any given time.Really?! Any googler can confirm this? I set max-idle-instances as 1, but I am still charged more than 28 hours often recently.Can still have one idle instance. So one active instance, and one idle, means would use up the quota.Or a spike where say three instances are started, and immidiately become idle. They sill still be 'charged' for 15 minutes.If at the end of the 15 minutes, they are not shutdown you will still be 'charged' for 1 idle instance. But max_idle_instances means those two other ones become free.If you want to avoid appengine keeping (and charging you for!) idle instances, best to set max_idle_instances, back to 'automatic'Do you mean set it 'automatic' will charge you less?In general yes. But it's not absolute.This document doesn't mention 'automatic'.Its telling you what enabling 'idle instances' does. Going back to 'automatic' in effect turns the feature off.(glossing over a few details)
On Wed, Feb 19, 2014 at 6:07 PM, Tapir <tapi...@gmail.com> wrote:
On Thursday, February 20, 2014 1:44:35 AM UTC+8, barryhunter wrote:On Wed, Feb 19, 2014 at 5:05 AM, Tapir <tapi...@gmail.com> wrote:
On Wednesday, September 14, 2011 6:04:15 AM UTC+8, Rishi Arora wrote:It really doesn't matter it a second instance kicks in to process your user-facing requests. If your max_idle_instances is set to 1, then you're only paying for one idle instance at any given time.Really?! Any googler can confirm this? I set max-idle-instances as 1, but I am still charged more than 28 hours often recently.Can still have one idle instance. So one active instance, and one idle, means would use up the quota.Or a spike where say three instances are started, and immidiately become idle. They sill still be 'charged' for 15 minutes.If at the end of the 15 minutes, they are not shutdown you will still be 'charged' for 1 idle instance. But max_idle_instances means those two other ones become free.If you want to avoid appengine keeping (and charging you for!) idle instances, best to set max_idle_instances, back to 'automatic'Do you mean set it 'automatic' will charge you less?In general yes. But it's not absolute.
On Thursday, February 20, 2014 2:26:52 AM UTC+8, barryhunter wrote:On Wed, Feb 19, 2014 at 6:07 PM, Tapir <tapi...@gmail.com> wrote:
On Thursday, February 20, 2014 1:44:35 AM UTC+8, barryhunter wrote:On Wed, Feb 19, 2014 at 5:05 AM, Tapir <tapi...@gmail.com> wrote:
On Wednesday, September 14, 2011 6:04:15 AM UTC+8, Rishi Arora wrote:It really doesn't matter it a second instance kicks in to process your user-facing requests. If your max_idle_instances is set to 1, then you're only paying for one idle instance at any given time.Really?! Any googler can confirm this? I set max-idle-instances as 1, but I am still charged more than 28 hours often recently.Can still have one idle instance. So one active instance, and one idle, means would use up the quota.Or a spike where say three instances are started, and immidiately become idle. They sill still be 'charged' for 15 minutes.If at the end of the 15 minutes, they are not shutdown you will still be 'charged' for 1 idle instance. But max_idle_instances means those two other ones become free.If you want to avoid appengine keeping (and charging you for!) idle instances, best to set max_idle_instances, back to 'automatic'Do you mean set it 'automatic' will charge you less?In general yes. But it's not absolute.Sorry, I must reject your suggestion right now and restore the value from automatic to 1.Here is why (today's front hour usage)
My app is still in the development stage. It has a small traffic now (< 1000 pageviews/day).I really need a workable configuration which will make sure it will never be charged more than 28 hours.
My app is still in the development stage. It has a small traffic now (< 1000 pageviews/day).I really need a workable configuration which will make sure it will never be charged more than 28 hours.In general there isn't one. Other than disabling billing, so you can't use anything outside the free quota :)
My app is still in the development stage. It has a small traffic now (< 1000 pageviews/day).I really need a workable configuration which will make sure it will never be charged more than 28 hours.In general there isn't one. Other than disabling billing, so you can't use anything outside the free quota :)All you can do is optimize stuff, to make it unlikly but can't stop it.Frankly if the app is small enough that you can be worrying about the cost of one instance, AppEngine is not really your ideal platform.
On Thursday, February 20, 2014 6:45:43 PM UTC+8, barryhunter wrote:My app is still in the development stage. It has a small traffic now (< 1000 pageviews/day).I really need a workable configuration which will make sure it will never be charged more than 28 hours.In general there isn't one. Other than disabling billing, so you can't use anything outside the free quota :)For free account can't create resident instance, disabling billing means many warmup requests.
Really fell helpless. :(Why there is no a "disable_dynamic_instances" setting? I really think the only resident instance is enough for my app.
On Thu, Feb 20, 2014 at 11:03 AM, Tapir <tapi...@gmail.com> wrote:
On Thursday, February 20, 2014 6:45:43 PM UTC+8, barryhunter wrote:My app is still in the development stage. It has a small traffic now (< 1000 pageviews/day).I really need a workable configuration which will make sure it will never be charged more than 28 hours.In general there isn't one. Other than disabling billing, so you can't use anything outside the free quota :)For free account can't create resident instance, disabling billing means many warmup requests.Well if you want to use a resident instance, then by definition you pretty much can't fit in the free limit!
You can't have your cake and eat it you know.Really fell helpless. :(Why there is no a "disable_dynamic_instances" setting? I really think the only resident instance is enough for my app.Because Appengine is designed to scale, artificial limits are sort of the antithesis.Having said that, there is an option to disable the automatic scaling, by way of modulesbut again you can't do that within the free quota. Only get 8 hours worth.
Because by definition, resident instances don't serve any traffic. That means you are eating up 24 instance hours of idle time each day, leaving you only four hours each day to serve traffic.
I had this exact problem while my app was in development, and I couldn't figure out why Java developers weren't screaming bloody murder about it. Then I did three things:1) I gave up on trying to configure residency and latency, and just left everything at the default values2) I rewrote the app away from JDO and started using Objectify2) I optimized my app to use fewer API calls and less CPU
Resident instances do serve traffic. All the traffic of my paid python app are served by the resident instance. Part of the traffic of my paid java app are also served by the resident instance.
On Thu, Feb 20, 2014 at 11:22 AM, Tapir <tapi...@gmail.com> wrote:Resident instances do serve traffic. All the traffic of my paid python app are served by the resident instance. Part of the traffic of my paid java app are also served by the resident instance.Resident instances do serve traffic, but most of the traffic is intended to be taken up by dynamic instances.
So for the app with warmup problems, to avoid the warmup the problem, the real free hours would be only a little more than 4 hours, right?And for the 15 minutes tax design, the "a little more than 4 hours" is about several minutes in fact, right?Ok, I see why one hour compute hour is enough for my app but my app is still often counted more than 28 hours now.So you help me confirm again using Java
On Fri, Feb 21, 2014 at 1:23 AM, Tapir <tapi...@gmail.com> wrote:So for the app with warmup problems, to avoid the warmup the problem, the real free hours would be only a little more than 4 hours, right?And for the 15 minutes tax design, the "a little more than 4 hours" is about several minutes in fact, right?Ok, I see why one hour compute hour is enough for my app but my app is still often counted more than 28 hours now.So you help me confirm again using JavaThe 15 minute rule is not confined only to the Java runtime, it exists for all runtimes. It's not a tax; it's there so you avoid the overhead of a second warmup request if another request comes in soon after the first.
The scheduler logic doesn't make any sense for java apps. For frontend serving I would rather just use a scheduler that boots one instance at time and would spread traffic linearly through all instances. This would be more reliable due to the issues with warm up.
I have to keep 6 useless instances running, just because when a instance is idle for a long time its very probable its in a zombie state, so even if you are paying high costs for resident instances there's a high probability it won't be able to serve requests when you need it.
The real and only problem is that we are stuck into this senseless scheduler due to the fact that its the only one who have discounted hours. It almost seems that google uses the resident instances to serve other traffic when they become idle (even if I'm paying for it)
On Friday, February 21, 2014 3:29:37 PM UTC+8, Vinny P wrote:On Fri, Feb 21, 2014 at 1:23 AM, Tapir <tapi...@gmail.com> wrote:So for the app with warmup problems, to avoid the warmup the problem, the real free hours would be only a little more than 4 hours, right?And for the 15 minutes tax design, the "a little more than 4 hours" is about several minutes in fact, right?Ok, I see why one hour compute hour is enough for my app but my app is still often counted more than 28 hours now.So you help me confirm again using JavaThe 15 minute rule is not confined only to the Java runtime, it exists for all runtimes. It's not a tax; it's there so you avoid the overhead of a second warmup request if another request comes in soon after the first.
I really admire the design of GAE instance scheduler and billing.According what you say, at an extreme case1. to avoid warmup request, a resident instance is created,2. the website get a request every 15 minutes, 96 request a day.So the scheduler doesn't like let the resident instance to handle the requests and let another dynamic instance to handler the requests.By what you say above, the total counted hours for the dynamic instance is 24 hours!The total front end hours is 24 dynamic instance hours + 24 resident instance hours = 48 hours!So cool! The cooler thing is someone like it and think it is great!
If you wanted to avoid keeping instances up for the extra 15 minutes, you could always cause the instance to terminate; for example, exceed the memory allocated to your instance.------------------Vinny PTechnology & Media AdvisorChicago, ILApp Engine Code Samples: http://www.learntogoogleit.com
--
You received this message because you are subscribed to the Google Groups "Google App Engine" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-appengi...@googlegroups.com.
To post to this group, send email to google-a...@googlegroups.com.
Visit this group at http://groups.google.com/group/google-appengine.
For more options, visit https://groups.google.com/groups/opt_out.
The scheduler logic doesn't make any sense for java apps. For frontend serving I would rather just use a scheduler that boots one instance at time and would spread traffic linearly through all instances. This would be more reliable due to the issues with warm up.
I have to keep 6 useless instances running, just because when a instance is idle for a long time its very probable its in a zombie state, so even if you are paying high costs for resident instances there's a high probability it won't be able to serve requests when you need it.
The real and only problem is that we are stuck into this senseless scheduler due to the fact that its the only one who have discounted hours. It almost seems that google uses the resident instances to serve other traffic when they become idle (even if I'm paying for it)
The scheduler logic
On Fri, Feb 21, 2014 at 12:22 PM, Rafael <mufu...@gmail.com> wrote:The scheduler logic
Regarding the scheduler, this is my favorite thread regarding the subject: https://groups.google.com/d/msg/google-appengine/sA3o-PTAckc/T2eA64xZ1m0JIt's a bit long (over 100+ posts) but it has some interesting discussion.