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>>

Reply via email to