Hi Joshua, You are right, I should have been more explicit. While I believe what I said to be true for most apps, you are right that there exists classes of apps where the second half of the billing formula needs to be explicitly considered.
For your app towngovernment, it has one instance serving pretty much all day, and occasionally two. The active-instances-rate (the orange line) is always <0.1, and the total-instances-rate (the blue line) is 1 and occasionally 2. You have set max-idle-instances=1. As such, with the billing formula: billable-instances-rate = min(active-instances-rate + max-idle-instances, total-instances-rate) This evaluates to billable-instances-rate = min([0..0.1] + 1, [1..2]) = [1..1.1]. That is, it has a different value at each part of the day depending on the present value of active-instances or total-instances, but always lays in the range [1..1.1]. Further, since you set max-idle-instances=1 at 2011/09/06-06:50:41, what I said above only really applies to your billing reports for 09-06 and onwards. Although, for the 09-06 report, it only applies to 17/24 of the day, whereas for the 09-07 report it will apply to the entire day. Note that this is actually why your 09-06 billable instances hours (25.59) are less than your 09-06 billable instance hours (29.17). Also, your 09-07 report should be even lower. I think that 25 daily instance hours is about the lowest your going to see for this app. I hope that helps, Jon On Thu, Sep 8, 2011 at 8:45 AM, Joshua Smith <[email protected]>wrote: > > On Sep 8, 2011, at 10:36 AM, Jon McAlister wrote: > > I thought I did respond... In any event, for the reasons you listed > above and others, this is why max-idle-instances is important. It > ensures that you are not held accountable for scheduler behaviors such > as these listed. When you set it, the billable-instances-rate is > determined by max-idle-instances (a setting you directly control) and > active-instances-rate (again, hopefully something you control). The > nuances of how the scheduler spins up extra instances to minimize > latency and provide spare capacity are not part of the formula, other > than their effect on your serving latency and reliability. > > > > Unless I'm misunderstanding, we are "held accountable for scheduler > behaviors such as these listed." > > If the load could be served by a single instance, but the scheduler decides > to start a second one to handle a single request (for no apparent reason), > there is going to be a minimum of 0.25 instance hours added to my bill. If > this happens once a day, and I need an instance up all the time to handle an > external kiosk which refreshes itself, then I'm going to be charged for > 24.25 - 24 (free) = 0.25 instance hours. If this happens X times a day, > I'll be charged for 0.25X instance hours a day. And I have the billing > prediction numbers to prove it: > > > Obviously, this isn't that big a deal, since I've got to give you $9 a > month anyway. But if the weird scheduler behaviors scale up, then this > occasional propensity to start unneeded instances could really start costing > someone some serious $$. > > -Joshua > > -- > You received this message because you are subscribed to the Google Groups > "Google App Engine" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/google-appengine?hl=en. > -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
<<PastedGraphic-10.png>>
<<PastedGraphic-9.png>>
