32
SharePoint Community Mittelland “Pimp My SharePoint”

Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben

Embed Size (px)

DESCRIPTION

Diese Slides zeigen, wie man Performanceprobleme von Microsoft SharePoint Server 2013 vorbeugt, analysiert und behebt. Die Slides sind im Rahmen einer Veranstalltung der SharePoint Community Mittelland Schweiz entstanden.

Citation preview

Page 1: Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben

SharePoint Community Mittelland “Pimp My SharePoint”

Page 2: Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben

David [email protected]://blog.sharepoint.ch isolutions AGHead of Development

Speaker

Page 3: Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben

• Plattform für SharePoint Developer, IT Professionals und Power User im Espace Mittelland

• Offen für alle interessierten Personen (Kunden und Microsoft Partner)

• Gratis• Geplant 9 Events / Jahr• Website:

http://ww.sharepointmittelland.ch • Yammer: http://bit.ly/134JEcq • XING: http://bit.ly/Xxgjm1 • Kontakt: Roger Haueter, Patrick

Mäschli und David Schneider

3

SharePoint Community Mittelland

Page 4: Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben

4

Schneller SharePoint = Glückliche Benutzer

Weniger Beschwerden, bessere User Experience & höhere Nutzerzahlen

Page 5: Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben

Latenz Durchsatz

Datenvolumen

Zuverlässigkeit

5

Messkriterien

Page 6: Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben

6

Welche Faktoren beeinflussen die Performance?

ServerMemory, CPU und Disk

SQL Performance

IOPS auf SAN

Custom Code

NetworkNetwork Infrastructure

Proxy Server

WAN Latency

Compression

ClientBrowser Render Time

Page Optimization

Caching

Hardware, Driver, OS and Browser Upgrades

Page 7: Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben

• Web Front End Server• ab 12 GB RAM, 4 Core CPU

• SQL Server• ab 8 GB RAM, 4 Core CPU

• Überwachung mit Performance Monitor• Average % Processor Time: < 60%• Available Memory: > 50% free• Disk Read/Write/Sec: < 15 ms• Network Latency Output Queue Length: 0

7

Hardware Requirements

Page 8: Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben

• Slow SQL = Slow SharePoint• Kapazität des Speichers (in IOPS)• pro GB Content DB: 0.75 - 1 IOPS• pro GB tempdb, Search und Transaktionslog: 1.5 - 2 IOPS• Total pro GB Content: 2 IOPS

• Storage Konfiguration• Priorität bzgl. Performance TempDB, Transactional Logs, Search DB, Content

DB• Pro Core ein Data File (mind. für TempDB)• NTFS File Allocation Unit Size >= 64KB• Pre Allocate Content Databases

• Netzwerk Latency • zwischen SharePoint Server und SQL Server < 1 ms• Achtung bei Firewall zwischen Tiers

8

SQL Server

Page 9: Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben

Erkennen

9

Page 10: Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben

URL: Welche Sites (URLs) sind betroffen? User: Welche Benutzer sind betroffen?Ort: An welchem Standort treten die Probleme auf (LAN, Remote, etc.)? Netzwerk: Wird der Traffic über einen Proxy geroutet? Client: An welchen Clients treten die Probleme auf (Workstation, VDI, BYOD, etc.)? Time: Tritt das Problem nur sporadisch oder zu einer bestimmten Uhrzeit auf?Anwendung: Ist das Öffnen oder Speicher eines (Office-) Dokuments langsam?

10

Eingrenzen

Page 11: Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben

Isses auf dem Client

11

Page 12: Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben

• Version von Browser, Office, Betriebssystem

• Non-Enterprise Client• Non-VDI Client• Anti Viren Software• Scan der JS Dateien

• «Auto Detect Proxy Settings»

12

Client Einstellungen

Page 13: Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben

• HTTP Reverse Proxy• 304 Antworten: Client fragt Server, ob sich

die Ressourcen geändert haben• BlobCache einschalten (max-

age=«86400»)• 401 Antworten: jeder Zugriff wird

authentisiert• URL in Local Intranet Zone• Kerberos einschalten

• Zugriff auf urs.microsoft.com: Anti Phising Service• URL in Local Intranet Zone

13

Debug mit Fiddler

Page 14: Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben

Isses auf dem Server

14

Page 15: Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben

• Crawling• Backup• Profile Import• Timer Jobs • Large List Operations• Network Überlastung bzw. Fehlkonfiguration• Schlechte Storage Konfiguration• Warm Up Script• Application Pool Reycle (Out of Memory)

Top Performance Killers

Page 16: Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben

• Client• Ressourcen (Bilder, CSS, JS)• Max-Age und Expiries Flag

• BlobCache• Ressourcen werden auf der Disk auf dem Front End Server

zwischengespeichert• Output Cache• Gerenderte Page wird im RAM gespeichert nur für anonyme Zugriffe

• Object Cache• Datenbankabfragen cachen• Cache User konfigurieren!

16

Caching, Caching, Caching

Page 17: Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben

Health Analyzer Rules• Recycle der Application Pools wegen Memory Limits• Datenbanken mit alten/fragmentierten Index Statistics• Search mit fragmentierten Index

Slowest Page Report• Central Administration -> Monitoring -> Reporting -> View Administrative Report• Ggf. Timer Job «Microsoft SharePoint Foundation Usage Data Processing»

aktivieren• Eingrenzen nach Web App, Web Front End Server oder Page

