juelz wrote:Dieses Problem wurde bisher erst in der Enterpriseversion (5.0.52) von MySQL gefixt. Ich habe mir aus dem Bugreport einen Patch gesucht und meinen MySQLd händisch gepatcht und neukompiliert, allerdings habe ich nun das Gefühl, dass der key buffer nun weniger verwendet wird, als vorher. Weisst du etwas über das Problem?
Nein, ich weiß nix von Änderungen, die Du am Code gemacht hast, noch kann ich zu Deinen Gefühlen Stellung nehmen. Wenn Du Messungen hättest, könnte man über diese Zahlen reden und was sie möglicherweise bedeuten.
Die Änderungen in 5.0.52 sind recht umfassend getestet worden (darum sind sie erst in 5.0.52 und nicht bereits vorher gemacht worden), es ist vielleicht besser, wenn Dir einen 5.0.5x Originalsource ziehst und übersetzt statt möglicherweise unvollständige Patches zu verwenden, insbesondere wenn Du sie in ihren Auswirkungen nicht überblickst und Dich da auf Gefühle verlassen mußt. Soweit ich das überblicke gab es da mal eine Initiative von Jeremy Cole und Freunden unter dem Namen "Dorsal Source", die so was gemacht haben, und einige Distributionen bauen auch selber von aktuelleren Trees.
Du schreibst weiter:
Code: Select all
KEY BUFFER
Current MyISAM index space = 4 G
Current key_buffer_size = 3 G
Key cache miss rate is 1 : 158
Key buffer fill ratio = 53.00 %
Deine Miss-Ratio ist unter 1:300, was schlecht ist, aber Dein Key Buffer ist nur 50% voll. Demnach ist Dein Server kalt (neu gestartet?) und die Ratio ist wertlos (noch nicht stabilisiert). Bitte messe dies noch mal mit einem warmen Server.
Dein Argument mit dem Query Cache leuchtet mir auch ein, das hatte ich so ohne weiteres noch nicht bedacht. Was soll ich aber davon halten, dass der mysqld x tausend Queries immer aus dem Query Cache entfernen muss, nur weil dieser zu klein ist?
Bring doch erst mal Dein Schema in Ordnung (in 3NF). Wenn es dann noch Schmerzen macht reden wir weiter.