Articles

SQL-Server-Datenbank-Performance-Tuning

Posted on

Sie sind ein Entwickler, DBA oder Systemadministrator, der mit langlaufenden Abfragen in SQL Server feststeckt, und Sie müssen ein SQL-Server-Performance-Tuning durchführen. Wir bringen Ihnen das SQL-Tuning in einer Reihe von einfachen, kostenlosen Tutorials bei:

  1. Messen Sie, wie schnell der Server jetzt ist.
  2. Performance-Tuning der Abfragen.
  3. Performance-Tuning der Indizes.
  4. Performance-Tuning der Einstellungen von SQL Server.
  5. Performance-Tuning der Hardware.
  6. Schließlich, wenn Sie neue Server kaufen müssen, besorgen Sie sich eine Best-Practice-Checkliste für die Einrichtung und führen Sie Lasttests durch, bevor Sie in Betrieb gehen.

Lassen Sie uns die einzelnen Schritte im Detail betrachten.

Messung der SQL Server-Leistung

Wenn die Benutzer zu Ihnen kommen und sagen, dass ihre Abfragen langsam sind, wollen Sie sie nicht einfach beim Wort nehmen: Sie wollen genau wissen, welche Abfragen langsam sind und warum. Beginnen wir mit

  • sp_BlitzFirst® – dieses kostenlose Tool ist wie der Tachometer von SQL Server. Es zeigt Ihnen, wie schnell SQL Server ist und welche Wartetypen Sie daran hindern, schneller zu werden.
  • SQL Server Perfmon Tutorial – wie Sie Perfmon einrichten, welche SQL Server Perfmon Zähler Sie verfolgen können und was die Indikatoren bedeuten.
  • Beobachten Sie Brent Tune Servers – auf der Microsoft Ignite 2015 nahm er mehrere SQL Server-Workloads, fand den Engpass und optimierte dann verschiedene Einstellungen für schnelle Lösungen.

Dann, bevor Sie anfangen, Dinge zu ändern, fragen Sie, welche Teile des Servers Sie ändern dürfen. Der Manager’s Guide to Tuning SQL Server gibt Ihnen eine einfache Checkliste, welche Teile Sie optimieren, ändern oder komplett ersetzen können.

Wie man SQL-Abfragen optimiert

Wenn Sie eine interne Anwendung haben und die Erlaubnis haben, Abfragen zu optimieren, finden Sie hier ein paar Möglichkeiten, die am längsten laufenden Abfragen in SQL Server zu finden und dann deren Leistung zu steigern. Zuerst müssen wir herausfinden, welche Abfragen zu optimieren sind, und hier sind die Abfrage-Performance-Tuning-Tools, die ich verwende:

  • Um Ihre langlaufenden Abfragen insgesamt zu finden, verwenden Sie das kostenlose Skript sp_BlitzCache. Sie müssen nichts im Voraus installieren, und es funktioniert auf allen unterstützten Versionen von SQL Server ab 2008. (Es funktioniert sogar in der Cloud.)
  • Um herauszufinden, welche Abfragen jetzt gerade am längsten laufen, führen Sie sp_BlitzWho aus. Es zeigt Abfragen von den am längsten laufenden bis zu den kürzesten an und gibt Ihnen deren Ausführungspläne.

Sie werden feststellen, dass ich nicht gesagt habe, dass Sie langsam laufende Abfragen mit SQL Profiler abfangen sollen. Der Profiler ist kein guter Leistungsmonitor für SQL Server: Er führt dazu, dass alle Abfragen langsamer laufen. Sie sind viel besser dran, wenn Sie den Plan-Cache verwenden, wie oben gezeigt.

Sobald Sie die teuren SQL-Abfragen gefunden haben, die Sie tunen müssen, hier meine Lieblingstipps für das Performance-Tuning:

  • Beobachten Sie Brent beim Tunen von Abfragen – haben Sie sich jemals gefragt, wie es jemand anderes macht? Schauen Sie Brent in diesem kostenlosen SQL Server-Tutorial über die Schulter.
  • 7 Dinge, die Entwickler über SQL wissen sollten – unter anderem, warum Funktionen selten gut funktionieren, warum WITH NOLOCK nicht bedeutet, dass es kein Locking gibt und vieles mehr.
  • Wie Sie Leistungsverbesserungen messen – Kendra erklärt, wie Sie Statistiken aus SSMS verwenden.
  • Wie man Abfrageausführungspläne liest und sie so abstimmt, dass sie schneller werden.

Wie man Index-Performance-Tuning betreibt

Wenn Sie die SQL-Abfragen nicht optimieren dürfen, sie aber dennoch beschleunigen müssen, dann müssen Sie möglicherweise nicht-geclusterte Indizes und abdeckende Indizes entwerfen. Dies kann die Leistung einer SQL-Abfrage erhöhen, ohne

