Communardo Software GmbH, Kleiststraße 10 a, D-01129 Dresden
0800 1 255 255

Ihr SharePoint ist langsam? - So verbessern Sie die Performance

Und plötz­lich sind sie da, die Beschwerden, wel­che kein Systemverantwortlicher lesen oder hören möchte:

  • der SharePoint Server ist lang­sam
  • die Performance ist schlecht
  • unter sol­chen Bedingungen kann ich nicht arbei­ten

Konkreter wird es in den meis­ten Fällen nicht, es kommt eher noch der Hinweis "es war doch vor­her auch nicht schnell" :-/

Bei Performance-Problemen hat der Benutzer sel­ten eine Fehlermeldung, son­dern immer sein per­sön­li­ches Gefühl. In den wenigs­ten Fällen liegt eine Messung vor wie die Ladezeiten der Seite vor den ers­ten Meldungen der Benutzern, bei der Inbetriebnahme des SharePoint Servers oder nach einem Update auf das aktu­elle CU war. Auch von dem Hersteller bekommt man keine ver­läss­li­chen Aussagen wie die Ladezeiten der Seiten sein soll­ten oder in wel­chem Rahmen sich diese bewe­gen kön­nen.

In unse­rem letz­ten Fall (hier den Verweis auf Bugs als Performance-Bremse) hat­ten wir genau diese Voraussetzungen. Wir hat­ten keine Werte ob sich die Performance schlag­ar­tig ver­schlech­ter hat oder ob es eher ein schlei­chen­der Prozess war.

Wie wir trotz­dem die Ursache für die Verschlechterung der Ladezeiten gefun­den haben möchte ich hier kurz beschrei­ben.

Wie sollten Sie beginnen?

Performance analysieren

Im ers­ten Schritt gilt es Daten zu sam­meln. Die Daten sol­len hel­fen Nachzuweisen, wie der aktu­elle Stand ist und wel­che Verbesserungen bei den Ladezeiten mit den Konfigurationen erzielt wur­den.

Bei dem kom­plet­ten Verlauf der Analyse sollte immer der neu­trale Blick auf die Anwendung bewahrt wer­den.

Folgende Daten soll­ten doku­men­tiert wer­den:

  • Ladezeiten im Browser
  • Standort der Benutzer der Anwendung
    • besteht ein glo­ba­les oder regio­na­les Problem?
    • betrifft es viel­leicht auch nur Mitarbeiter, wel­che sich im Außendienst befin­den?
  • Schreib- und Lesegeschwindigkeit auf den Festplatten der Server
  • Netzwerkgeschwindigkeit zwi­schen den Servern (SharePoint <-> SharePoint und SQL Server <-> SharePoint Server)
  • Auslastung der Hardwareressourcen auf alle Servern (CPU, RAM, Festplattenspeicher)
  • Versionen der Betriebssysteme und des SharePoint Servers

Zusätzlich sollte im SharePoint das Developer Dashboard akti­viert wer­den.

$svc = [Microsoft.SharePoint.Administration.SPWebService]::ContentService
$dds = $svc.DeveloperDashboardSettings
$dds.DisplayLevel = "On"
$dds.Update()

Daten auswerten

Wenn alle Daten gesam­melt sind, müs­sen diese natür­lich aus­ge­wer­tet wer­den. Dabei ist es im ers­ten Schritt wich­tig, ob die Werte mit den Anforderungen von Microsoft über­ein­stim­men. Um die Anforderungen abzu­glei­chen, emp­feh­len wir die Übersichtsseite Hardware- und Softwareanforderungen für SharePoint 2013.

Einen genauer Blick auf das Developer Dashboard lohnt sich in die­sem Zusammenhang. Microsoft bie­tet uns hier ein Hilfsmittel, mit wel­chen wir sehr detail­liert die Abläufe bei einer Anfrage an den SharePoint sehen.

Auf der Übersichtsseite erhal­ten wir einen Überblick über grund­le­gende Daten der Abfragen. Interessant ist hier die SQL-Gesamtdauer, wel­che ohne die­ses Tool schwer zu ermit­teln ist:

developer-dashboard-serverinfo

 

Ein wei­te­rer Blick sollte auch auf den Reiter "Bereiche" gewor­fen wer­den. Hier fin­det man einen detail­lier­ten Überblick über die genauen Abfragen und wel­che Dauer diese haben

developer-dashboard-bereiche

In die­ser Übersicht gilt es zu unter­su­chen, wel­che Operationen hohe Dauer haben. Wichtig dabei ist auf die Dauer in Sekunden zu ach­ten. Die Balken kön­nen auch bei einer guten Antwortzeit das Bild etwas ver­zer­ren.

Schritte zur Performance-Verbesserung

Welche Möglichkeiten haben Sie?

