PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : MySQL crashed laufend die tables



Meatwad
27.01.08, 18:17
Hallo,

ich habe folgendes problem:
habe eine datenbank, so um die 700MB. darauf laufen 7 datenbanken, die sehr belastend sind (hlstatsx).

in unregelmäßigen abständen (von 5min bis zu 24h) crashen einzelne tables. öfters die ganz großen. abundzu crashen auch tables von den kleinen datenbanken.


frage: woran kann das liegen? habe keine lust jede min die tables mit mysqlcheck checken zu lassen und reparieren zu lassen.

hat jemand ne idee?
danke,
} Meatwad

psy
27.01.08, 19:22
Was verstehst du denn unter crashen der Tabellen?
Inkonsistenzen oder wie?

Gib mal mehr Infos.

Meatwad
27.01.08, 19:28
ah, sry. hier en paar infos:

wenn ich die tabellen mit REPAIR TABLE wieder repariere, funzt alles wieder.
folgende fehlermeldungen:

Table 'tabelle' is marked as crashed and should be repaired

marce
28.01.08, 08:37
Bitte noch ein paar Versionsinfos und evtl. sonstige Dinge, die auf dem System so "am laufen" sind.

Ansonsten: Kontrolliere mal den Speicher und die Festplatten auf Defekte...

bla!zilla
28.01.08, 08:41
Sind es immer die gleichen Tabellen?

Meatwad
28.01.08, 15:41
Hallo,

@marce: da es leider ein VServer ist, kann ich Festplatten- oder RAMdefekte nur schwer testen.
version:

vps2:~# mysql -V
mysql Ver 14.12 Distrib 5.0.51, for pc-linux-gnu (i486) using readline 5.2

@bla!zilla: es handelt sich dabei fast immer um die gleichen tabellen. konnte nur einmal feststellen, dass auch eine andere tabelle defekt war.

marce
28.01.08, 15:43
evtl. geht dem Ding einfach der Speicher aus und der entsprechende Prozess wird getötet? Dann geht die DB natürlich in einen inkonsistenten Zustand...

Ist der VServer von der Leistung her in darauf ausgelegt, solche Datenmengen handlen zu können?

Meatwad
28.01.08, 15:55
er hat 1GB ram und hdd-space ist auch reichlich vorhanden. auf dem system läuft sonst nicht viel anspruchsvolles. außer unsere hlstats, deren mysqlquerys die cpu gut belasten.

durchschnittliche belastung des rams ist bei 325MB, ohne den cache.

bla!zilla
28.01.08, 16:43
Bitte die DB bei einem Fehler herunterfahren und mit myisamchk überprüfen.

Meatwad
29.01.08, 16:57
die db herunterfahren? ich kann doch nur den kompletten datenbankserver bzw mysql stoppen, und ned nur eine datenbank, oder?

marce
30.01.08, 07:00
Vermutlich: Stimmt.

bla!zilla
30.01.08, 07:45
Richtig, MySQL komplett anhalten und dann checken. Das wird dein Clan schon verkraften....

Meatwad
30.01.08, 14:22
wir sind kein clan;) aber das ist ja jetzt kein thema.

hier mal die ausgabe:

vps2:/var/lib/mysql/hlstatsx_85-14-216-15-27015# myisamchk -c hlstats_Players
Checking MyISAM file: hlstats_Players
Data records: 15670 Deleted blocks: 0
- check file-size
- check record delete-chain
- check key delete-chain
- check index reference
- check data record references index: 1
- check data record references index: 2
- check record links

mit den parametern bin ich mir nicht so sicher. außerdem habe ich keine möglichkeit gefunden, alle tabellen durchsuchen zu lassen.

Meatwad
02.02.08, 12:20
nochjemand ne idee? ich habe mal etwas die mysql-docs gewälzt zur konfiguration. aber das ist echt en haufen holz, den man da durchacken muss.

ich stelle außerdem fest, dass in letzter zeit die countertabelle laufend "crashed". das macht sich einfach so bemerkbar, dass die seite nicht geladen wird, nach einiger zeit kommt dann "wegen netzwerkfehler abgebrochen". stoppe ich den apache einfach, kommt konnte "verbindung nicht aufbauen". wenn ich den counter rausnehme, klappt die seite ohne probleme (halt nur ohne counter).

es kommt also kein fehler vonwegen table crashed oder so. und die 60sec max executiontime haben auch keinen einfluss, so habe ich das gefühl :(

rep
02.02.08, 23:13
Hallo,

also VServer sind nicht so mein Fall, zumindest habe ich damals bei den Standard Providern schlechte Erfahrungen gemacht, gerade wenn die Anwendungen "stark" genutzt werden.

Ist der 1GB Speicher fest zugesichert, oder Dynamisch, ist es Dein Wirtssystem oder wie ich vermute, ein VServer bei einem Provider. Ich habe bei einigen Systemen auch Probleme mit allen Diensten gehabt, dann geht der Dynamische Speicher zu Ende, und wird dem System geklaut, dann sterben die Prozesse und bei der MySQL wurde hier ja schon gesagt was das bedeutet kann...

bei mir war es damals so der Fall, das nicht so viel gekillt werden konnte wie nötig war, und regelmäßig das ganze System stehengeblieben ist, und nur von Hand die Dienste wieder zum arbeiten zu übereden waren.

Eventuell mal "testweise" den Speicher auf die feste zugesicherte Grenze setzen (Kernelparameter) und einfach mal ein paar Tage testen. Aber ich denke der VServer ist in diesem Fall nichts für Dich.

Gruß

Meatwad
03.02.08, 11:39
jep, der steht bei nem provider. zugesicherter ram ist 1GB. dynamischen ram habe ich nicht. dann kommt noch der swapspace von 1GB.

das muss doch auch irgendwie mit dem vserver zu lösen sein, oder? ich versuche mal ein paar dienste abzuschalten und schaue dann, ob sich das problem legt.

rep
03.02.08, 23:09
Hey, wenn der Speicher wirklich zugesichert ist, sollte es in der Tat daran nicht liegen... aber es macht schon so den Eindruck... drossel doch trotzdem mal den Server auf weniger Ram, also mittels Kernelparameter... Kann den zwar gerade nicht runterbeten, steht aber auch hier irgendwo im Forum :-)

Gruß

PS: einen Test ist es auf jeden Fall wert.

Meatwad
05.02.08, 19:41
also, ich hab jetzt rumprobiert und gemacht und getan. hat alles nichts geholfen.

habe jetzt einfach mal vorübergehend ein pc, den ich hier noch rumstehen hatte, mit debian versehen und da läuft das zeugs nun. wobei das teil ist nun auch schon fast am limit (ist ein p4 2,0GHz)... jetzt muss ich nurnoch ein günstigen housingspace finden.

danke für eure hilfe,

} Meatwad