[linux] Re: Keuze tussen worker method en prefork bij Apache

Paul Slootman paul+nospam op wurtel.net
Wo Aug 8 14:06:24 CEST 2007


On Wed 08 Aug 2007, Cecil Westerhof wrote:
> >
> > Als je php als module wilt gebruiken, dan zit je vast aan de prefork,
> > want php is niet thread-safe.
> 
> PHPMyAdmin lijkt mij wel handig om te gebruiken, maar als ik dat met
> een losse interpreter doe, dan is dat dus geen probleem?

Klopt. Wel minder snel...

> En hoe zit het bijvoorbeeld met ModPerl en ModPython? En zijn er nog
> andere modules die niet threadsafe zijn?

Modperl gaat volgens mij wel goed (perl snapt uit zichzelf al threads),
modpython zou ik niet weten.


> ook al aan dat worker beter is. Dus ik laat de boel maar op worker
> staan. Alleen moet het aantal minSpareThreads flink omlaag. Dat staat
> nu op 25 en daardoor wordt Apache meteen getermineerd. Helaas geeft
> apachectl hier geen foutcode op. :-{

En wat staat er voor StartServers, ServerLimit, enz? Die moet je
vermenigvuldigen met de Thread waardes he...

> Bij mijn hosting provider kan ik waarschijnlijk niet meer dan een stuk
> of zes threads aan. (Een thread heeft 8MB stack-size en ik heb 100 MB
> intern geheugen. En er moeten natuurlijk ook wat processen draaien.)

100MB is wel belachelijk klein.
Een beetje mysql server wordt al snel 50-100MB groot.

Overigens, hoe kom je aan dat getal van 8MB stack-size per thread?
En is die dan al direct gealloceerd?

> Is dat genoeg voor een site die -nog- niet veel wordt benaderd? En hoe
> bepaal ik dat er meer threads zouden moeten kunnen worden gecreeerd?

Ik zou 2 servers starten (StartServer 2 dus), en dan zoveel threads als
past in geheugen (ThreadsperChild); dus langzaam opvoeren. Zie verder
http://httpd.apache.org/docs/2.0/mod/mpm_common.html#serverlimit
en zo...


Paul Slootman



More information about the Linux mailing list