SlideShare a Scribd company logo
1 of 32
SharePoint Community Mittelland “Pimp My SharePoint”
David Schneider
david@sharepoint.ch
http://blog.sharepoint.ch
isolutions AG
Head of Development
Speaker
• 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
4
Schneller SharePoint = Glückliche Benutzer
Weniger Beschwerden, bessere User Experience & höhere Nutzerzahlen
Latenz Durchsatz
Datenvolumen Zuverlässigkeit
5
Messkriterien
6
Welche Faktoren beeinflussen die Performance?
Server
Memory, CPU und Disk
SQL Performance
IOPS auf SAN
Custom Code
Network
Network Infrastructure
Proxy Server
WAN Latency
Compression
Client
Browser Render Time
Page Optimization
Caching
Hardware, Driver, OS and
Browser Upgrades
• 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
• 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
Erkennen
9
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
Isses auf dem Client
11
• 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
• 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
Isses auf dem Server
14
• 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
• 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
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
• 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
• Meldungen im Event Log
• ULS nach nach grossen Werten für «Execution
Time» durchsuchen
• Ggf. auch auf Application Tier
19
Logs
Issues mit Custom Code
20
• 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
• Informationen zum aktuellen Request
• Stack Trace
• SQL Queries
• ULS
• Ein & Ausschalten via PowerShell für die
gesamte Farm
22
Developer Dashboard
• 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
• 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
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.
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, RAMund SAN
auf SQL Server
Cross Siteund 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
Pageoptimieren
• 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
• 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-server-
2013/
• SharePoint 2010 Administrative Toolkit (SPDiag)
• http://technet.microsoft.com/en-us/library/cc508851
28
Weitere Informationen
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
Besten Dank – schön warst Du
dabei!
David Schneider, Head of Development
Kontakt
E-Mail david@sharepoint.ch
Blog http://blog.sharepoint.ch
Telefon 031 560 88 72
Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben

More Related Content

What's hot

SharePointCommunity.ch SharePoint Lösungen für die Zukunft
SharePointCommunity.ch SharePoint Lösungen für die ZukunftSharePointCommunity.ch SharePoint Lösungen für die Zukunft
SharePointCommunity.ch SharePoint Lösungen für die ZukunftDavid Schneider
 
SharePoint 2013 Search Driven Websites Collaboration Days 2014 David Schneider
SharePoint 2013 Search Driven Websites Collaboration Days 2014 David SchneiderSharePoint 2013 Search Driven Websites Collaboration Days 2014 David Schneider
SharePoint 2013 Search Driven Websites Collaboration Days 2014 David SchneiderDavid Schneider
 
skilllocation Foliensatz zu Microsoft Azure
skilllocation Foliensatz zu Microsoft Azureskilllocation Foliensatz zu Microsoft Azure
skilllocation Foliensatz zu Microsoft AzureCarola Pantenburg
 
SharePoint Lösungen für die Zukunft
SharePoint Lösungen für die ZukunftSharePoint Lösungen für die Zukunft
SharePoint Lösungen für die ZukunftDavid Schneider
 
Webinar Slides: SharePoint als Drehscheibe fuer ihr Unternehmenswissen
Webinar Slides: SharePoint als Drehscheibe fuer ihr UnternehmenswissenWebinar Slides: SharePoint als Drehscheibe fuer ihr Unternehmenswissen
Webinar Slides: SharePoint als Drehscheibe fuer ihr UnternehmenswissenB-S-S Business Software Solutions GmbH
 
Ein modernes DMS mit SharePoint
Ein modernes DMS mit SharePointEin modernes DMS mit SharePoint
Ein modernes DMS mit SharePointDavid Schneider
 
News von der Microsoft Ignite
News von der Microsoft IgniteNews von der Microsoft Ignite
News von der Microsoft IgniteDavid Schneider
 
News von der Microsoft Ignite Zürich Juni 2015
News von der Microsoft Ignite Zürich Juni 2015News von der Microsoft Ignite Zürich Juni 2015
News von der Microsoft Ignite Zürich Juni 2015David Schneider
 
SharePoint 8 Tipps um besser zu Finden
SharePoint 8 Tipps um besser zu FindenSharePoint 8 Tipps um besser zu Finden
SharePoint 8 Tipps um besser zu FindenDavid Schneider
 
