Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben

  • 2,677 views
Uploaded on

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 ...

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.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
2,677
On Slideshare
2,080
From Embeds
597
Number of Embeds
4

Actions

Shares
Downloads
34
Comments
0
Likes
0

Embeds 597

http://www.sharepointmittelland.ch 586
https://demo.intra.net 5
http://addon-sharepointmittellandch.sidenote.ch 4
http://www.sharepointcommunity.ch 2

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • Seit 7 Jahren SP Erfahrung
  • 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
  • Disksize bis 4 TB wenn 2 IOPS garantiertPerformance der DisksTempDB (Schreiben)Transactional Logs (Schreiben)Search DB (Lesen/Schreiben)Content DB (Lesen)
  • Anti
  • BlobCachehttp://sp2013-dsc.is-lab.local/sites/public/Pages/default.aspxmax-age="86400"IE Zone
  • Health AnalyzerSlowest Page
  • Demo
  • 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

Transcript

  • 1. SharePoint Community Mittelland “Pimp My SharePoint”
  • 2. David Schneiderdavid@sharepoint.chhttp://blog.sharepoint.chisolutions AGHead of DevelopmentSpeaker
  • 3. • Plattform für SharePoint Developer, ITProfessionals und Power User im EspaceMittelland• 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 undDavid Schneider3SharePoint Community Mittelland
  • 4. 4Schneller SharePoint = Glückliche BenutzerWeniger Beschwerden, bessere User Experience & höhere Nutzerzahlen
  • 5. Latenz DurchsatzDatenvolumen Zuverlässigkeit5Messkriterien
  • 6. 6Welche Faktoren beeinflussen die Performance?ServerMemory, CPU und DiskSQL PerformanceIOPS auf SANCustom CodeNetworkNetwork InfrastructureProxy ServerWAN LatencyCompressionClientBrowser Render TimePage OptimizationCachingHardware, Driver, OS andBrowser 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: 07Hardware 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 Tiers8SQL Server
  • 9. Erkennen9
  • 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 bestimmtenUhrzeit auf?Anwendung: Ist das Öffnen oder Speicher eines (Office-) Dokumentslangsam?10Eingrenzen
  • 11. Isses auf dem Client11
  • 12. • Version von Browser, Office, Betriebssystem• Non-Enterprise Client• Non-VDI Client• Anti Viren Software• Scan der JS Dateien• «Auto Detect Proxy Settings»12Client Einstellungen
  • 13. • HTTP Reverse Proxy• 304 Antworten: Client fragt Server, ob sich dieRessourcen 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 Zone13Debug mit Fiddler
  • 14. Isses auf dem Server14
  • 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!16Caching, Caching, Caching
  • 17. Health Analyzer Rules• Recycle der Application Pools wegen Memory Limits• Datenbanken mit alten/fragmentierten Index Statistics• Search mit fragmentierten IndexSlowest 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 PageHTTP Request Throttling• Job checkt CPU, Memory, Request Queue. Bei schlechten Werten, werden Requestsabgebrochen17Central 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 werden18SharePoint Diagnostic Studio
  • 19. • Meldungen im Event Log• ULS nach nach grossen Werten für «ExecutionTime» durchsuchen• Ggf. auch auf Application Tier19Logs
  • 20. Issues mit Custom Code20
  • 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 list21Code
  • 22. • Informationen zum aktuellen Request• Stack Trace• SQL Queries• ULS• Ein & Ausschalten via PowerShell für diegesamte Farm22Developer 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 Performance23Custom 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)24Load Tests
  • 25. Think out of the box• Fehlerhaftes Netzwerkkabel zwischen CoreSwitches führten zu Paket-loss zwischenSharePoint und SQL Server.• Alter VMWare Treiber für Netzwerkkarte hat fastalles RAM der SharePoint Server beansprucht.• Ohne Reverse Lookup Zone dauerte das Öffneneines PDFs 15 Sekunden.
  • 26. Performance Cheat SheetAlle Benutzerbetroffen?Berechtigungen aufDraft Elemente(Master Page, etc)Alle Standortebetroffen?BestimmterZeitpunkNur Morgens:Warm Up ScriptimplementierenFiddler zeigtviele RequestsBlobCachekonfigurierenLocal Intranet ZoneURLJaClientDeaktivieren vonAnti Viren SoftwareBrowser,Betriebssystem undAnwendungaktualisierenGroup PoliciesdeaktivierenDeveloperDashboardCode ReviewdurchführenCustom CodeNeue Web Appohne Custom CodeerstellenServerPerformanceCPU und RAM(PerfMon) aufSharePoint ServerLatenz zw. SP undSQL Server (PING)CPU, RAMund SANauf SQL ServerCross Siteund SiteCollection Abfragendurch SearchersetzenLangsame Leitungoder fehlerhafteNetzwerkKonfigurationProxy oder FirewallWAN AcceleratordeployenGroup PoliciesüberprüfenRegelmässigkeit derlangsamen ZugriffeherausfindenULS und Eventlog,Timer Job, SearchCrawl, ZertifikateViele BenutzerMemory Leak oderLocking IssueJaMit BlankInstallation (keineEnterprise Client,kein VDI) testenKerberos an Stellevon NTLMClosed Web PartsSlowest PagesReportPageoptimieren
  • 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.aspx27Tools
  • 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/cc50885128Weitere Informationen
  • 29. Produktivitätssteigerung durch Social Collaboration• 22. Mai 2013, 16.00 – 18.00 Uhr• ADVIS AG, GümligenThema offen• 6. Juni 2013, 16.00 – 18.00 Uhr• GARAIO AG, BernThema offen• 12. Sep 2013, 16.00 - 18.00 Uhr• isolutions AG, 3008 BernNächste Events
  • 30. Besten Dank – schön warst Dudabei!
  • 31. David Schneider, Head of DevelopmentKontaktE-Mail david@sharepoint.chBlog http://blog.sharepoint.chTelefon 031 560 88 72