Planet 3DNow! Logo  

 
English Français Русский язык Español Italiano Japanese Chinese

FORUM AKTUELL

   

Samstag, 25. November 2006

12:44 - Autor: Nero24

Intern: Hintergründe zum Server-Update

Von Dienstag auf Mittwoch Nacht hat unser Server ein umfassendes Update erhalten (wir berichteten). Bis auf den Kernel selbst wurde praktisch jedes Software-Paket auf den aktuellen Stand gebracht. Grund dafür waren diverse Unregelmäßigkeiten im Betrieb. Abgesehen davon, dass der Server in den letzten Wochen aufgrund der steigenden Besucherzahl in den Stoßzeiten jeden Tag am Anschlag seiner Leistung gelaufen ist, was sich in zähem Ansprechverhalten des Forums geäußert hat, hatten wir zudem von Beginn an das Problem, dass der Server immer wieder mal zwischendurch für ein paar Minuten praktisch nicht erreichbar war, während er mit unerklärlichen I/O-Aufgaben beschäftigt war. RAM war genügend frei, keine Anwendung, die über Gebühr Last verursachte, trotzdem war das System minutenlang damit beschäftigt, irgendwelche Daten auf den Platten herumzuschaufeln.

Wir hatten damals, als wir das Boot ins Wasser gelassen haben, von Anfang an geplant erst einmal eine Grundinstallation zu machen, damit das Teil überhaupt funktioniert. Wenn die Systemlast irgendwann einmal einen Punkt erreicht, wo es ans Limit geht, würden wir uns auf eine Optimierung auf Software-Seite stürzen. In einer ersten Stufe ist das diese Woche geschehen. Erst wenn per Software nichts mehr herauszuholen ist, werden wir ein Hardware-Upgrade machen - dann aber wieder eines, das uns erneut mindestens 2 Jahre lang über Wasser halten wird.

Die Analyse und Ansatzpunkte waren dabei umfassend. Neben dem bereits erwähnten Update der Pakete war in der Folge davon nötig, die komplette Datenbank zu dumpen und neu einzuspielen, da das neue Format nicht mit dem alten kompatibel war. Beim Zurückspielen fiel dabei auf, dass die Struktur der DB mehrere Fehler aufwies. So waren z.B. - wie auch immer es passieren konnte - einige Daten in als UNIQUE definierten Spalten einer Tabelle doppelt vorhanden. Beim Zurückspielen weigerte sich die DB selbstredend diese Daten wieder einzuspielen. Ergo musste das 3 GB große SQL-File manuell mit einem Editor bearbeitet werden, um die fehlerhaften Einträge zu fixen, was uns etliche Stunden gekostet hat.

Mindestens ebenso viel Aufmerksamkeit wurde dem Feintuning der Apache- und MySQL-Parameter gewidmet. Während die Datenbank bisher mit Ausnahme der Max_Connections auf Default lief, wurden nun die Parameter exakt der verwendeten Hardware und den Eigenschaften der Datenbank angepasst. So wurden z.B. die key_buffers so eingestellt, dass der komplette Table-Index der DB in das RAM passt. Mit ein Grund für die gelegentlichen Aussetzer war der stark schwankende RAM-Bedarf der Anwendungen bei sich schnell ändernden Lasten. Um das zu verhindern, wurden die Parameter so eingestellt, dass viele Threads als Reserve im RAM verbleiben, selbst wenn sie momentan gar nichts zu tun haben. Das verhindert, dass das System von einem plötzlich sich ver-20-fachenden RAM-Bedarf überrascht wird und zu swappen beginnt statt einfach nur Plattencache freizugeben. Zudem haben wir einen PHP-Code Cache installiert, der häufig verwendete PHP-Skripts in fertig interpretierter Form vorhält, damit das System die Skripte nicht immer und immer wieder neu übersetzen muss. Auch die Skripte selbst wurden unter die Lupe genommen. Vor allem das "Forum Aktuell" Skript wurde dabei als kritisch bzgl. Lastschwankungen ausgemacht und komplett neu geschrieben. Last but not least wurde auch das Forum selbst aktualisiert und auf eine neue Suchenfunktion umgestellt.

Das Resultat der Mammutaktion kann sich sehen lassen. Seit den letzten Feintunings am Donnerstag Nacht gab es praktisch keine Lags mehr, keine Slowqueries, keine Aussetzer. Der RAM-Bedarf ist deutlich weniger schwankend als bisher und - was besonders wichtig ist - die Server-Last (load average) konnte auf ein Viertel gesenkt werden, die mittlere CPU-Last immerhin halbiert. Ein teures Hardware-Upgrade konnte damit vorerst vermieden werden. Das wird uns nun bei weiter konstant steigender Besucherzahlen frühestens Ende des nächsten Jahres blühen. Ein weiteres Update ist für Februar geplant, dann jedoch vor Ort im Rechenzentrum. Dann gibt's ein neues BIOS, einen neuen Kernel und fcgi statt mod_php und als Folge davon apache_worker statt apache_prefork.

Was hat nun der Besucher von der ganzen Aktion? Einen deutlich schnelleren Seitenaufbau, keine Lags mehr, keine Aussetzer, keine langen Beiträge mehr, die nochmal getippt werden müssen, weil sie beim Abschicken in einem Timeout verloren gingen. Und natürlich Kapazitäten für weitere nette und sinnvolle Funktionen im Forum. Wir wünschen daher weiterhin viel Spaß und entspannte Stunden im Forum von Planet 3DNow!

» Kommentare
Planet 3DNow! RSS XML Newsfeed Planet 3DNow! Newsfeed bei iGoogle-Seite hinzufügen Planet 3DNow! Newsfeed bei My Yahoo! hinzufügen Planet 3DNow! Newsfeed bei Microsoft Live hinzufügen Planet 3DNow! Newsfeed bei My AOL hinzufügen

Weitere News:
Intern: Umleitungsprobleme
Intern: Planet 3DNow! ab 18:00 Uhr eingeschränkt erreichbar
Never Settle Forever: AMD überlässt Zusammenstellung der Spielebündel seinen Kunden
Microsoft Patchday August 2013
Der Partner-Webwatch von Planet 3DNow! (13.08.2013)
Kühler- und Gehäuse-Webwatch (11.08.2013)
Ankündigung Microsoft Patchday August 2013
Vorerst kein Frame Pacing für AMD-Systeme mit Dual Graphics
Intern: kommende Woche eingeschränkte Erreichbarkeit auf Planet 3DNow!
Kaveri verschoben und keine neuen FX-Prozessoren von AMD [3. Update]
AMD plant Vorstellung neuer High-End-Grafikkarte Hawaii im September
Kaveri verschoben und keine neuen FX-Prozessoren von AMD [Update]
Der Partner-Webwatch von Planet 3DNow! (06.08.2013)
Kaveri verschoben und keine neuen FX-Prozessoren von AMD
AMD startet neue "Never-Settle-Forever"-Spielebündel für Radeon Grafikkarten
Neuer Artikel: SilverStone Fortress FT04 - Die Hardware steht Kopf

 

Nach oben

 

Copyright © 1999 - 2019 Planet 3DNow!
Datenschutzerklärung