There isn't much documentation on what exactly is affected by the 1MB limit in Google App Engine so here's my effort at documenting this based on my empirical findings:
- You cannot have a data structure (e.g., variable) larger than 1MB in size or you'll get a MemoryError.
- You cannot return a response that is larger than 1MB in size or you'll get an error similar to: HTTP response was too large: 3457738. The limit is: 1048576. (I got that error when trying to circumvent the 1MB MemoryError issue by returning a generator for my HttpResponse).
- Model instances cannot be larger than 1MB in size or you'll get a RequestTooLarge error.
Having read all the troubles you ahve with GAE, how come you keep using it?
To confuse things further, the dev appserver does not appear to have the 1MB limit. The 1MB response limit caught me by surprise when I deployed. I haven’t tried to confirm either of the other two limits.
Hi Sebastiaan,
Sure there are issues, it’s a new technology and that’s to be expected. There’s also a lot that is great about it. It’s the best dev environment/language/framework I’ve used. It’s a joy to develop with Python and Django and to be able to deploy so easily.
So there are definitely a lot of positives.
And the most important thing is that I know have some of the best minds in the industry working to my app better — I’m talking about the Google engineers working on the Google App Engine team
So I’m investing in the future of Google App Engine and I believe that it was the right decision to make.
We’re having teething problems at the moment but we’re overcoming them.
Limits are not a bad thing in and of themselves as long as they are known and you can avoid them and architect things accordingly.
The beauty of App Engine is that if you can get your app working well for one person, that’s the experience any number of people will have with it.
I like that
Hi Mark,
The local SDK doesn’t have any of the quota limits in place — at least I haven’t run into any.
It’s true that that needs to be addressed.
On the other hand, however, it will be good to be able to override those so that you can do things like restore backups locally without the same restrictions (so you can do things quicker without redirects, etc.) Then again, maybe having things always consistent is more important.
There’s also a 1MB limit on image manipulation for the image API