Provaria Gmbh - Neu in sharepoint 2013
Provaria Gmbh - Neu in sharepoint 2013Provaria Gmbh - Neu in sharepoint 2013
Provaria Gmbh - Neu in sharepoint 2013Provaria GmbH
 
Microsoft SharePoint 2010 – neue Funktionen
Microsoft SharePoint 2010 – neue FunktionenMicrosoft SharePoint 2010 – neue Funktionen
Microsoft SharePoint 2010 – neue Funktioneninnocate solutions GmbH
 
Was ist eigentlich SharePoint
Was ist eigentlich SharePointWas ist eigentlich SharePoint
Was ist eigentlich SharePointMax Nowack
 
Oliver Hofmann: Office Graph
Oliver Hofmann: Office GraphOliver Hofmann: Office Graph
Oliver Hofmann: Office GraphDavid Schneider
 
SharePoint 2013 – Tech-Track
SharePoint 2013 – Tech-TrackSharePoint 2013 – Tech-Track
SharePoint 2013 – Tech-TrackUnic
 
he Future of SharePoint is Now – Tipps für On-Premise, Cloud oder Hybride Mig...
he Future of SharePoint is Now – Tipps für On-Premise, Cloud oder Hybride Mig...he Future of SharePoint is Now – Tipps für On-Premise, Cloud oder Hybride Mig...
he Future of SharePoint is Now – Tipps für On-Premise, Cloud oder Hybride Mig...AvePoint
 
Microsoft SharePoint im Projektmanagement
Microsoft SharePoint im ProjektmanagementMicrosoft SharePoint im Projektmanagement
Microsoft SharePoint im Projektmanagementinnocate solutions GmbH
 
Arbeiten mit SharePoint - Puffer IT Consulting
Arbeiten mit SharePoint - Puffer IT ConsultingArbeiten mit SharePoint - Puffer IT Consulting
Arbeiten mit SharePoint - Puffer IT ConsultingProvaria GmbH
 
SharePoint 2016 Lauch Event
SharePoint 2016 Lauch EventSharePoint 2016 Lauch Event
SharePoint 2016 Lauch EventDavid Schneider
 
Collaboration Days 2011 - Document Management à la carte
Collaboration Days 2011 - Document Management à la carteCollaboration Days 2011 - Document Management à la carte
Collaboration Days 2011 - Document Management à la carteDavid Schneider
 
SharePoint Community 12.02.2014: Realisierung einer Website mit SharePoint 2013
SharePoint Community 12.02.2014: Realisierung einer Website mit SharePoint 2013SharePoint Community 12.02.2014: Realisierung einer Website mit SharePoint 2013
SharePoint Community 12.02.2014: Realisierung einer Website mit SharePoint 2013IOZ AG
 

What's hot (20)

SharePointCommunity.ch SharePoint Lösungen für die Zukunft
SharePointCommunity.ch SharePoint Lösungen für die ZukunftSharePointCommunity.ch SharePoint Lösungen für die Zukunft
SharePointCommunity.ch SharePoint Lösungen für die Zukunft
 
SharePoint 2013 Search Driven Websites Collaboration Days 2014 David Schneider
SharePoint 2013 Search Driven Websites Collaboration Days 2014 David SchneiderSharePoint 2013 Search Driven Websites Collaboration Days 2014 David Schneider
SharePoint 2013 Search Driven Websites Collaboration Days 2014 David Schneider
 
skilllocation Foliensatz zu Microsoft Azure
skilllocation Foliensatz zu Microsoft Azureskilllocation Foliensatz zu Microsoft Azure
skilllocation Foliensatz zu Microsoft Azure
 
SharePoint Lösungen für die Zukunft
SharePoint Lösungen für die ZukunftSharePoint Lösungen für die Zukunft
SharePoint Lösungen für die Zukunft
 
Webinar Slides: SharePoint als Drehscheibe fuer ihr Unternehmenswissen
Webinar Slides: SharePoint als Drehscheibe fuer ihr UnternehmenswissenWebinar Slides: SharePoint als Drehscheibe fuer ihr Unternehmenswissen
Webinar Slides: SharePoint als Drehscheibe fuer ihr Unternehmenswissen
 
