Visa ett inlägg
Oläst 2010-07-03, 08:31 #3
emilvs avatar
emilv emilv är inte uppkopplad
Bara ett inlägg till!
 
Reg.datum: Feb 2004
Inlägg: 1 564
emilv emilv är inte uppkopplad
Bara ett inlägg till!
emilvs avatar
 
Reg.datum: Feb 2004
Inlägg: 1 564
Om du kör moduler som inte är multitrådade (exempelvis mod_php) så måste du köra prefork, eller fundera på att byta till FastCGI för sådana moduler.

Varje uppkoppling får en egen process med prefork, vilket kräver en hel del arbete (framförallt RAM, men även CPU om du har plötsliga toppar). Processerna läggs automatiskt på olika kärnor av operativsystemet så den biten behöver du inte oroa dig för, vare sig med prefork eller worker.
Men 500 uppkopplingar, kanske 1000, ska inte vara något problem med prefork heller. Stäng av moduler du inte behöver så drar processerna mindre RAM och då kan du hantera fler processer.

Om du väljer att gå över till FastCGI så är steget kanske inte så stort att slänga ut Apache helt och byta upp dig till en bättre webbserver, exempelvis Nginx eller Lighttpd. Båda dessa är mycket bra på att hantera många samtidiga uppkopplingar (så bra att det är operativsystemets kärna som sätter taket).

Denna PDF ger mycket bra information om hur man skalar antalet uppkopplingar:
http://www.opendocs.net/apache/apach...he-handout.pdf
Den gäller framförallt Apache och Linux, men många delar är tillämpbara även på andra plattformar.
emilv är inte uppkopplad   Svara med citatSvara med citat