HTTP Request Throttling• Job checkt CPU, Memory, Request Queue. Bei schlechten Werten, werden

Requests abgebrochen

17

Central Administration

Page 18: Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben

• Teil des SharePoint 2010 Administrative Toolkit• Generiert Reports über• Kapazität von CPU, RAM und SQL Server• Performance• Verfügbarkeit• Usage

• Reports können Customized werden

18

SharePoint Diagnostic Studio

Page 19: Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben

• Meldungen im Event Log• ULS nach nach grossen Werten für

«Execution Time» durchsuchen• Ggf. auch auf Application Tier

19

Logs

Page 20: Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben

Issues mit Custom Code

20

Page 21: Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben

• Für viele Probleme sind Developer verantwortlich• SPWeb oder SPSite werden nicht disposed • SPDisposeCheck

• Locking Issues, Memory Leaks, etc. • werden bei Load Tests sichtbar

• Cross Site Rollups und Content Query Web Parts • durch Content by Search Web Part ersetzen

• Dynamische Navigation• SharePoint ist kein RDBMS für grosse Datenmengen• SharePoint 2013 App Model entlastet Server• SharePoint Bounderies beachten• Large datebase, large site collection, large list

21

Code

Page 22: Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben

• Informationen zum aktuellen Request• Stack Trace• SQL Queries• ULS

• Ein & Ausschalten via PowerShell für die gesamte Farm

22

Developer Dashboard

Page 23: Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben

• Ressourcen zusammenfassen• Minify• Bilder optimieren• Style Sheet oben, Script unten referenzieren

• Minimal Download Strategy• OOTB Team Sites• Nur Änderungen zwischen zwei Pages werden heruntergeladen• Bessere Client Rendering Performance

23

Custom Design

Page 24: Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben

• Vor Go Live• Auf produktiven Plattform• Erwartete Benutzermenge simulieren• Ziel festlegen (z.B. 100 Benutzer, Antwortszeit < 1 Sekunde)

• Tools• Visual Studio Load Testing Kit• WAPT

• Mögliche Erkenntnisse• Memory Leaks• CPU intensive Web Parts• Locking Issues (Deadlocks)

24

Load Tests

Page 25: Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben

Think out of the box

• Fehlerhaftes Netzwerkkabel zwischen Core Switches führten zu Paket-loss zwischen SharePoint und SQL Server.

• Alter VMWare Treiber für Netzwerkkarte hat fast alles RAM der SharePoint Server beansprucht.

• Ohne Reverse Lookup Zone dauerte das Öffnen eines PDFs 15 Sekunden.

Page 26: Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben

Performance Cheat Sheet

Alle Benutzer betroffen?

Berechtigungen auf Draft Elemente

(Master Page, etc)

Alle Standorte betroffen?

Bestimmter Zeitpunk

Nur Morgens:Warm Up Script implementieren

Fiddler zeigt viele Requests

BlobCache konfigurieren

Local Intranet Zone

URL

Ja

Client

Deaktivieren von Anti Viren Software

Browser, Betriebssystem und

Anwendung aktualisieren

Group Policies deaktivieren

Developer Dashboard

Code Review durchführen

Custom Code

Neue Web App ohne Custom Code

erstellen

Server Performance

CPU und RAM (PerfMon) auf

SharePoint Server

Latenz zw. SP und SQL Server (PING)

CPU, RAM und SAN auf SQL Server

Cross Site und Site Collection Abfragen

durch Search ersetzen

Langsame Leitung oder fehlerhafte

Netzwerk Konfiguration

Proxy oder Firewall

WAN Accelerator deployen

Group Policies überprüfen

Regelmässigkeit der langsamen Zugriffe

herausfinden

ULS und Eventlog, Timer Job, Search Crawl, Zertifikate

Viele Benutzer

Memory Leak oder Locking Issue

Ja

Mit Blank Installation (keine Enterprise Client, kein VDI) testen

Kerberos an Stelle von NTLM

Closed Web Parts

Slowest Pages Report

Page optimieren

Page 27: Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben

• PerfMon

• Fiddler2• http://fiddler2.com/

• Add Ons für Fiddler• http://fiddler2.com/add-ons

• WireShark• http://www.wireshark.org/

• Sysinternals Process Monitor• http://technet.microsoft.com/de-ch/sysinternals/bb896645.aspx

27

Tools

Page 28: Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben

• Microsoft TechNet Capacity management and sizing for SharePoint Server 2013• http://technet.microsoft.com/en-us/library/cc261700.aspx

• SQL Server 2012 Best Pratices für SharePoint Server 2013• http://www.techtask.com/news/sql-server-2012-best-practices-fur-sharepoint-s

erver-2013/

• SharePoint 2010 Administrative Toolkit (SPDiag)• http://technet.microsoft.com/en-us/library/cc508851

28

Weitere Informationen

Page 29: Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben

Produktivitätssteigerung durch Social Collaboration• 22. Mai 2013, 16.00 – 18.00 Uhr• ADVIS AG, Gümligen

Thema offen• 6. Juni 2013, 16.00 – 18.00 Uhr • GARAIO AG, Bern

Thema offen• 12. Sep 2013, 16.00 - 18.00 Uhr• isolutions AG, 3008 Bern

Nächste Events

Page 30: Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben

Besten Dank – schön warst Du dabei!

Page 31: Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben

David Schneider, Head of Development

Kontakt

E-Mail [email protected] http://blog.sharepoint.chTelefon 031 560 88 72

Page 32: Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben