44
10 Gründe, warum der SharePoint langsam ist

ShareConf 2014: 10 Gründe warum der SharePoint langsam ist

Embed Size (px)

DESCRIPTION

Tips und Tricks um Performance Probleme auf SharePoint vorzubeugen und zu beheben. Die Slides wurden an der ShareConf 2014 gezeigt.

Citation preview

Page 1: ShareConf 2014: 10 Gründe warum der SharePoint langsam ist

10 Gründe, warum der SharePoint langsam ist

Page 2: ShareConf 2014: 10 Gründe warum der SharePoint langsam ist

David [email protected]://www.balkongriller.ch @fiddiCTO bei isolutions AGBern und Zürich

Speaker

Page 3: ShareConf 2014: 10 Gründe warum der SharePoint langsam ist

Click to edit Master text styles

3

Page 4: ShareConf 2014: 10 Gründe warum der SharePoint langsam ist

Click to edit Master text styles

Page 5: ShareConf 2014: 10 Gründe warum der SharePoint langsam ist

Click to edit Master text styles

Page 6: ShareConf 2014: 10 Gründe warum der SharePoint langsam ist

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

• SQL Server• ab 16 GB RAM, 4 Core CPU• physikalisch ist besser

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

6

#1: Sizing

Page 7: ShareConf 2014: 10 Gründe warum der SharePoint langsam ist

7

Page 8: ShareConf 2014: 10 Gründe warum der SharePoint langsam ist

• SPWeb oder SPSite werden nicht disposed • SPDisposeCheck

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

• SharePoint ist kein RDBMS für grosse Datenmengen• Viele Liste, viele Vernüpfungen

• SharePoint 2013 App Model entlastet Server• SharePoint Bounderies beachten• Large Datebase, large site collection, large list, large ACL

8

#2: Developer

Page 9: ShareConf 2014: 10 Gründe warum der SharePoint langsam ist

• 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)

9

Load Tests

Page 10: ShareConf 2014: 10 Gründe warum der SharePoint langsam ist

• Client Side Object Model kann viele Requests zur Folge haben

• Anzahl Requests im Auge behalten• Nur notwendige Daten laden• ExecuteRequest() minimieren

• Tool: Fiddler oder Dev Tool Bar

10

Client Side: Anzahl Requests pro Page Load

Page 11: ShareConf 2014: 10 Gründe warum der SharePoint langsam ist

11

Page 12: ShareConf 2014: 10 Gründe warum der SharePoint langsam ist

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

• Startseite entrümpeln• Cache der Informationen• Custom Navigation

12

#3 Slow Queries

Page 13: ShareConf 2014: 10 Gründe warum der SharePoint langsam ist

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

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

13

Developer Dashboard

Page 14: ShareConf 2014: 10 Gründe warum der SharePoint langsam ist

14

Page 15: ShareConf 2014: 10 Gründe warum der SharePoint langsam ist

