Frage

Wir sagen unseren Kunden eine SQL Server-Datenbankdatei zu setzen (MDF), auf einem anderen physischen Laufwerk als die Transaktionsprotokolldatei (LDF). Die Tech-Unternehmen (gemietet von unserem Kunden) wollten das Transaktionsprotokoll setzen auf einem langsames (zum Beispiel billiger) Laufwerk als das Datenbank-Laufwerk, weil mit Transaktionsprotokollen, die Sie nur sequenziell Schreiben in die Protokolldatei.

Ich habe ihnen gesagt, dass ich dachte, dass das Laufwerk (eigentlich ein RAID-Konfiguration) benötigt auf einem schnellen Antrieb als auch sein, weil alle Daten aus der Datenbank abgerufen zu ändern, braucht dort gespeichert werden, sowie auf die Datenbank selbst.

Nach dass, obwohl sagen, erkannte ich, was ich darüber nicht ganz sicher war. Ist die Geschwindigkeit des Transaktionsprotokoll-Laufwerks einen signifikanten Unterschied in der Leistung machen ... wenn das Laufwerk mit der Datenbank schnell ist?

War es hilfreich?

Lösung

Die Geschwindigkeit des Log-Antrieb ist der kritischste Faktor für eine Schreib intensive Datenbank. Kein Updates schneller auftritt als das Protokoll geschrieben werden kann, so muss Ihr Laufwerk Ihrer max Update-Rate bei einem sprunghaften Anstieg erlebt unterstützen. Und alle Updates erzeugen Protokoll. Datenbankdatei (MDF / NDF) Updates können langsamere Schreib leisten aufgrund von zwei Faktoren

  • Daten-Updates sind träge ausgeschrieben und am Checkpoint gespült. Dies bedeutet, dass ein Update Spitze über das durchschnittliche Laufwerk amortisiert werden kann Durchsatz
  • mehr Updates auf einer einzigen Seite ansammeln können und somit werden eine einzige Schreib benötigen

Sie sind also richtig, dass die Log-Durchsatz kritisch ist.

Aber zur gleichen Zeit, lügt schreibt hat ein spezifisches Muster von sequentiellem Schreiben: lügt immer am Ende angehängt wird. Alle mechanischen Antriebe haben einen wesentlich höheren Durchsatz für Lese- und Schreibvorgänge, für die sequentiellen Operationen, da sie weniger körperliche Bewegung der Plattenköpfe beinhalten. So ist es auch wahr, was Ihre Ops Jungs sagen, dass eine langsame Fahrt in der Tat ausreichend Durchsatz bieten kann.

Aber alle diese kommen mit einigen großen Warnungen:

  • die langsame Fahrt (oder RAID-Kombination) muss wirklich bietet eine hoch sequentiellen Durchsatz
  • das Laufwerk muss Protokoll schreibt von einer und nur einer Datenbank, und sonst nichts sehen. Jede andere Operation, die mit der aktuellen Plattenkopfposition stören könnte beschädigen des Schreibdurchsatzes und führt zu einer langsameren Datenbankleistung
  • muss das Protokoll nur Schreib sein, und nicht gelesen. Beachten Sie, dass bestimmte Komponenten aus dem Protokoll lesen müssen, und so werden sie die Plattenmechanik an anderen Positionen bewegen, so dass sie das zuvor geschriebene Protokoll zurückgelesen werden:
    • Transaktionsreplikation
    • Datenbankspiegelung
    • Protokollsicherung

Andere Tipps

Vereinfacht ausgedrückt, wenn Sie über eine OLTP-Datenbank sprechen, Ihren Durchsatz wird durch die Geschwindigkeit der Schreibvorgänge in das Transaktionsprotokoll bestimmt. Sobald diese Leistung Decke Hit ist, werden alle anderen abhängigen Aktionen warten muss, auf die sich verpflichten, vollständig zu protokollieren.

Dies ist eine sehr stark vereinfachte Sicht auf den Interna des Transaktionsprotokolls, auf dem ganzen Bücher gewidmet sind, aber die rudimentäre Punkt bleibt.

Nun, wenn das Speichersystem mit dem Sie arbeiten können die IOPS sorgen, dass Sie benötigen beide Ihre Transaktionsprotokoll und Datenbank-Datendateien zusammen unterstützen dann ein gemeinsam genutztes Laufwerk / LUN sorgen für Ihre Bedürfnisse angemessen wäre.

Um Sie mit einem bestimmten bieten Handlungsempfehlung würde ich brauche mehr über Ihre Datenbankauslastung wissen, und die Leistung, die Sie Ihren Datenbankserver benötigen zu liefern.

Erhalten Sie Ihre Hände auf den Titel SQL Server 2008 Internals eine gründliche Blick in die Interna des SQL Server-Transaktionsprotokoll zu bekommen, es ist eines der besten SQL Server Titel gibt, und es wird sich lohnen für sich in wenigen Minuten vom Wert, den Sie aus der Lektüre gewinnen.

Nun, ist das Transaktionsprotokoll die Hauptstruktur, die ACID bietet, kann ein großer Engpass für die Leistung sein, und wenn Sie Backups tun regelmäßig sein erforderlicher Raum hat eine obere Grenze, so dass ich es in einem sicheren setzen würde, schnell fahren mit nur Platz genug + ein wenig Spielraum.

Das Transaktionsprotokoll auf den schnellsten Laufwerken sein sollte, wenn es nur das Schreiben in das Protokoll abschließen kann sie den Rest der Transaktion im Speicher tun können, und lassen Sie es später treffen Platte.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top