I thought PHP is not thread-safe.. In that case how can SWS threaded help?
-Jignesh
Richard Smith wrote:
Its also possible to use a thread pool with Olio/PHP--its just a
question of the choice of webserver and PHP implementation. In
recent testing, I was using a single instance of Sun Java System
Web Server (SWS7.0) with a thread pool of 210 threads on a box
with 128 vcpus. There's still a large number of connections to
the webserver, but only a moderate number to the backend MySQL
database.
In terms of memory usage, if you were using Apache and prefork
MPM, then you end up having to reserve swap space for all the
pages that *could* need to be created via Copy-On-Write, even
if most of them aren't modified. Therefore a substantial amount
of swap space needs to be provided. Performance can be diabolical
if you don't have enough. The multithreaded, single-process
approach of SWS is very memory-efficient.
In a real setup, I'm guessing that a reverse proxy cache server
would be desirable to offload a lot of the static content traffic
from the webserver. I don't know though what proxy cache servers
implement a thread pool concept.
Richard.
Xuekun Hu wrote:
Hi, Guys
In Olio/PHP, each user will usually create one connection to web
server, and then one connection to mysql end. With more than 20k
users, the number of connections are huge from mysql view I thought.
It will consume lots of memory and meet the potential lock contention,
thus the scaling should be bad if supporting huge number of users. I
thought in real setup, middleware usually is implemented a thread
pool, with limit number of connections to db end. All the user
requests will go through the thread pool to db end. With this
architecture, db could do higher throughtput than
one-user-one-connection-one-thread model.
I wonder is it possbile to implment a thread pool in Olio/java?
Thx, Xuekun
--
Jignesh Shah http://blogs.sun.com/jkshah
The New Sun Microsystems,Inc http://sun.com/postgresql