Server nach einiger Zeit nach Neustart überlastet

Bububoomt

ohne Vertrauen
ID: 10361
L
28 April 2006
19.666
769
Habe nen bekanten, der eine Communty mit dem Script von https://pragmamx.org/ betreibt. Er hat das Problem, das alle Paar Tage die Seite extrem Langsam ist. Bei einem Neustart des Servers ist die Seite wieder Flink aber halt nach einiger Zeit weder lahm.

Auf der Seite sind ständg an die 200 Gäste und nochmal 200 User.

Statistik von phpmyadmin

Insgesamt 16 M
ø pro Stunde 540,82 k
ø pro Minute 9,01 k
ø pro Sekunde 150,23

Ich weiß nciht ob das schon viel ist oder noch ganz ok für nen Server?

Habt wer ne Idee, wie es kommt, das es nach einem Neustart ne weile Geht, also paar tage und dann auf mal nciht mehr? Und was könnte man da machen? (außer nen anderes Script)
 
Als erstes musst du mal raus finden was das Problem verursacht bzw woher es kommt. Wenn dein Bekannter dazu nicht in der Lage ist ist es vielleicht ratsam die Strategie zu wechseln. Wenigstens im groben sollte man schon in der Lage sein zu unterscheiden ob das Problem nun von der Anwendung, von Apache, von Mysql, von Linux oder weiß der Geier was kommt.

Performance Probleme allgemein würde ich mal ausschließen, ansonsten hätte man die selben Problem direkt schon nach einem Neustart und am ende noch schlimmer (die Datenbank muss erstmal warm laufen ;)).

PS: Die 150 Queries pro Sekunden ist eine nichts sagende Zahl und kann am ende schon viel zu viel oder auch ein Witz sein. Es macht ein unterschied ob ich 150 mal in der Sekunde "SELECT 1" ausführe, oder 150 mal Mysql dazubringen Temporäre Tabellen anzulegen. Sprich um da irgendwas beurteilen zu können müsste man die Anwendung schon relativ genau kennen und irgendwelche vergleichswerte mit anderen Systemen haben.
 
hmm, wie kann man dem den am besten auf die Spur komen, woran es liegen kann.

Also ansonsten hab ich sowas in phpmyadmin gefunden:

Slow_queries 1 k

wobe es inzw. 19 mio querys sind.

Gibt es ne möglichkeit an die Slow_querys zu kommen?

Created_tmp_disk_tables 373 k

das würde ich mal sagen ist nen hoher wert oder?

Gibt es tolls um zu sehen wo man optimieren sollte bzw. kann?
 
Die Werte sind, wie auch schon gesagt wurde, so "rausgerissen" absolut nichtssagend.

Du fängst hinten an, das ist aber der falsche Weg. Oder gibt es einen Grund, warum Du Dir jetzt mySQL genauer ansiehst?

> Gibt es ne möglichkeit an die Slow_querys zu kommen?

Wurde log_slow_queries festgelegt? Falls ja, in dieser Datei.
 
hmm, wie kann man dem den am besten auf die Spur komen, woran es liegen kann.

Wie? Mit Erfahrung! Als erstes musst du mal das Problem lokalisieren... wenn du das Problem nicht grade Live hast wären die System Logs eine gute Anlaufstelle. Dort sucht man nach potentiellen hinweisen.
Bei solchen Problemen macht es sich auch immer gut wenn man ein Leistungsprotokoll hat wo man nachvollziehen kann wie der Status des Systems zum Problemfall war. (sowas wie Prozessor, Ram, I/O, Traffic, Verbindungen usw... und wenn man da noch solche sachen wie Auslastung/Zugriffe von Mysql, Apache drin hat macht sich das auch nicht schlecht)

Wenn man danach immer noch nicht schlauer ist und nicht mehr weiter weiß hilft eigentlich nur noch hoffen dass es nicht nochmal passiert, oder auf das nächste mal zu warten. Und dann zu schauen an was es hängt.
 
Die Werte sind, wie auch schon gesagt wurde, so "rausgerissen" absolut nichtssagend.

Du fängst hinten an, das ist aber der falsche Weg. Oder gibt es einen Grund, warum Du Dir jetzt mySQL genauer ansiehst?

> Gibt es ne möglichkeit an die Slow_querys zu kommen?

Wurde log_slow_queries festgelegt? Falls ja, in dieser Datei.

Ich hatte einfach gedacht, das es recht viele Anfragen sind.

Wo sieht man das es gesetzt ist? Und wenn nein, we kann amn es denn
setzen?

@ZeroCCC
nun wie gesagt es passiert ja immer weder, einige tage nach einem Neustart ist es langsam, nach dem Neustart ist es sehr schnell.
 
Wurde schonmal mit free und top nachgeschaut,
ob irgendwas dem Rechner überlastet oder Speicher belegt?

Und um nachzuschauen, ob mySQL angemessen konfiguriert
ist, bietet sich das Tuning Primer Script an.
 
Wurde schonmal mit free und top nachgeschaut,
ob irgendwas dem Rechner überlastet oder Speicher belegt?

Und um nachzuschauen, ob mySQL angemessen konfiguriert
ist, bietet sich das Tuning Primer Script an.


Das war bei mir mein erster Ansatz (anderes Script).

Erstmal sehen was überhaupt die Leistung nutzt.
Bei mir war es dann MySQL, da dann halt genauer nachgeschaut und es waren einfach vom Ur-Sprungsprogger keine Schlüssel und Indizes gesetzt.

Damit ging es dann auch, natürlich noch ein paar Abfragen geprüft.
 
Bei mir war es dann MySQL, da dann halt genauer nachgeschaut und es waren einfach vom Ur-Sprungsprogger keine Schlüssel und Indizes gesetzt.
Ich habe zwar nicht nachgeschaut, aber bei solch einem Projekt bezweifle
ich solche Fehler. Da hätte sicherlich schon längst jemand gemeckert. ;)