From: Daniel Frey (daniel.frey_at_[hidden])
Date: 2003-07-18 07:08:28
Alexander Terekhov wrote:
> Each process can handle 1000 session simultanously? Wow. Do you
> really have a 1000-way SMP box? Unbelievable.
No, of course not. But users are - compared to processors - very slow.
Remember I talked about a process serving HTTP requests. If we need
0.01s to process a request, each user can send requests every 10s. Maybe
we just have a different understanding of "session" or "simultanously" :)
> Because when one THREAD goes to pub, all others shall follow.
I said "process", not "thread". And as I already said I consider the
issue whether a library should contain assert/abort/exit as independent
from boost::thread. We actually have several processes running on 2- to
16-processor machines. Usually for each machine #processes = #processors
* 2. Also, several machines form a cluster to provide more scalability
and fail-tolerant operation.
Each process can handle ~1000 users and thus ~1000 user sessions
simultanously, which means that these sessions live in the process'
memory. Typically, a request is handled faster than 0.01s and users need
more than 10s between clicks. That way the system is quite responsive.
Once the process gets killed, all sessions are lost, we thus try to
prevent stopping the process, we just stop individual sessions. I hope
you can agree now that this is a reasonable design :)
-- Daniel Frey aixigo AG - financial training, research and technology Schloß-Rahe-Straße 15, 52072 Aachen, Germany fon: +49 (0)241 936737-42, fax: +49 (0)241 936737-99 eMail: daniel.frey_at_[hidden], web: http://www.aixigo.de
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk