I looked into python multi-threading / multi-processing a bit more, especially with your tip that it requires python 2.7.
The python multiprocessing module was introduced in python 2.6 http://docs.python.org/library/multiprocessing.html http://www.ibm.com/developerworks/aix/library/au-multiprocessing/index.html so this is probably what will be used for python appengine to get concurrency above 1 request / instance. This solution copies and spawns processes which are heavier than threads. I'm assuming that most of the concurrency will be achieved because processes are datastore bound: they are just waiting around for the datastore to return a result. Given this type of solution (or whatever solution is used), some important questions are: - How many concurrent requests can a single instance handle (for python)? If the process is waiting for the datastore, is the number of processes (and thus concurrency) dependent mainly on the number of processes that can fit in memory? - Will heavy python frameworks (like django) have a lower concurrency ability because they use more memory? If so, what will their concurrent requests / instance be (for the simplest django app, then we can add in our own app's memory usage)? - For those considering switching to java, what is the estimated concurrent requests / instance for java apps? Java uses threads instead of processes. -- 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.
