Basic Apache Performance Tips

Anyone mass-hosting virtual domains on apache knows the problems. Over the time I collected some basic and important performance tips which I want to give back to the community in aggregated form. Sorry, that I don’t remember all sources of information – so I will mention none. Google will help you. Here’s the list: Den Rest des Beitrags lesen »

MySQL server has gone away

Heute habe ich festgestellt, daß PHP (bzw. die Funktion mysql_error()) diesen Fehler ausgibt, wenn man eine Tabelle mit großen Blob-Daten füllen möchte – z.B. Bilder oder Downloads. Ob man große Daten besser im Dateisystem ablegt und nur den Dateinamen in der Tabelle, oder die Daten direkt in der Tabelle, sei mal dahingestellt. Fakt ist, daß der MySQL-Server es meist erlaubt, derlei große Queries zu verarbeiten. Das Problem ist eigentlich der Client, der per Default auf 1MB-Häppchen beschränkt ist. Um das zu beheben, sollte man in der my.cnf einfach max-allowed-packet höher setzen – präferabel auf irgendwas etwas größer als die PHP-Einstellung für max-post-size.

Hintergrund der Veranstaltung war eine Bilddatenbank, die die Originalbilder in der DB vorhält und für jede abgerufene Zoom-Stufe eine Cache-Kopie auf dem Dateisystem ablegt, die von einer Reinigungsroutine bei Nichtgebrauch irgendwann wieder weggeräumt wurde. Wurden die Originalbilder größer als 1MB, „has the MySQL server“ auf einmal „gone away“. Hat mir einige Kopfschmerzen bereitet, da die Fehlermeldung keinen Hinweis auf Query- oder Packet-Size gab.

Veröffentlicht in Linux, MySQL, PHP, Programmierung. 2 Comments »