SharePoint Performance Tuning - Cluster Größe der SQL Festplatten

SharePoint Adventskalender - 1. Türchen

Mit der diesjährigen Weihnachtszeit möchte ich euch das Warten auf das Fest etwas verkürzen und jeden Tag einen spannenden Tipp zu SharePoint geben. Die Themen umfassen dabei SharePoint Performance Tuning, Performance Monitoring, Best-Practices für SP-SQL-Konfigurationen, BLOB Management und Backup & Recovery. Viel Spaß!

------------------------------------------

Das Kollaborationsportal SharePoint ist aus der Unternehmenswelt nicht mehr wegzudenken. In immer mehr Firmen wird es eingesetzt. Dabei soll es andere Portale oder auch die klassischen File-Shares ersetzen. Das damit verbundene Umgewöhnen von bekannten Prozessen und Abläufen ist nicht für jeden einfach. Um alle Mitarbeiter von dem Portal zu überzeugen, sollte es daher einfach zu bedienenen sein und Anfragen schnell bearbeiten.

Aber was schlägt Ihnen die Suchmaschine Ihrer Wahl als erstes vor, wenn Sie mit den Worten beginnen: „Why is SharePoint...“? Richtig, das erste Ergebnis ist: „Why is SharePoint so slow“.

Die Inhaltsdatenbanken von SharePoint müssen eine Vielzahl von Aufgaben bewältigen, wie z.B. Suche, ECM, Workflows, Collaboration (Co-Authoring) und vieles mehr. Bei schlechter Wartung können diese Operationen die Performance enorm beeinflussen. Vor allem auch deswegen, weil die SharePoint Inhaltsdatenbanken so entwickelt sind, dass sie ohne großes Eingreifen funktionieren – also einfach installieren und los. Leider sind aber die dabei vergebenen Standardwerte nicht optimal. Passt man diese nicht an, wird SharePoint langsam.

Die erste Stellschraube, an der Sie drehen können, ist die Cluster Größe auf den SQL Festplatten.

Sie haben Ihre SQL-Datenbanken auf einer Standard-NTFS Partition installiert und haben nun Performance Probleme? Dann könnte auch die Cluster Größe der zugrundeliegenden Speicherpartition eine Ursache sein. Wussten Sie nämlich, dass die standardmäßige Cluster Größe bei der Erstellung eines NTFS Laufwerks bei 4KB liegt? Dies ist ein schönes Beispiel für Standardwerte, die leider für unseren SQL nicht gut funktionieren.


SQL bevorzugt nämlich eine Cluster Größe von 64KB. Dies ist darauf zurückzuführen, wie SQL seinen Speicher innerhalb seiner Datendateien (MDF oder NDF) verwaltet. Dazu wird dieser logisch in 8KB große Seiten (Pages) unterteilt. Dies ist die grundlegende Einheit für die Datenspeicherung im SQL. Für eine effizientere Speicherverwaltung werden zudem immer acht physisch zusammenhängende Seiten zu Blöcken (Extents) zusammengefasst. Die Rechnung ist also einfach: 8 Seiten x 8KB = 64KB.

Wenn Sie also Performance-Probleme haben, denken Sie darüber nach, Ihre Datenbankdateien auf Laufwerke mit 64KB Cluster Größe zu verschieben. Selbst mit einer VM innerhalb der IaaS Lösung von Microsoft Azure ist durch diese Cluster Größe eine 20% bessere Festplatten-Performance zu messen. Auch diese Möglichkeit sollten Sie also berücksichtigen, wenn Sie ihre SharePoint Performance verbessern möchte.

-------------------------------------------------------------

Weitere Türchen: