Question

For an App Engine app that is serving mostly static pages and images (a basic CMS), what kind of average QPS can I expect while remaining inside App Engine's free quota?

I'm optimizing several small sites which are hosted on App Engine and which run out of quota at < 1 QPS. That is, they cannot sustain 1 QPS for more than about 6 hours without exhausting the daily free quota. I know how to optimize them, but I don't know what QPS I should be expecting from the free quota. Is it fairly easy to get 1 QPS? 10? 100?

I realize there are a lot of variables that go into this, so I'd also be interested in knowing what people are actually achieving inside the free quota, and which quota they hit first. (I'm bumping into "Datastore Read Operations" and "Outgoing Bandwidth." 1GB/day goes quickly when serving images.)

Was it helpful?

Solution

One yardstick that you could use is Google's own claim in their FAQs that their free quota should allow for roughly 5 million pageviews a month for an efficient application, which would translate to a sustained and continuous 1.93 QPS.

Now, please keep in mind that this claim was made before Google made quite a drastic price change in September 2011, so the present condition might be different from what was being claimed.

Regarding bandwidth quota, take a look on edge caching, might be helpful.

OTHER TIPS

I think your best bet is to figure out what quota is constraining you and is immutable and go from there.

For instance, if you're serving about 100K per request but doing nothing else, you can serve about 115 QPS: (1GB / 100K) / 86400.

If you do one DB read and one DB write per query, you can serve a little more than .5 QPS: 50000 / 86400.

Etc.

Remember you can't save files to App Engine. Serving generated static assets is most likely impossible with it. Unless you plan to generate them on your machine and "appcfg.py update" the application every time.

You can, however, use memcache to quickly generate your pages without hitting the datastore.

My suggestion is to assemble a quick PoC and jMeter it for some time and extrapolate your costo from there.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top