You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Stas Bekman <st...@stason.org> on 2005/05/11 19:14:12 UTC

updates on the perl threads scaling issues

A few updates on what happens on the perl threads scaling issues front.

If you remember perl threads are painfully slow to start if you have lots 
of modules loaded, since the perl threading model is based on cloning all 
variables, but sharing the op-code tree. So on the loaded machine it's
prohibitively slow.

But things are slowly improvement:

1) Nicholas has committed a code that speeds up the threads cloning by 
10%, so it should be out in perl 5.8.7

2) Nicholas is still working on COW (copy-on-write), which should 
significantly improve the performance, as it will work somewhat similar to 
the fork()'s COW.

3) I'm working on thread-safety issues with mp2 API, you can try the new 
branch which will require perl 5.8.7 or higher:
https://svn.apache.org/repos/asf/perl/modperl/branches/clone-skip-unstable/
(as 5.8.7 wasn't released you will need to use the maint branch, which you 
can retrieve via:
rsync -acvz --delete --force rsync://ftp.linux.activestate.com/perl-5.8.x 
./perl-5.8.7

4) And finally there are people who run threaded mpm mod_perl 2 in 
production. Their solution is to ensure that they spawn all the needed 
perl interpreters at the server startup, which is slow, but once the 
server is up, things are running fast (since no new interpreters are 
started). And they advise on having at least 2gb ram dual xeon.
Thanks to Autrijus to this update.


-- 
__________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com