Nachdem die Daten gesam­melt und auch aus­ge­wer­tet wur­den, ergibt sich Ihnen ein Bild, wo ein Bottleneck sein könnte. Im nächs­ten Schritt soll­ten dann die Maßnahmen für die Behebung ergrif­fen wer­den. Je nach Fehler kann dies unter­schied­lich aus­fal­len.

Unsere Erfahrung und Empfehlung ist es, mit den Grundlagen zu begin­nen:

Kontrolle und Auslastung der Hardwareressourcen:

Dies bedeu­tet es sollte die Datenbankgröße kon­trol­liert wer­den und diese ggf. auf meh­rere auf­ge­teilt wer­den:

Update auf ein aktu­el­les CU des SharePoint Servers. Die neus­ten CUs sind im Blog von Microsoft gut zu fin­den:

Sind die Grundkonfigurationen kon­trol­liert und ange­passt, dann kön­nen Sie sich an die tie­fer gehende Konfiguration wagen. Hier gibt es von Microsoft und eini­gen Kollegen eine Zusammenfassung eini­ger Schritte:

Bugs als Performance-Bremse

Nicht immer sind es feh­ler­hafte Konfigurationen im SharePoint oder man­gelnde Hardwareressourcen auf den vir­tu­el­len Servern, son­dern auch Bugs in der dar­un­ter­lie­gend Software kön­nen eine Ursache für Performance-Probleme sein.

In einem unse­rer Fälle sind wir bei der Analyse einer SharePoint Server Farm auf einen Bug in der VMWare Software gesto­ßen. Dieser Bug hatte zur Folge, dass Verbindungen zum SQL Server behin­dert wur­den. Die Auswirkungen waren Ladezeiten von > 5 Sekunden.

Hier ein Auszug aus dem KB Artikel von VMWare:

This issue is obser­ved under these con­di­ti­ons:

  • The guest ope­ra­ting sys­tem is Windows Server 2012, Windows 8 or later.
  • The vir­tual machine is on hard­ware ver­sion 11/ ESXi 6.0 com­pa­ti­bi­lity.
  • The vir­tual NIC is vmxnet3 and the dri­ver ver­sion is 1.6.6.0.
  • The Receive Side Coalescing (RSC) fea­ture is enab­led glo­bally and on the vmxnet3 adap­ter.
  • This issue is more pre­va­lent when:
    • Running Microsoft SQL/TDS based workloads
    • Using Jumbo Frames
    • The cli­ent and ser­ver are on two dif­fe­rent hosts

Die Lösung ist in die­sem Fall sim­pel und ohne einen Einfluss auf den Betrieb aus­zu­füh­ren. Das Receive Segment Coalescing (RSC) musste deak­ti­viert wer­den.

Disable-NetAdapterRsc *

Nachdem die Funktion auf allen Windows Servern 2012 deak­ti­viert war, konn­ten die Antwortzeiten auf < 1.5 Sekunden ver­bes­sert wer­den.

Das Ergebnis: Ein Vorher-Nachher-Vergleich

Am Ende jeder Analyse und Verbesserung steht natür­lich ein Ergebnis, wel­ches fest­ge­hal­ten wer­den muss. Nutzen Sie die Chance alle Daten zen­tral zu doku­men­tie­ren. Somit haben Sie die Möglichkeit bei den nächs­ten Meldungen, die kein Systemverantwortlicher hören will ;-), direkt zu ent­schei­den, ob sich etwas ver­schlech­tert hat und in wel­chen Bereichen.

Ein wich­ti­ger Punkt wird zum Abschluss einer erfolg­rei­chen Behebung sol­cher Probleme immer ver­ges­sen: Verbreiten Sie die posi­tive Nachricht und genie­ßen Sie die Komplimente der Mitarbeiter und Kollegen 🙂

Mein Fazit

Performance und lang­same Anwendungen sind ein heik­les Thema, wel­ches von jedem Administrator oder Systemverantwortlichen ernst genom­men wer­den sollte. Reagiert die Anwendung im Unternehmen nicht so schnell wie Anwendungen von Google, Facebook oder Twitter dann ver­liert man die Nutzer. Wichtig ist dabei immer der Blick auf das Wesentliche und auf feste Zahlen und Messungen. Verlassen Sie sich nicht nur auf Aussagen und das Gefühl, hal­ten Sie die Daten fest, um am Ende den Beweis zu haben, wie schnell und gut admi­nis­triert die Anwendung ist.

Sie benötigen Unterstützung? – Unser Health-Check

sharepoint_health-check_teaser

Mit unse­rem Health-Check füh­ren wir als SharePoint-Experte eine umfas­sende und detail­lierte Prüfung Ihrer SharePoint-Umgebung durch. Wir unter­stüt­zen Sie dabei Performance-Probleme zu iden­ti­fi­zie­ren und Verbesserungspotentiale auf­zu­de­cken – auch in Verbindung mit Office 365 in hybri­den Infrastrukturen. Jetzt infor­mie­ren!

23. September 2016

Pin It on Pinterest