I'm trying to find the best way to configure my App instances on GAE.
I run a Saas on GWT / GAEJ. I have a small number of power-users who use the app intensively all day (rather than a large number of users who use the app for a few minutes every day).
As such I'm trying to find the best way to configure my use of Frontend Instance Classes to make it the most efficient, and give the best user experience.
I have enabled billing, and found that I need to have idle instances running to avoid latency when instances are started. I use JDO, and the when started each instances takes a long time to initialize the datastore access. So I start a number of app instances and have them running in idle mode. This gives a great user experience, but clearly means I pay for instances that just sit idle - not ideal.
I will investigate whether I can do that more efficiently.
However this is background, my real questions are as follows; If I look at the memory usage for my instances they regularly say 136MB etc (they start at around 66MB). So I imagine I have some memory leaks to find. But specifically I'd like to know:
I also use Memcache, presumably this memory is taken into account in the above calculation?
I currently use F1 instance classes, which have a memory size of 128MB. So what does it mean for my instances which seem to settle into around 136MB in size? Will they be running much more slowly as they'll be swapping out to disk the whole time? Would I be better off running a single F2 instance instead of 2 F1 instances for this reason?
I have found very annoyingly that GAE starts new instances even though I have 2 idle instances. This is despite me setting the min latency very high (7.5secs). I did read in the docs that this setting will have little effect when I use idle instances, but how then do I ensure that only idle instances are used, without resorting to starting new (which always results in greater latency due to the datastore initialization problems mentioned above)? (and increased cost to me by way of more instance-time)
Am I mis-understanding something? many thanks for any help.