Dienstag, 4. September 2012

Roundcube am limit

Letztens ist es passiert das Roundcube auf einem unserer Rechner am Limit war.



Soll heissen das die Ausgabe von top eine Wait von 85% zeigte, und damit einhergehend natürlich auch Loginzeiten (bzw auch Seitenaufbauzeiten) jenseits der 1 Minute Grenze.


Der erste Lösungsansatz schlug leider fehl. Dieser bestand darin den Apache Server und den MySQL Server neuzustarten. Doch wie gesagt, dies führte zu einer Verbesserung für gerade mal 3 Minuten. Bevor die Wait auch hier wieder über einen Wert von 60% ging.
Allgemein sollte man vielleicht wissen das Wait zumeist mit Festplatten zugriffen zusammenhängt, also ein Prozess würde zwar gerne etwas tun, muss jedoch auf die I/O warten.

Also, da Roundcube primär auf MySQL basiert, bzw diese Datenbank als Backend nutzt, fand sich hier auch ein besserer Lösungsansatz und zwar über das löschen/leeren einer Roundcube Tabelle in Mysql.
Hierzu betrachtet ich mir die Zugriffe in MySQL selbst und fand schnell heraus das Roundcube mittels einer Tabelle eine Art Cache simuliert.Die Lösung und Vorgehensweise:



  • mysql -p



Dann natürlich das login in die Datenbank als root mit Passwort.



  • use roundcube;

  • select count(*) from cache;



Dies brachte einen Wert jenseits von 160.000 zurück.



  • truncate cache;

  • quit;



Die führte dazu das es ziemlich genau 3 Monate sehr gut lief, bis der Speicher auch hier wieder voll war.