On Jul 27, 3:33 pm, Justin Davis <[email protected]> wrote:
> If you increase the max-procs, you will spawn (at most) that many
> python processes. Note that these aren't threads, but separate
> processes, so you need to be sure that any state within a given
> application isn't necessary. For instance, if you maintain a global
> dict of logged in users, this will break in the multiprocess
> deployment.
>
> webpy applications are multithreaded however, so multiple connections
> will be processed simultaneously. However, due to the way python
> implements threading (specifically, the GIL), it's uncommon for python
> threads to really take advantage of multicore architectures. If you
> have several cores and have written the program correctly, upping the
> max-procs variable will help you get more throughput.
>
> Good luck,
> Justin

Thanks Justin!

Having read your reply and digging deeper it seems the Session object
is a ThreadedDict and HttpServer uses ThreadingMixIn

I am assuming (hoping) what this means is that each web request is
handled on a new python thread and that the incoming request will have
the session data of its matching session associated with the new
thread.

Also that any variables defined globally (outside of the session) can
be shared by all threads.  Like in your example: a global dictionary
of logged in users.  (assuming max-procs is 1).

I am reading this correctly ... or is the behavior different than I am
describing?

Thanks and Regards,
Ivan Novick

-- 
You received this message because you are subscribed to the Google Groups 
"web.py" 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/webpy?hl=en.

Reply via email to