Vytizeni CPU na SMP a Konfigurace Apache

Miroslav Lachman 000.fbsd at quip.cz
Wed Jan 11 19:38:06 CET 2006


Mam par dotazu ohledne vyuziti CPU na viceprocesorovem stroji.
Konkretne se jedna o IBM eServer x336 DualXeon 3GHz.

Kernel je zkompilovany se SMP http://www.quip.cz/1/freebsd/x336/IBM336_SMP60

1] je nejaka moznost, jak na FreeBSD 6.0 zjistit zatez jednotlivych CPU?

2] hlavni zatezi na serveru je Apache a obcas si neco vezme MySQL. 
Apache dela nekolik set tisic requestu za den, MySQL ma prumer okolo 550 
qps. Problem je nasledujici - ve spicce vyleze load napriklad na 6, ale 
`top` v CPU states zobrazuje 50.0% idle, pod 50% se nikdy nedostane. Ted 
je napriklad load 2 a 76.2% idle. Temer vsechen vykon tam zere Apache, 
ale i kdyz se k tomu prida jeste nejaka narocna operace v MySQL, load 
stoupne, ale CPU je porad 50% idle. Dokazal by mi tohle nekdo vysvetlit?
Je mozne, ze by cely system jel jen z jednoho CPU a druhy zustal volny a 
proto to zobrazuje 50% idle?

3] Apache je prefork a s PHP 5.1.1, uz drive mi bylo doporuceno 
vyzkouset worker, ale kdyz jsem ho zkousel s PHP 4.3.11 (jeste pred 
upgradem na 5.1.1), tak Apache vubec nefungoval. Navic jsem u PHP v 
portech nenasel zadnou option na ZTS (Zend Thread Safety) a ani nevim, 
jak moc je to potreba a jak je to funkcni. Dokazal by nekdo poradit 
nejake tipy na optimalizovani Apache s PHP 5.1.1 pro zvyseni vykonu na 
dualprocesoru? (jelikoz obsluhuje temer vyhradne PHP a staticky obsah je 
servirovany pres Lighttpd, tak jsem u apache vypnul KeepAlive a snizil 
MaxClients kvuli maximalnimu poctu konekci do MySQL [co klient to 
konekce], jiny tunning apache jsem neprovadel)

Miroslav Lachman



More information about the Users-l mailing list