Ein modernes DMS mit SharePoint
Ein modernes DMS mit SharePointEin modernes DMS mit SharePoint
Ein modernes DMS mit SharePoint
 
News von der Microsoft Ignite
News von der Microsoft IgniteNews von der Microsoft Ignite
News von der Microsoft Ignite
 
News von der Microsoft Ignite Zürich Juni 2015
News von der Microsoft Ignite Zürich Juni 2015News von der Microsoft Ignite Zürich Juni 2015
News von der Microsoft Ignite Zürich Juni 2015
 
SharePoint 8 Tipps um besser zu Finden
SharePoint 8 Tipps um besser zu FindenSharePoint 8 Tipps um besser zu Finden
SharePoint 8 Tipps um besser zu Finden
 
Provaria Gmbh - Neu in sharepoint 2013
Provaria Gmbh - Neu in sharepoint 2013Provaria Gmbh - Neu in sharepoint 2013
Provaria Gmbh - Neu in sharepoint 2013
 
Microsoft SharePoint 2010 – neue Funktionen
Microsoft SharePoint 2010 – neue FunktionenMicrosoft SharePoint 2010 – neue Funktionen
Microsoft SharePoint 2010 – neue Funktionen
 
Was ist eigentlich SharePoint
Was ist eigentlich SharePointWas ist eigentlich SharePoint
Was ist eigentlich SharePoint
 
Oliver Hofmann: Office Graph
Oliver Hofmann: Office GraphOliver Hofmann: Office Graph
Oliver Hofmann: Office Graph
 
SharePoint 2013 – Tech-Track
SharePoint 2013 – Tech-TrackSharePoint 2013 – Tech-Track
SharePoint 2013 – Tech-Track
 
he Future of SharePoint is Now – Tipps für On-Premise, Cloud oder Hybride Mig...
he Future of SharePoint is Now – Tipps für On-Premise, Cloud oder Hybride Mig...he Future of SharePoint is Now – Tipps für On-Premise, Cloud oder Hybride Mig...
he Future of SharePoint is Now – Tipps für On-Premise, Cloud oder Hybride Mig...
 
Microsoft SharePoint im Projektmanagement
Microsoft SharePoint im ProjektmanagementMicrosoft SharePoint im Projektmanagement
Microsoft SharePoint im Projektmanagement
 
Arbeiten mit SharePoint - Puffer IT Consulting
Arbeiten mit SharePoint - Puffer IT ConsultingArbeiten mit SharePoint - Puffer IT Consulting
Arbeiten mit SharePoint - Puffer IT Consulting
 
SharePoint 2016 Lauch Event
SharePoint 2016 Lauch EventSharePoint 2016 Lauch Event
SharePoint 2016 Lauch Event
 
Collaboration Days 2011 - Document Management à la carte
Collaboration Days 2011 - Document Management à la carteCollaboration Days 2011 - Document Management à la carte
Collaboration Days 2011 - Document Management à la carte
 
SharePoint Community 12.02.2014: Realisierung einer Website mit SharePoint 2013
SharePoint Community 12.02.2014: Realisierung einer Website mit SharePoint 2013SharePoint Community 12.02.2014: Realisierung einer Website mit SharePoint 2013
SharePoint Community 12.02.2014: Realisierung einer Website mit SharePoint 2013
 

Similar to Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben

Avoid Network-Issues and Polling
Avoid Network-Issues and PollingAvoid Network-Issues and Polling
Avoid Network-Issues and PollingKai Donato
 
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...Peter Hecker
 
Kritische app performance erfolgreich optimieren mit Bison
Kritische app performance erfolgreich optimieren mit BisonKritische app performance erfolgreich optimieren mit Bison
Kritische app performance erfolgreich optimieren mit BisonDynatrace
 
WebSocket my APEX!
WebSocket my APEX!WebSocket my APEX!
WebSocket my APEX!Kai Donato
 
AdminCamp 2014: Quo Vadis – Wohin mit IBM Notes/Domino?
AdminCamp 2014: Quo Vadis – Wohin mit IBM Notes/Domino?AdminCamp 2014: Quo Vadis – Wohin mit IBM Notes/Domino?
AdminCamp 2014: Quo Vadis – Wohin mit IBM Notes/Domino?panagenda
 
