Like many, I'm deeply disappointed that Google went ahead with the
extortionate price increases, but instead of complaining about it
(because it seems to be falling on deaf ears) I'm trying to come up
with a workable solution to decrease costs.

I have a couple of apps that see an average amount of traffic (around
1 request every 3 seconds, fairly constantly) and I'm trying to
persuade the scheduler to keep only 1 instance running.

I'm confident only 1 instance is needed. - Latency is around 150ms and
thread-safe is true. However, there always appears to be 2 or more
instances active. Its ridiculous to see these instances having served
1 request sitting idle for 15 minutes. My understanding was that
enabling concurrent requests would stop these additional instances
starting up because if one request is waiting on I/O (common) another
request can be handled.

What is the instance startup logic when thread-safe is true? I can not
see any difference. If anything, setting thread-safe to true has
increased the number of idle instances. In my eyes, the scheduler is
broken:

Min Pending Latency appears to have no effect. Even set at 15s you
still see new instances start up unexpectedly.

Max Idle Instances should drop down to zero. I do not want an
additional idle instance bringing the total instances to 2.

Can we have an option to decrease the 15 minute idle time before
stopping. I do not want to pay for 15 minutes instance time to serve
one request.

Another point: instance Startup time seems way too high in general. I
do not understand why it takes at least 4 seconds to start an
instance. Lightweight servlet containers can start in 200ms these
days. If startup time was optimised, the 15 minute idle period reduced
to say 5 minutes and the scheduler made less enthusiastic about
starting new instances I think the changes might be (almost)
acceptable. However, right now, I think a lot of people are most
annoyed about paying for instances that are sitting there (mostly)
idle - and this is understandable, we got used to paying for CPU time.

I would really like to know how the scheduler decides whether or not
to start up a new instance when thread-safe is true. Is this
documented anywhere?

Kind regards,

Mike.

-- 
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-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.

Reply via email to