Communardo Software GmbH, Kleiststraße 10 a, D-01129 Dresden
+49 (0) 351/8 33 82-0

Ihr SharePoint ist langsam? – So verbessern Sie die Performance

Und plötz­lich sind sie da, die Beschwer­den, wel­che kein Sys­tem­ver­ant­wort­li­cher lesen oder hören möchte:

  • der Sha­re­Point Ser­ver ist lang­sam
  • die Per­for­mance ist schlecht
  • unter sol­chen Bedin­gun­gen kann ich nicht arbei­ten

Kon­kre­ter wird es in den meis­ten Fäl­len nicht, es kommt eher noch der Hin­weis “es war doch vor­her auch nicht schnell” :-/

Bei Per­for­mance-Pro­ble­men hat der Benut­zer sel­ten eine Feh­ler­mel­dung, son­dern immer sein per­sön­li­ches Gefühl. In den wenigs­ten Fäl­len liegt eine Mes­sung vor wie die Lade­zei­ten der Seite vor den ers­ten Mel­dun­gen der Benut­zern, bei der Inbe­trieb­nahme des Sha­re­Point Ser­vers oder nach einem Update auf das aktu­elle CU war. Auch von dem Her­stel­ler bekommt man keine ver­läss­li­chen Aus­sa­gen wie die Lade­zei­ten der Sei­ten sein soll­ten oder in wel­chem Rah­men sich diese bewe­gen kön­nen.

In unse­rem letz­ten Fall (hier den Ver­weis auf Bugs als Per­for­mance-Bremse) hat­ten wir genau diese Vor­aus­set­zun­gen. Wir hat­ten keine Werte ob sich die Per­for­mance schlag­ar­tig ver­schlech­ter hat oder ob es eher ein schlei­chen­der Pro­zess war.

Wie wir trotz­dem die Ursa­che für die Ver­schlech­te­rung der Lade­zei­ten 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 Nach­zu­wei­sen, wie der aktu­elle Stand ist und wel­che Ver­bes­se­run­gen bei den Lade­zei­ten mit den Kon­fi­gu­ra­tio­nen erzielt wur­den.

Bei dem kom­plet­ten Ver­lauf der Ana­lyse sollte immer der neu­trale Blick auf die Anwen­dung bewahrt wer­den.

Fol­gende Daten soll­ten doku­men­tiert wer­den:

  • Lade­zei­ten im Brow­ser
  • Stand­ort der Benut­zer der Anwen­dung
    • besteht ein glo­ba­les oder regio­na­les Pro­blem?
    • betrifft es viel­leicht auch nur Mit­ar­bei­ter, wel­che sich im Außen­dienst befin­den?
  • Schreib- und Lese­ge­schwin­dig­keit auf den Fest­plat­ten der Ser­ver
  • Netz­werk­ge­schwin­dig­keit zwi­schen den Ser­vern (Sha­re­Point <-> Sha­re­Point und SQL Ser­ver <-> Sha­re­Point Ser­ver)
  • Aus­las­tung der Hard­wareres­sour­cen auf alle Ser­vern (CPU, RAM, Fest­plat­ten­spei­cher)
  • Ver­sio­nen der Betriebs­sys­teme und des Sha­re­Point Ser­vers

Zusätz­lich sollte im Sha­re­Point das Deve­l­oper Dash­board 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 Anfor­de­run­gen von Micro­soft über­ein­stim­men. Um die Anfor­de­run­gen abzu­glei­chen, emp­feh­len wir die Über­sichts­seite Hard­ware- und Soft­ware­an­for­de­run­gen für Sha­re­Point 2013.

Einen genauer Blick auf das Deve­l­oper Dash­board lohnt sich in die­sem Zusam­men­hang. Micro­soft bie­tet uns hier ein Hilfs­mit­tel, mit wel­chen wir sehr detail­liert die Abläufe bei einer Anfrage an den Sha­re­Point sehen.

Auf der Über­sichts­seite erhal­ten wir einen Über­blick über grund­le­gende Daten der Abfra­gen. Inter­es­sant ist hier die SQL-Gesamt­dauer, wel­che ohne die­ses Tool schwer zu ermit­teln ist:

developer-dashboard-serverinfo

 

Ein wei­te­rer Blick sollte auch auf den Rei­ter “Berei­che” gewor­fen wer­den. Hier fin­det man einen detail­lier­ten Über­blick über die genauen Abfra­gen und wel­che Dauer diese haben

developer-dashboard-bereiche

In die­ser Über­sicht gilt es zu unter­su­chen, wel­che Ope­ra­tio­nen hohe Dauer haben. Wich­tig dabei ist auf die Dauer in Sekun­den zu ach­ten. Die Bal­ken kön­nen auch bei einer guten Ant­wort­zeit das Bild etwas ver­zer­ren.

Schritte zur Performance-Verbesserung

Welche Möglichkeiten haben Sie?

