Axel Richter: warum stirbt mein ganzes Betriebssystem bei 7500 Datensätzen?

Beitrag lesen

Hallo,

hier ein Nachtrag für den "Schlauberger":
http://forum.de.selfhtml.org/archiv/2004/6/83094/#m485192

Hm.

Wie groß ist denn der eingestellte Speicher pro Request in der my.cnf? Standard sind 8MB

Welche der Server System Variables http://dev.mysql.com/doc/mysql/en/Server_system_variables.html soll diesen "eingestellten Speicher pro Request" vorgeben?

was für 1,7 Millionen Datensätze bestimmt nicht ausreicht. Alleine eine Indextabelle auf den Primary Key würde da schon 27MB benötigen

Kannst Du den Zusammenhang zwischen 1,7 Mill. Datensätzen und 27 MB für eine Index-Tabelle auf einen nicht näher definierten Primary Key irgendwie begründen?

Zwischendurch wird swapped, was das Zeug hält. Setze den Speicher auf 64MB hoch und du müsstest, was MySQL betrifft eine Steigerung von mindestens Faktor 10 verspüren.

Als einzig mögliche Veränderung, welche sich auf die Performance beim Einfügen von Datensätzen in eine Tabelle mit indexierten Feldern auswirken würde, käme eine Veränderung von key_buffer_size in Frage. Der Wert hier ist aber stark abhängig vom wirklich physikalisch vorhandenen Arbeitsspeicher. Wenn der Wert zu klein ist, wird der Neuaufbau großer Indexdateien langsam, weil viele Einzeloperationen dafür verwendet werden müssen. Hierbei wird allerdings _nicht_ geswapped. Es passiert alles im wirklichen RAM. Wird der Wert allerdings zu groß (etwa mehr als die Hälfte des physikalischen Arbeitsspeichers), dann wird es noch langsamer, weil eben _dann_ der virtuelle Arbeitsspeicher zur Pufferung genutzt wird. Der Vorteil, der wenigeren Einzeloperationen, wird dadurch mehr als negiert.

viele Grüße

Axel