Will test results with 1000 users be similar to those I get with 10,000 users? Will a 10x increase in memcache usage change the results I get, if I also have 10x the instances running?
I've been using memcache for a lot of things, and it's been working great. Now, I want to put MORE in it, caching the results of several key queries. The queries are different for each user, and I have a thousand users a week right now.
I'm wary of this strategy. I could spend a while implementing this, and find that for my thousand users it works great. But, say my site grows in popularity, and suddenly I have 10,000 users. Will I see a decrease in memcache performance?
I'm worried about a very drastic decrease. I could imagine that there is some invisible limit, like 1GB of memcache data I'm allowed to use. Suddenly, with a 10x increase in usage, I could be way past that limit and see a large amount of thrashing or something.
This seems very hard for a customer to test - I'd love a comment from an App Engine insider.
Thanks for any insight!
The internals of Memcache implementation on GAE are only known to Google, so asking such questions on a general public site is unlikelly to get you definite answers.
But let me speculate: if you take a look at the new Python NDB API you'll see that by default ALL datasore gets are cached (partially) in memcache. So if Google is doing it by default on a large scale, then I guess they made sure memcache is scalable.
EDIT:
Additionally, GAE sessions also use Memcache to cache session data by default, meaning all apps that use sessions (= most Web apps) also use Memcache on large scale.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With