Zurück in die Zukunft - DNUG 2014 - Track 5.2
Zurück in die Zukunft - DNUG 2014 - Track 5.2Zurück in die Zukunft - DNUG 2014 - Track 5.2
Zurück in die Zukunft - DNUG 2014 - Track 5.2panagenda
 
Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?
Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?
Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?adesso AG
 
ColdFusion im Enterprise Umfeld - Deep Dive
ColdFusion im Enterprise Umfeld - Deep DiveColdFusion im Enterprise Umfeld - Deep Dive
ColdFusion im Enterprise Umfeld - Deep DiveBokowsky + Laymann GmbH
 
Uwe Ricken – IT-Tage 2015 – Workshop: MS SQL Server Optimierung
Uwe Ricken – IT-Tage 2015 – Workshop: MS SQL Server OptimierungUwe Ricken – IT-Tage 2015 – Workshop: MS SQL Server Optimierung
Uwe Ricken – IT-Tage 2015 – Workshop: MS SQL Server OptimierungInformatik Aktuell
 
DACHNUG50 Domino REST API - Konzepte und Hintergruende.pdf
DACHNUG50 Domino REST API - Konzepte und Hintergruende.pdfDACHNUG50 Domino REST API - Konzepte und Hintergruende.pdf
DACHNUG50 Domino REST API - Konzepte und Hintergruende.pdfDNUG e.V.
 
Webinar SharePoint auf AWS
Webinar SharePoint auf AWSWebinar SharePoint auf AWS
Webinar SharePoint auf AWSAWS Germany
 
HCL Domino 14 - Leap 1.1.2 - DNUG Stammtisch Wien
HCL Domino 14 - Leap 1.1.2 - DNUG Stammtisch Wien HCL Domino 14 - Leap 1.1.2 - DNUG Stammtisch Wien
HCL Domino 14 - Leap 1.1.2 - DNUG Stammtisch Wien DNUG e.V.
 
Rufen Sie nicht an – wir rufen Sie an! | Server-sent Events und Web-Sockets i...
Rufen Sie nicht an – wir rufen Sie an! | Server-sent Events und Web-Sockets i...Rufen Sie nicht an – wir rufen Sie an! | Server-sent Events und Web-Sockets i...
Rufen Sie nicht an – wir rufen Sie an! | Server-sent Events und Web-Sockets i...OPEN KNOWLEDGE GmbH
 
Best Practices SharePoint and SQL Installation
Best Practices SharePoint and SQL InstallationBest Practices SharePoint and SQL Installation
Best Practices SharePoint and SQL InstallationSamuel Zürcher
 
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...Peter Hecker
 
DACHNUG50 Die Domino REST API - Konzepte und Hintergruende.pdf
DACHNUG50 Die Domino REST API - Konzepte und Hintergruende.pdfDACHNUG50 Die Domino REST API - Konzepte und Hintergruende.pdf
DACHNUG50 Die Domino REST API - Konzepte und Hintergruende.pdfDNUG e.V.
 
HTML5-Performance: So rennt Ihre App und nicht Ihre Anwender (weg)
HTML5-Performance: So rennt Ihre App und nicht Ihre Anwender (weg)HTML5-Performance: So rennt Ihre App und nicht Ihre Anwender (weg)
HTML5-Performance: So rennt Ihre App und nicht Ihre Anwender (weg)André Krämer
 
Tipps zur Performanceoptimierung für Liferay Portal
Tipps zur  Performanceoptimierung für Liferay PortalTipps zur  Performanceoptimierung für Liferay Portal
Tipps zur Performanceoptimierung für Liferay PortalStefan Hilpp
 
Ajax in domino web-anwendungen - der nächste schritt
Ajax in domino web-anwendungen - der nächste schrittAjax in domino web-anwendungen - der nächste schritt
Ajax in domino web-anwendungen - der nächste schrittdominion
 

Similar to Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben (20)

Avoid Network-Issues and Polling
Avoid Network-Issues and PollingAvoid Network-Issues and Polling
Avoid Network-Issues and Polling
 