Wenn Sie die Datenbankstrukturen effizienter gestalten wollen, damit SQL Server weniger arbeitet, finden Sie hier unsere Ressourcen:

  • sp_BlitzIndex® – führen Sie dies in Ihrer Datenbank für einen kostenlosen Sanity Check aus. Es zeigt fehlende Indizes, unbenutzte Indizes, Duplikate, Heaps und mehr an und erklärt, warum sie Ihre Leistung beeinträchtigen.
  • Ressourcen zur Indizierung – unsere bevorzugten Blogbeiträge und Videos zum Tuning von Indizes.
  • SQL Server Buchempfehlungen – okay, die Bücher sind nicht kostenlos, aber unsere Empfehlungen sind es. Wir haben die besten Bücher für Anfänger, Fortgeschrittene und Performance-Tuning ausgewählt.
  • Tabellenpartitionierung – diese Funktion scheint eine großartige Möglichkeit zu sein, große Tabellen aufzuteilen, aber sie bringt einige große Probleme mit sich.
  • Wie man Indizes optimiert – und SQL Server-Abfragen schneller macht.

Performance-Tuning der SQL Server-Einstellungen

Überraschenderweise können viele Standardeinstellungen von SQL Server zu schlechter Performance führen. Lassen Sie uns durchgehen, was Sie tun müssen:

  1. Führen Sie sp_Blitz® auf dem Server aus. Es ist ein kostenloser Gesundheitscheck, der viele häufige Performance-Engpässe aufspürt.
  2. Prüfen Sie unsere Checkliste für die SQL Server-Einrichtung – einige einfache Konfigurationsänderungen können Ihnen von Anfang an 20-30% Performance-Steigerung bringen, ohne zusätzliches Geld auszugeben.
  3. Prüfen Sie die Checkliste für schlechte Performance – Jeremias 5 Dinge, die schlechte SQL Server-Performance beheben.
  4. Sysadmin’s Guide to SQL Server Memory – warum verbraucht sqlserver.exe nicht viel Speicher? Wie kann man feststellen, ob mehr benötigt wird?

Performance Tune the Hardware

Hey, manchmal ist es die schnellste, einfachste und billigste Lösung, die Hardware auf den Kopf zu stellen.

  • Was ist der kleinste SQL Server, den Sie bauen sollten? – Brent erklärt, warum 96 GB RAM wirklich nicht viel sind – vor allem, wenn man es mit den SQL Server-Lizenzkosten vergleicht.
  • SSD RAID-Lasttest-Ergebnisse – Wie schnell sind handelsübliche SSDs, vor allem, wenn man sie hinter einem RAID-Controller einsetzt?
  • Shared Storage für SQL Server – wir machen viel SAN-Tuning und haben unsere Lieblingsressourcen zusammengestellt.
  • Best Practices für die Virtualisierung – Lizenzierung, Wiederherstellbarkeit und Leistungskonfigurationen.
  • Virtualisierung, SANs und Hardware für SQL Server – ein 7-stündiger Online-Kurs, in dem Sie lernen, wie Sie die Dinge einrichten und optimieren.

Erstellung und Lasttests für neue SQL Server

Wenn Sie planen, wie groß ein Server sein soll, beginnen Sie mit Brents Video von der Microsoft TechEd 2012, Building the Fastest SQL Servers. Er erklärt die beiden gängigen Zugriffsmuster für Datenbanken (OLTP und Data Warehousing) und gibt Ihnen Hinweise, welche Hardware Sie dafür wählen sollten.

Für Data Warehouses gehen Sie auf die Microsoft Fast Track Landing Page, aber BEVOR SIE KLICKEN, diese Seite hat eine Menge Marketing-Zeug, und Sie müssen wissen, wonach Sie suchen. Konzentrieren Sie sich auf die Referenzkonfigurationen und Konfigurationsleitfäden. Es gibt einige herstellerneutrale von Microsoft, und dann gibt es herstellerspezifische Anleitungen von Dell, HP, IBM usw. Möglicherweise müssen Sie ganz nach unten scrollen, um die herstellerspezifischen Anleitungen zu sehen.

Wenn der Server gebaut ist, finden Sie hier unsere bevorzugten Ressourcen für Lasttests und die Einrichtung:

  • Wie schnell ist Ihr Speicher? – Ich zeige Ihnen, wie Sie mit dem kostenlosen Tool CrystalDiskMark einen schnellen Lasttest für Solid State Drives und SANs durchführen können.
  • How to Test SAN Performance with SQLIO – SQLIO ist wahrscheinlich das Tool mit dem schlechtesten Namen in der Geschichte: Es hat nichts mit Datenbanken zu tun. Es ist trotzdem sehr nützlich, um Engpässe zu testen.

Brauchen Sie SQL Server-Beratung?Wir sind Berater für Performance-Tuning.

Wir haben uns darauf spezialisiert, Microsoft SQL Server schnell und zuverlässig zu machen.

Unsere Kunden sind vielfältig: Dot-Com-Sites, Hedge-Fonds, Krankenhäuser, Software-Anbieter bis hin zu kleinen 1-2-Personen-Unternehmen. Sie alle haben eines gemeinsam: Sie sind mit ihren SQL-Servern frustriert und brauchen schnelle, kosteneffektive Antworten.

Sie haben uns wahrscheinlich schon auf Konferenzen auf der ganzen Welt gesehen und vielleicht haben Sie sogar etwas gelernt. Sie werden unsere Präsenzschulungen und Schulungsvideos lieben.

Wollen Sie schnellere, persönliche Hilfe? Wir bieten einen SQL Server Health- und Performance-Check-up an, der die Ursache von Problemen schnell aufdeckt und Ihnen zeigt, wie Sie sie beheben können. Kontaktieren Sie uns jetzt, um mehr zu erfahren.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.