Nach­dem die Daten gesam­melt und auch aus­ge­wer­tet wur­den, ergibt sich Ihnen ein Bild, wo ein Bott­len­eck sein könnte. Im nächs­ten Schritt soll­ten dann die Maß­nah­men für die Behe­bung ergrif­fen wer­den. Je nach Feh­ler kann dies unter­schied­lich aus­fal­len.

Unsere Erfah­rung und Emp­feh­lung ist es, mit den Grund­la­gen zu begin­nen:

Kon­trolle und Aus­las­tung der Hard­wareres­sour­cen:

Dies bedeu­tet es sollte die Daten­bank­größ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 Sha­re­Point Ser­vers. Die neus­ten CUs sind im Blog von Micro­soft gut zu fin­den:

Sind die Grund­kon­fi­gu­ra­tio­nen kon­trol­liert und ange­passt, dann kön­nen Sie sich an die tie­fer gehende Kon­fi­gu­ra­tion wagen. Hier gibt es von Micro­soft und eini­gen Kol­le­gen eine Zusam­men­fas­sung eini­ger Schritte:

Bugs als Performance-Bremse

Nicht immer sind es feh­ler­hafte Kon­fi­gu­ra­tio­nen im Sha­re­Point oder man­gelnde Hard­wareres­sour­cen auf den vir­tu­el­len Ser­vern, son­dern auch Bugs in der dar­un­ter­lie­gend Soft­ware kön­nen eine Ursa­che für Per­for­mance-Pro­bleme sein.

In einem unse­rer Fälle sind wir bei der Ana­lyse einer Sha­re­Point Ser­ver Farm auf einen Bug in der VMWare Soft­ware gesto­ßen. Die­ser Bug hatte zur Folge, dass Ver­bin­dun­gen zum SQL Ser­ver behin­dert wur­den. Die Aus­wir­kun­gen waren Lade­zei­ten von > 5 Sekun­den.

Hier ein Aus­zug aus dem KB Arti­kel von VMWare:

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

  • The guest ope­ra­ting sys­tem is Win­dows Ser­ver 2012, Win­dows 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 vmx­net3 and the dri­ver ver­sion is 1.6.6.0.
  • The Receive Side Coale­scing (RSC) fea­ture is enab­led glo­bally and on the vmx­net3 adap­ter.
  • This issue is more pre­va­lent when: 
    • Run­ning Micro­soft 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 Ein­fluss auf den Betrieb aus­zu­füh­ren. Das Receive Seg­ment Coale­scing (RSC) mus­ste deak­ti­viert wer­den.

Disable-NetAdapterRsc *

Nach­dem die Funk­tion auf allen Win­dows Ser­vern 2012 deak­ti­viert war, konn­ten die Ant­wort­zei­ten auf < 1.5 Sekun­den ver­bes­sert wer­den.

Das Ergebnis: Ein Vorher-Nachher-Vergleich

Am Ende jeder Ana­lyse und Ver­bes­se­rung steht natür­lich ein Ergeb­nis, wel­ches fest­ge­hal­ten wer­den muss. Nut­zen Sie die Chance alle Daten zen­tral zu doku­men­tie­ren. Somit haben Sie die Mög­lich­keit bei den nächs­ten Mel­dun­gen, die kein Sys­tem­ver­ant­wort­li­cher hören will ;-), direkt zu ent­schei­den, ob sich etwas ver­schlech­tert hat und in wel­chen Berei­chen.

Ein wich­ti­ger Punkt wird zum Abschluss einer erfolg­rei­chen Behe­bung sol­cher Pro­bleme immer ver­ges­sen: Ver­brei­ten Sie die posi­tive Nach­richt und genie­ßen Sie die Kom­pli­mente der Mit­ar­bei­ter und Kol­le­gen 🙂

Mein Fazit

Per­for­mance und lang­same Anwen­dun­gen sind ein heik­les Thema, wel­ches von jedem Admi­nis­tra­tor oder Sys­tem­ver­ant­wort­li­chen ernst genom­men wer­den sollte. Reagiert die Anwen­dung im Unter­neh­men nicht so schnell wie Anwen­dun­gen von Goo­gle, Face­book oder Twit­ter dann ver­liert man die Nut­zer. Wich­tig ist dabei immer der Blick auf das Wesent­li­che und auf feste Zah­len und Mes­sun­gen. Ver­las­sen Sie sich nicht nur auf Aus­sa­gen 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 Anwen­dung ist.

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

sharepoint_health-check_teaser

Mit unse­rem Health-Check füh­ren wir als Sha­re­Point-Experte eine umfas­sende und detail­lierte Prü­fung Ihrer Sha­re­Point-Umge­bung durch. Wir unter­stüt­zen Sie dabei Per­for­mance-Pro­bleme zu iden­ti­fi­zie­ren und Ver­bes­se­rungs­po­ten­tiale auf­zu­de­cken – auch in Ver­bin­dung mit Office 365 in hybri­den Infra­struk­tu­ren. Jetzt infor­mie­ren!

23. September 2016

Kommentar hinterlassen