Andi: Gedankenspiel

Hi Forum,

ich habe mir da was überlegt.

Ein MYSQL-Server wird neu gestartet. Dadurch werden ja alle seine Caches gelöscht, z.B. der key puffer. Würde es den Server nicht beschleunigen, wenn ich ihn in der Nacht schon mal alle Daten durch einen Cronjob abfragen liese? Also, durch ein simples SELECT auf alle relevanten Tabellen?

Hintergrund ist, dass bei uns der Webserver jede Nacht aufgrund eines Backups neu gestartet werden muss.

Andi

  1. Hallo,

    ich habe mir da was überlegt.

    Ein MYSQL-Server wird neu gestartet. Dadurch werden ja alle seine Caches gelöscht, z.B. der key puffer. Würde es den Server nicht beschleunigen, wenn ich ihn in der Nacht schon mal alle Daten durch einen Cronjob abfragen liese? Also, durch ein simples SELECT auf alle relevanten Tabellen?

    ja, eine Abfrage aus dem Query-Cache (einschalten!) dauert in der Regel 20ms.

    Hintergrund ist, dass bei uns der Webserver jede Nacht aufgrund eines Backups neu gestartet werden muss.

    Warum muß dazu der Server angehalten werden? mysqldump und insbesondere mysqlhotcopy funktionieren doch auch ohne Neustart.
    Wenn Du eine Replikation aufsetzt, wird das noch nicht mal durch Performanceeinbrüche sichtbar (keine Locks).

    Gruß
    Reiner

    1. ja, eine Abfrage aus dem Query-Cache (einschalten!) dauert in der Regel 20ms.

      den meinte ich nicht, der bringt da nicht soviel, da sehr viele Schreib-und-Lesevorgänge auf die gleiche Tabelle nacheinander erfolgen. Da brauche ich zumindest nix vorcachen. Hab jetzt mal so nen Cron geschrieben...bin gespannt ob das was bringt.

      Warum muß dazu der Server angehalten werden? mysqldump und insbesondere mysqlhotcopy funktionieren doch auch ohne Neustart.
      Wenn Du eine Replikation aufsetzt, wird das noch nicht mal durch Performanceeinbrüche sichtbar (keine Locks).

      Frag nicht, es gibt ja viele Sachen ohne erkennbaren guten Grund ;-)

      Gruß
      Reiner

      Andi

  2. Hallo !

    Hi Forum,

    ich habe mir da was überlegt.

    Ein MYSQL-Server wird neu gestartet. Dadurch werden ja alle seine Caches gelöscht, z.B. der key puffer. Würde es den Server nicht beschleunigen, wenn ich ihn in der Nacht schon mal alle Daten durch einen Cronjob abfragen liese? Also, durch ein simples SELECT auf alle relevanten Tabellen?

    Ich vermute mal, dass ein "simpler" SELECT ( also "* FROM [...]" ) nicht soviel bringt da die Indices hierbei nicht zwangslaeufig geladen werden muessen.
    Aber genau die braucht ja er im online-Betrieb z.B. fuer die INSERTs und die JOINs(*). ( Und ueberhaupt )

    Vielleicht koennte man explizit die Indices laden lassen, etwa ueber irgendwelche JOINs o.ae.

    Ist aber nur ein Schuss ins Blaue.

    Gruesse

    Holger

    (*) Warum denk ich bei dem Wort bloss immer an Grasflaechen.... ;-)

    Hintergrund ist, dass bei uns der Webserver jede Nacht aufgrund eines Backups neu gestartet werden muss.

    Andi