XPages: Performance-Optimierung - Ulrich Krause (eknori) SNoUG 2013
XPages: Performance-Optimierung  - Ulrich Krause (eknori) SNoUG 2013XPages: Performance-Optimierung  - Ulrich Krause (eknori) SNoUG 2013
XPages: Performance-Optimierung - Ulrich Krause (eknori) SNoUG 2013
 
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
 
Kritische app performance erfolgreich optimieren mit Bison
Kritische app performance erfolgreich optimieren mit BisonKritische app performance erfolgreich optimieren mit Bison
Kritische app performance erfolgreich optimieren mit Bison
 
WebSocket my APEX!
WebSocket my APEX!WebSocket my APEX!
WebSocket my APEX!
 
AdminCamp 2014: Quo Vadis – Wohin mit IBM Notes/Domino?
AdminCamp 2014: Quo Vadis – Wohin mit IBM Notes/Domino?AdminCamp 2014: Quo Vadis – Wohin mit IBM Notes/Domino?
AdminCamp 2014: Quo Vadis – Wohin mit IBM Notes/Domino?
 
Zurück in die Zukunft - DNUG 2014 - Track 5.2
Zurück in die Zukunft - DNUG 2014 - Track 5.2Zurück in die Zukunft - DNUG 2014 - Track 5.2
Zurück in die Zukunft - DNUG 2014 - Track 5.2
 
Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?
Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?
Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?
 
ColdFusion im Enterprise Umfeld - Deep Dive
ColdFusion im Enterprise Umfeld - Deep DiveColdFusion im Enterprise Umfeld - Deep Dive
ColdFusion im Enterprise Umfeld - Deep Dive
 
Uwe Ricken – IT-Tage 2015 – Workshop: MS SQL Server Optimierung
Uwe Ricken – IT-Tage 2015 – Workshop: MS SQL Server OptimierungUwe Ricken – IT-Tage 2015 – Workshop: MS SQL Server Optimierung
Uwe Ricken – IT-Tage 2015 – Workshop: MS SQL Server Optimierung
 
DACHNUG50 Domino REST API - Konzepte und Hintergruende.pdf
DACHNUG50 Domino REST API - Konzepte und Hintergruende.pdfDACHNUG50 Domino REST API - Konzepte und Hintergruende.pdf
DACHNUG50 Domino REST API - Konzepte und Hintergruende.pdf
 
Webinar SharePoint auf AWS
Webinar SharePoint auf AWSWebinar SharePoint auf AWS
Webinar SharePoint auf AWS
 
HCL Domino 14 - Leap 1.1.2 - DNUG Stammtisch Wien
HCL Domino 14 - Leap 1.1.2 - DNUG Stammtisch Wien HCL Domino 14 - Leap 1.1.2 - DNUG Stammtisch Wien
HCL Domino 14 - Leap 1.1.2 - DNUG Stammtisch Wien
 
Rufen Sie nicht an – wir rufen Sie an! | Server-sent Events und Web-Sockets i...
Rufen Sie nicht an – wir rufen Sie an! | Server-sent Events und Web-Sockets i...Rufen Sie nicht an – wir rufen Sie an! | Server-sent Events und Web-Sockets i...
Rufen Sie nicht an – wir rufen Sie an! | Server-sent Events und Web-Sockets i...
 
Best Practices SharePoint and SQL Installation
Best Practices SharePoint and SQL InstallationBest Practices SharePoint and SQL Installation
Best Practices SharePoint and SQL Installation
 
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
 
DACHNUG50 Die Domino REST API - Konzepte und Hintergruende.pdf
DACHNUG50 Die Domino REST API - Konzepte und Hintergruende.pdfDACHNUG50 Die Domino REST API - Konzepte und Hintergruende.pdf
DACHNUG50 Die Domino REST API - Konzepte und Hintergruende.pdf
 
HTML5-Performance: So rennt Ihre App und nicht Ihre Anwender (weg)
HTML5-Performance: So rennt Ihre App und nicht Ihre Anwender (weg)HTML5-Performance: So rennt Ihre App und nicht Ihre Anwender (weg)
HTML5-Performance: So rennt Ihre App und nicht Ihre Anwender (weg)
 
Tipps zur Performanceoptimierung für Liferay Portal
Tipps zur  Performanceoptimierung für Liferay PortalTipps zur  Performanceoptimierung für Liferay Portal
Tipps zur Performanceoptimierung für Liferay Portal
 
