Soft memory limit, you can exceed the memory limit for several seconds. I have seen one instance consume 300+ M of memory in bursts. On F1.
But you should probably use a queue system and a back end instance or Differed Task and then you could pace those large memory requests, to prevent consuming lots of ram. Brandon Wirtz BlackWaterOps: President / Lead Mercenary Description: http://www.linkedin.com/img/signature/bg_slate_385x42.jpg Work: 510-992-6548 Toll Free: 866-400-4536 IM: [email protected] (Google Talk) Skype: drakegreene YouTube: <http://www.youtube.com/blackwateropsdotcom> BlackWaterOpsDotCom <http://www.blackwaterops.com/> BlackWater Ops <http://www.cloudonastring.com/> Cloud On A String Mastermind Group From: [email protected] [mailto:[email protected]] On Behalf Of Andrin von Rechenberg Sent: Monday, February 20, 2012 2:15 AM To: [email protected] Subject: [google-appengine] Python 2.7: Instance memory limitations with concurrent requests Hey there I'm planning to migrate to Python 2.7. I'm now running on Python2.5. There is one kind of request (lets call it people-search) that uses A LOT of ram. >From time to time instances get killed because they exceed the allowed memory allocation. These requests do a lot of RPCs. One people search uses about 100mb of ram. In Python 2.7 I would guess that one instance will handle many people-searches at the same time, because they mostly wait for RPCs. That means that an instance will go out of memory much more often, because every pending request will use 100mb. You handle 2 at the same time, an F1 instance dies. I'm afraid that I will end up in a crash loop pretty soon. Am I right in my assumption? Is there a way to limit the amount of people-searches that one instance handles at the same time? Like threadsafe:false for a certain handler? The only solution I see at the moment is to deploy 2 versions of my app. The main version with threadsafe enabled and a special version with threadsafe disabled. The main app would then not handle people-searches directly, but do a urlfetch to the threadsafe disabled version for people-searches. This way one instance would always only do one people-search because threadsafe is disabled. But it's soooo ugly from a maintenance point of view. Really ugly. Any better suggestions? Cheers, -Andrin -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
<<image001.jpg>>