• Physikalisch besser• Durchsatz der Storage (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

• Disk 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

15

#4: SQL Server

Page 16: ShareConf 2014: 10 Gründe warum der SharePoint langsam ist

16

Page 17: ShareConf 2014: 10 Gründe warum der SharePoint langsam ist

• Version von Browser, Office, Betriebssystem

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

• «Auto Detect Proxy Settings»

• Browser Render Time• Page Optimization• Caching• Hardware und Driver

17

#5: Client

Page 18: ShareConf 2014: 10 Gründe warum der SharePoint langsam ist

18

Page 19: ShareConf 2014: 10 Gründe warum der SharePoint langsam ist

Im Hintergrund laufende Jobs verlangsamen die Farm

• Crawling• Backup• Profile Import• Timer Jobs • Large List Operations

#6: Batch Jobs

Page 20: ShareConf 2014: 10 Gründe warum der SharePoint langsam ist

20

Page 21: ShareConf 2014: 10 Gründe warum der SharePoint langsam ist

• 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

21

#7: Caching

Page 22: ShareConf 2014: 10 Gründe warum der SharePoint langsam ist

• 304 Antworten: Client fragt Server, ob sich die Ressourcen geändert haben• BlobCache einschalten (max-

age=«86400»)

22

Fiddler

Page 23: ShareConf 2014: 10 Gründe warum der SharePoint langsam ist

23

Page 24: ShareConf 2014: 10 Gründe warum der SharePoint langsam ist

Nach dem Recycle des Application Pools ist der erste Zugriff langsam

• Geplante Recycle in der Nacht Warm Up Script• Ungeplant Out of Memory, Fehler

• Warm Up Script ruft jeder Site einmal aufz.B. https://spbestwarmup.codeplex.com/

24

#8: Warm Up Script

Page 25: ShareConf 2014: 10 Gründe warum der SharePoint langsam ist

25

Page 26: ShareConf 2014: 10 Gründe warum der SharePoint langsam ist

• Bandbreite• 100kbit für Information Worker• 10kbit für Facharbeiter

• Firewall• Proxy Server• Bei «Automatically detect proxy settings» wird beim Öffnen von Office immer

noch Proxy.pac gesucht• Authentication• Kerberos ist am schnellsten

• Fehlkonfiguration

26

#9 Netzwerk

Page 27: ShareConf 2014: 10 Gründe warum der SharePoint langsam ist

Symptome• Zugriffe alle x Minuten langsam• ULS: (SPCertificateValidator.Validate). Execution Time=xxx

Ursache• Zertifikate können nicht überprüft werden. Teilweise kann die CRL nicht geladen

werden.

Lösung• Microsoft: http://support.microsoft.com/kb/2639348• Weitere Optionen: http://

blogs.msdn.com/b/chaun/archive/2014/05/01/best-practices-for-crl-checking-on-sharepoint-servers.aspx

27

Certificate Validation

Page 28: ShareConf 2014: 10 Gründe warum der SharePoint langsam ist

28

Page 29: ShareConf 2014: 10 Gründe warum der SharePoint langsam ist

Office 365 (SaaS)Windows Azure (IaaS)

Fakt #1: Die Cloud skaliert besserFakt #2: Die Cloud skaliert schneller Fakt #3: Microsoft weiss, wie SharePoint betrieben wirdFakt #4: Best Practices einhalten. Office 365 verzeiht keine Hacks

29

#10 On Premise

Page 30: ShareConf 2014: 10 Gründe warum der SharePoint langsam ist

Vorgehen

30

Page 31: ShareConf 2014: 10 Gründe warum der SharePoint langsam ist

31

Messkriterien

Latenz Durchsatz

Datenvolumen Zuverlässigkeit

Page 32: ShareConf 2014: 10 Gründe warum der SharePoint langsam ist

32

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 33: ShareConf 2014: 10 Gründe warum der SharePoint langsam ist

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?

33

Eingrenzen

Page 34: ShareConf 2014: 10 Gründe warum der SharePoint langsam ist

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 35: ShareConf 2014: 10 Gründe warum der SharePoint langsam ist

35

Page 36: ShareConf 2014: 10 Gründe warum der SharePoint langsam ist

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

36

Central Administration

Page 37: ShareConf 2014: 10 Gründe warum der SharePoint langsam ist

• 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

37

SharePoint Diagnostic Studio

Page 38: ShareConf 2014: 10 Gründe warum der SharePoint langsam ist

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

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

38

Logs

Page 39: ShareConf 2014: 10 Gründe warum der SharePoint langsam ist

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 40: ShareConf 2014: 10 Gründe warum der SharePoint langsam ist

• 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

• Microsoft Message Analyzer• http://www.microsoft.com/en-us/download/details.aspx?id=40308

40

Tools

Page 41: ShareConf 2014: 10 Gründe warum der SharePoint langsam ist

• 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

41

Weitere Informationen

Page 42: ShareConf 2014: 10 Gründe warum der SharePoint langsam ist

Besten Dank – schön warst Du dabei!

Page 43: ShareConf 2014: 10 Gründe warum der SharePoint langsam ist

David Schneider, isolutions AG, CTO

Kontakt

E-Mail [email protected] http://www.balkongriller.ch

Page 44: ShareConf 2014: 10 Gründe warum der SharePoint langsam ist