Ajax in domino web-anwendungen - der nächste schritt
Ajax in domino web-anwendungen - der nächste schrittAjax in domino web-anwendungen - der nächste schritt
Ajax in domino web-anwendungen - der nächste schritt
 

More from David Schneider

David Schneider: Sort your (child's) Legos with Cognitive Services
David Schneider: Sort your (child's) Legos with Cognitive ServicesDavid Schneider: Sort your (child's) Legos with Cognitive Services
David Schneider: Sort your (child's) Legos with Cognitive ServicesDavid Schneider
 
Microsoft Teams as a Development Platform
Microsoft Teams as a Development PlatformMicrosoft Teams as a Development Platform
Microsoft Teams as a Development PlatformDavid Schneider
 
SPS Zurich 2018 - Azure Logic Apps: the new workflow engine
SPS Zurich 2018 - Azure Logic Apps: the new workflow engineSPS Zurich 2018 - Azure Logic Apps: the new workflow engine
SPS Zurich 2018 - Azure Logic Apps: the new workflow engineDavid Schneider
 
Office 365 Developer Bootcamp: Microsoft Teams
Office 365 Developer Bootcamp: Microsoft TeamsOffice 365 Developer Bootcamp: Microsoft Teams
Office 365 Developer Bootcamp: Microsoft TeamsDavid Schneider
 
Global Azure BootCamp: Azure Logic Apps
Global Azure BootCamp: Azure Logic AppsGlobal Azure BootCamp: Azure Logic Apps
Global Azure BootCamp: Azure Logic AppsDavid Schneider
 
Mehrsprachige Intranets mit SharePoint 2010
Mehrsprachige Intranets mit SharePoint 2010Mehrsprachige Intranets mit SharePoint 2010
Mehrsprachige Intranets mit SharePoint 2010David Schneider
 
SharePoint 2013 Search Driven websites
SharePoint 2013 Search Driven websitesSharePoint 2013 Search Driven websites
SharePoint 2013 Search Driven websitesDavid Schneider
 
TechDays 2012 Internet Sites mit SharePoint 2013
TechDays 2012 Internet Sites mit SharePoint 2013TechDays 2012 Internet Sites mit SharePoint 2013
TechDays 2012 Internet Sites mit SharePoint 2013David Schneider
 
Collaboration Days 2011 - Damit die Tester schneller ran können.
Collaboration Days 2011 - Damit die Tester schneller ran können.Collaboration Days 2011 - Damit die Tester schneller ran können.
Collaboration Days 2011 - Damit die Tester schneller ran können.David Schneider
 

More from David Schneider (10)

David Schneider: Sort your (child's) Legos with Cognitive Services
David Schneider: Sort your (child's) Legos with Cognitive ServicesDavid Schneider: Sort your (child's) Legos with Cognitive Services
David Schneider: Sort your (child's) Legos with Cognitive Services
 
Microsoft Teams as a Development Platform
Microsoft Teams as a Development PlatformMicrosoft Teams as a Development Platform
Microsoft Teams as a Development Platform
 
SPS Zurich 2018 - Azure Logic Apps: the new workflow engine
SPS Zurich 2018 - Azure Logic Apps: the new workflow engineSPS Zurich 2018 - Azure Logic Apps: the new workflow engine
SPS Zurich 2018 - Azure Logic Apps: the new workflow engine
 
Azure Logic Apps
Azure Logic AppsAzure Logic Apps
Azure Logic Apps
 
Office 365 Developer Bootcamp: Microsoft Teams
Office 365 Developer Bootcamp: Microsoft TeamsOffice 365 Developer Bootcamp: Microsoft Teams
Office 365 Developer Bootcamp: Microsoft Teams
 
Global Azure BootCamp: Azure Logic Apps
Global Azure BootCamp: Azure Logic AppsGlobal Azure BootCamp: Azure Logic Apps
Global Azure BootCamp: Azure Logic Apps
 
Mehrsprachige Intranets mit SharePoint 2010
Mehrsprachige Intranets mit SharePoint 2010Mehrsprachige Intranets mit SharePoint 2010
Mehrsprachige Intranets mit SharePoint 2010
 
SharePoint 2013 Search Driven websites
SharePoint 2013 Search Driven websitesSharePoint 2013 Search Driven websites
SharePoint 2013 Search Driven websites
 
TechDays 2012 Internet Sites mit SharePoint 2013
TechDays 2012 Internet Sites mit SharePoint 2013TechDays 2012 Internet Sites mit SharePoint 2013
TechDays 2012 Internet Sites mit SharePoint 2013
 
Collaboration Days 2011 - Damit die Tester schneller ran können.
Collaboration Days 2011 - Damit die Tester schneller ran können.Collaboration Days 2011 - Damit die Tester schneller ran können.
Collaboration Days 2011 - Damit die Tester schneller ran können.
 

Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben

  • 1. SharePoint Community Mittelland “Pimp My SharePoint”
  • 3. • 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
  • 4. 4 Schneller SharePoint = Glückliche Benutzer Weniger Beschwerden, bessere User Experience & höhere Nutzerzahlen
  • 6. 6 Welche Faktoren beeinflussen die Performance? Server Memory, CPU und Disk SQL Performance IOPS auf SAN Custom Code Network Network Infrastructure Proxy Server WAN Latency Compression Client Browser Render Time Page Optimization Caching Hardware, Driver, OS and Browser Upgrades
  • 7. • 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
  • 8. • 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
  • 10. 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
  • 11. Isses auf dem Client 11
  • 12. • 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
  • 13. • 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
  • 14. Isses auf dem Server 14
  • 15. • 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
  • 16. • 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
  • 17. 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
  • 18. • 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
  • 19. • Meldungen im Event Log • ULS nach nach grossen Werten für «Execution Time» durchsuchen • Ggf. auch auf Application Tier 19 Logs
  • 20. Issues mit Custom Code 20
  • 21. • 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
  • 22. • Informationen zum aktuellen Request • Stack Trace • SQL Queries • ULS • Ein & Ausschalten via PowerShell für die gesamte Farm 22 Developer Dashboard
  • 23. • 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
  • 24. • 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
  • 25. 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.
  • 26. 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, RAMund SAN auf SQL Server Cross Siteund 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 Pageoptimieren
  • 27. • 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
  • 28. • 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-server- 2013/ • SharePoint 2010 Administrative Toolkit (SPDiag) • http://technet.microsoft.com/en-us/library/cc508851 28 Weitere Informationen
  • 29. 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
  • 30. Besten Dank – schön warst Du dabei!
  • 31. David Schneider, Head of Development Kontakt E-Mail david@sharepoint.ch Blog http://blog.sharepoint.ch Telefon 031 560 88 72

Editor's Notes

  1. Seit 7 Jahren SP Erfahrung
  2. Latenz: (Wartezeit) Zeit zwischen Klick und bis das letzte Byte übertragen istRequest empfangen und verarbeitenResponse übertragenRendern in der Client Anwendung Durchsatz: Anzahl gleichzeitige RequestsAnzahl BenutzerUnpassende HardwareCustom Pages nicht optimiertDatenvolumen: Datenmenge, welche das System verkraftet ohne Verschlechterung der Latenz oder des DurchsatzesVerteilung der DatenbankenLUN, Remote BlobZuverlässigkeit: Latenz und Durchsatz über die ZeitRessourcenhungrige Maintenance Tasks zu Off Peak Zeiten
  3. Disksize bis 4 TB wenn 2 IOPS garantiertPerformance der DisksTempDB (Schreiben)Transactional Logs (Schreiben)Search DB (Lesen/Schreiben)Content DB (Lesen)
  4. Anti
  5. BlobCachehttp://sp2013-dsc.is-lab.local/sites/public/Pages/default.aspxmax-age=&quot;86400&quot;IE Zone
  6. Health AnalyzerSlowest Page
  7. Demo
  8. Zeigt das Developer Dashboard auffällige Daten an? Werden z.B. viele Datenbank Zugriffe gemacht oder dauern diese sehr lange?LongRunningWebParthttp://sp2013-dsc.is-lab.local/SitePages/LongRunningWebPart.aspxClosed Web Parthttp://sp2013-dsc.is-lab.local/SitePages/ClosedWebPart.aspxContent Query Web Parthttp://sp2013-dsc.is-lab.local/SitePages/Aggregate%20Tasks.aspx