Due to lack of information about when App Engine starts new instances, how it affect performance and side effects of scaling up I have here made a short summary from my own experiences so others won't have to find it out the hard way.
I still don't have any long experience with App Engine, but I see it as a very promision product. The problems I see with it are mostly associated with how the scaling of instances works. Mainly because NO information exists on how it works. Not even the support (by mail) seem to know how it works. I've tried to split this post into three parts for readability. Sorry for the wall of text. __________________ First some basic facts on the non-billing (free) and billing enabled versions. The free version can start at most 30 instances, and the billing enabled one have no hard limit. However, it got a soft limit which starts at 30 and is incremented by 10 when needed. When the application reaches its soft cap of instances and stays there for about 10-15 minutes, and it still lacks performance, then the soft cap is incremented by 10. If it still needs more it will be incremented by 10 after a few minutes, and so on. This all looks fine (although it isn't mentioned anywhere, which lead me to bad decisions). What is worse is some sort of "minimum number of instances", which I will refer to as min instances, which App Engine will try to start up before activly forwarding the requests to hot instances. After a lot of testing, my results say that min instances starts on 1, and is incremented by 1 for every soft cap increment. That is, this value will be about a tenth of the soft cap. __________________ What is the effect of this min instances more exactly? If it is set to 4 then if there is/are: 0 instance started: An instance starts, user feel a cold start 1 instance started: 25% of user getting an hot instance, 75% of instance startup. 2 instances started: 50/50% of getting an hot or cold instance. 3 instances started: 75% of getting an hot... 4+ instances started: Now it behaves as everyone believes. Apart from being strange and not documented, there are some mayor issues with this: * It is not reverted! Even if the application is idle for a week, the min instances are not lowered. * Warmup requests is not triggered for the first <min instances> instance startups. * Always on starts only exactly 3 instance, if you sometime earlier have boosted your min instance past 3 then users will still notice cold starts, even if your application have been idle for the past hours! __________________ My story: I didn't know about the soft cap, and hit the roof pretty quickly with my stress tests. I aborted the tests then and asked support why it didn't start more instances. They just said I should have the test run longer. And so I did. I increased the soft cap to 100 instances or something and felt that the service would handle anything that was thrown at it. Now when my application have gone live the first users will more or less all be handeled by cold starts. It is always hard to predict the number of users, but in the worst case the first users will get scared away because of the performance issues and also warn other users about it. If by any means a Google employee knows about this issue, and knows how to revert the min instances (without interrupting the service) then please notify me! -- 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-appeng...@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.