Servertuning: coreboot.org

Posted on 21.04.2008

Nachdem www.coreboot.org heute nachmittag unter Last zusammengebrochen ist (Sekundäres Slashdotting, 3 Webcrawler), habe ich mich mal daran gemacht, die Konfiguration zu optimieren.

Auf dem System läuft (neben diversem anderen) ein Apache2, der unter anderem ein Mediawiki, trac, viewvc und das mailman-Webinterface bereitstellt. Auffällig waren die sehr großen, zahlreichen und ständig neuen apache2-prefork-Prozesse. Wie sich herausstellt, wurde prefork gewählt, weil php5 weiterhin nicht thread-safe ist (bzw. die eine oder andere Library, die eingesetzt wird). Für trac und viewvc wurde mod_python verwendet.

Leider haben einige mod_python-Versionen das Problem, dass sie leaken -und so wirklich gut scheint man das nicht im Griff zu haben. Von daher war die Planung, php5 “irgendwie” threadsafe zu bekommen und mod_python zu eliminieren.

Trac lässt sich per fastcgi einsetzen, php5 ebenso. Also wurde beides auf mod_fcgid portiert, so dass PHP5-Threadsafety nun kein Problem des Apachen mehr ist, und statt prefork nun worker verwendet werden kann.

Weniger Forks, weniger Stress für den Server.

Viewvc hat kein Fastcgi-Interface, daher läuft es momentan als normales CGI, also ein neuer Prozess pro Request, aber es ist relativ klein und schnell, daher macht das nicht so sehr viel aus.

Mal schauen, wie sich der Server nun weiter benimmt.

Nachtrag 24.4.: Heute Nacht haben auch die Apache2-worker angefangen zu leaken - ein Restart vom Apachen gab 1GB freies RAM. Squid war auch total lahmgelegt. Es geht also weiter mit der Fehlersuche…