[Israel.pm] Building a threaded server using Perl?
oron at actcom.co.il
Sun May 30 10:51:55 PDT 2004
On Sunday 30 May 2004 15:11, Yuval Yaari wrote:
> I also want to emphasise that I'm not looking for OS/kernel solutions.
Wishfull thinking... see below:
> I just want my server to be able to concurrently serve a few clients
> instead of iterating over all of them one by one - so if I have 10,000
> clients connected, it won't take ages to send them all something
There is a big difference between "few clients" and >10K clients.
The reference I sent shows that even OS that live natively on the web
(Unices and Linux) should resort to special features to handle that
kind of load.
> What I forgot to ask: is there copy-on-write when using threads and
> modifying a shared hash?
You just defined the semantics of fork() on any Unix/Linux in the last 20
years. Fork() gives you the safely of separate processes but the actuall
copy of pages is done only when a page is touched (that's why it's only
in the last ~20 years, since you need hardware support for this).
BTW: Even if you don't care about the added safety, note that doing all
the locking/unlocking stuff in a multi-threaded application does not come
free and *may* create worse performance than two separate processes with
their own protected memory spaces. (depending on the specifics of
application of course).
Oron Peled Voice/Fax: +972-4-8228492
oron at actcom.co.il http://www.actcom.co.il/~oron
Code Red, Blue or Green there all a symptom of a far more pervasive
and insidious virus, it costs around $200.
More information about the Perl