SlideShare a Scribd company logo
1 of 32
Unsichtbare Technologie. Sichtbare Kreativität. netzkern.
24. April 2015
Sitecore Gesundheit
Unsichtbare Technologie. Sichtbare Kreativität. netzkern.
?
Unsichtbare Technologie. Sichtbare Kreativität. netzkern.
… is max / chris and I‘m working at netzkern in the consulting department. I‘m a
former Sitecore developer and worked a lot with the Sitecore Backend…. (TBD)
I‘m happy to be here today and use the next 30 minutes to show you some insights
into Monitoring a Sitecore Application.
My name …
Unsichtbare Technologie. Sichtbare Kreativität. netzkern.
% Anstieg der Abbrecher-Quote
0%
5%
10%
15%
20%
25%
30%
35%
40%
2 bis 4 Sek. 2 bis 6 Sek. 2 bis 8 Sek. 2 bis 10 Sek.
% Anstieg der Abbrecher-Quote
Unsichtbare Technologie. Sichtbare Kreativität. netzkern.
Einfluss bei einer längeren Response Time von 1 Sekunde
-11%
-7%
-16%
-18%
-16%
-14%
-12%
-10%
-8%
-6%
-4%
-2%
0%
Page Views Conversions Customer Satisfaction
Unsichtbare Technologie. Sichtbare Kreativität. netzkern.
ouch
75% haben in Stoßzeiten lieber zu einem
Mitbewerber gewechselt, anstatt zu warten.
Mehr als ein Drittel haben anderen davon
erzählt.
88% der User kommen nach einer schlechten
Erfahrung wahrscheinlich nicht mehr wieder
Unsichtbare Technologie. Sichtbare Kreativität. netzkern.
Warum optimize
Optimierte Seite Nicht optimierte Seite
Bounce Rate 13,38% 14,35%
Pages pro Visit 15,64% 11,04%
Durchschnittliche
Aufenthaltsdauer
0:30:10 0:23:50
Unsichtbare Technologie. Sichtbare Kreativität. netzkern.
Unsichtbare Technologie. Sichtbare Kreativität. netzkern.
Build-in Diagnostics Tools
Unsichtbare Technologie. Sichtbare Kreativität. netzkern.
Sitecore Counters
Sitecore.Kernel.Counters
(Sitecore CMS Performance Counters)
Sitecore.Analytics.Counters
(Sitecore Analytics Counters)
Sitecore.Analytics.MongoDb
(Sitecore Analytics MongoDB
Counters)
Sitecore.HealthMonitor
(Sitecore Memory Usage Counters)
Counters:
Beispiele:
Category Name Description
Sitecore.Caching Cache Hits / sec Total number of cache hits for all caches.
Sitecore.Caching Data Cache Clearings / sec
Total number of times that an instance of a data cache has been
cleared.
and 19 more ...
Sitecore.Data Data | Client Data Reads / sec The total number of client data values that have been read.
Sitecore.Data Links | Fields Examined / sec The total number of fields that have been scanned for links
and 17 more ...
Sitecore.Jobs Jobs | Jobs Executed / sec The total number of jobs that have been executed.
Sitecore.Jobs Pipelines | Pipelines Aborted / sec The total number of times a pipeline was aborted.
And 9 more…
Sitecore.Presentation Rendering | Controls Rendered / sec The total number of Sitecore controls rendered.
Sitecore.Presentation
Rendering | Controls Rendered From
Cache / sec
The total number of Sitecore controls rendered from a cache.
And 11 more
Sitecore.Security Access Denied / sec The total number of access requests that have been denied.
Sitecore.Security Programmatic Disabling / sec
The total number of times that security has been
programmatically disabled (using SecurityDisabler).
And 18 more
Sitecore.System Logging | Errors Logged / sec The number of error messages that have been sent to the log.
Sitecore.System Reflection | Types Resolved / sec
The total number of types that have been resolved using
reflection.
And 10 more…
Category Name Description
Sitecore.Analytics Collection | Total Visits / sec
The total number of visits per second that are registered by
the system.
Sitecore.Analytics Collection | Unique Visitors / sec The number of unique visitors per second.
Sitecore.Analytics Data | Last Tracker Flush Time
The time in milliseconds that it took to execute the last
request to write data to the database.
Sitecore.Analytics
Aggregation | Average Write Time
(ms)
Average time it takes to save aggregated data to the
reporting database.
Sitecore.Analytics GeoIP | Cache Size The number of entries in the GeoIP cache.
Sitecore.Analytics
Data | Aggregation – Visits saved to
reporting database / sec
The number of visits saved to the reporting database per
second.
And 61 more....
Category Name Description
Sitecore.Analytics.MongoDb Reads / sec The number of read operations from MongoDB.
Sitecore.Analytics.MongoDb Writes / sec The number of write operations from MongoDB.
Sitecore.Analytics.MongoDb Documents fetched / sec The number of documents fetched from MongoDB.
And 8 more...
Sitecore.Automation
(Sitecore Engagement Automation
Counters)
Categorycc Name Description
Process Private Bytes
The total amount of memory that a process has
allocated, not including memory shared with other
processes.
Process Virtual Bytes
The current size of the virtual address space that the
process is using.
Process Page File Bytes
The current amount of virtual memory, in bytes,
that this process has reserved for use in the
paging files.
.net CLR Memory # Bytes in all Heaps
This counter indicates the current memory
allocated in bytes on the garbage collection
heaps.
.net CLR Memory Current Assemblies
The number of assemblies that are loaded in the
process.
And other 10...
Categorycc Name Description
Sitecore.Automation
State Evaluations – Page Events /
sec
The number of automation condition evaluations per
second that are triggered by page events.
Sitecore.Automation
Aggregation | Average
Automation Aggregation Pipeline
Time / sec
The average time in milliseconds that it takes to run
the automation aggregation pipeline
Sitecore.Automation
Aggregation | Transition
Aggregation Errors / sec
The number of errors (exceptions) occured during
aggregation of state transitions.
And other 14 ...
Unsichtbare Technologie. Sichtbare Kreativität. netzkern.
Counters Einstellungen:
Counters.Enabled – (De-)Aktivieren die Performance Counter. "False" deakitivert das automatische
Update der Windows Performance Counter.
Counters.InstanceName - Legt den Instanznamen für das auslesen und aktualisieren der Counter. Wenn
mehr als eine Sitecore Instanz pro Server überwacht werden soll, muss dieses Feld ausgefüllt werden.
Der Counter Dump Agent schreibt regelmäßig alle Sitecore spezifischen Performance Counter in eine
XML Datei. Diese wird im Data Verzeichnis unter /data/diagnostics/* abgelegt.
Der Sitecore Health Monitor Background Task durchläuft die HealthMonitor Pipeline in einem bestimmten
Zeitinterval(HealthMonitorInterval Einstellung). Unter anderen werden die Health Daten dabei in Log Dateien
geschrieben.
Sitecore Counters
Unsichtbare Technologie. Sichtbare Kreativität. netzkern.
http://<host>/sitecore/admin/stats.aspx
Sitecore Stats Page
Rendering — Der Name des Renderings
Site — Der Name der Website auf dem das Rendering verwendet wird.
Count — Die Anzahl der Aufrufe seit dem die Stats Page resettet wurde.
From cache —Davon aus dem Cache geladen.
Avg. time (ms) — Durchschnittliche Zeit zum Rendern.
Avg. items — Durchschnittliche Anzahl von geladenen Items.
Max. time — Längste Zeit zum Rendern.
Max. items — Größte Anzahl von geladenen Items.
Total time — Gesamte verbrauchte Zeit des Renderings seit dem letzten
Reset
Total items — Gesamte Anzahl von geladenen Items seit dem letzten
Reset
Last run — Letzter Aufruf des Renderings
Unsichtbare Technologie. Sichtbare Kreativität. netzkern.
http://<host>/sitecore/admin/pipelines.aspx
Pipelines Profiles Page The # Executions column provides the number of times the pipeline or processor has been
executed over the lifetime of the profiler.
The % Wall Time column is applicable to processors only and provides the ratio of execution
time for a processor vs the execution time for the pipeline that invoked the processor. The values
in this column are helpful in determining which processors consume the most time during
pipeline execution.
The Wall Time column provides the aggregate execution time for each pipeline or processor over
the lifetime of the profiler. The values in this column are cumulative over time and are mostly
useful for calculating average execution time.
The Max Wall Time column provides the maximum time elapsed during the execution of a
pipeline or processor. The values in this column represent the maximum execution time over the
lifetime of the profiler and can be used to compare peak execution duration to average execution
duration.
The % CPU column is applicable to processors only and provides the ratio of CPU time used by
a processor vs the CPU time used by the pipeline that invoked the processor. Note The % CPU
metric is only measured and displayed when the Pipelines.Profiling.MeasureCpuTime setting is
set to true in the web.config file (or via config include).
The Time / Execution column provides the average execution time for each pipeline or processor
over the lifetime of the profiler. The values in this column are valuable when monitoring
pipeline/processor performance over a specific time period (e.g. during load or performance
testing).
Unsichtbare Technologie. Sichtbare Kreativität. netzkern.
Performance Tuning
Unsichtbare Technologie. Sichtbare Kreativität. netzkern.
Performance Tuning
Sitecore EinstellungenSitecore Cache
Einstellungen
Unsichtbare Technologie. Sichtbare Kreativität. netzkern.
SQL Server Index Fragmentation Level
Symptome
Dramatisches ansteigen der CPU Auslastung
Performance Einbußen bei Queries
Performance Einbußen bei Disk-IO
Connection Verlust zum Datenbank Server
Langsame Renderings
Langsame Performance bei den Sitecore Backend
Sitecore Empfehlung:
SQL Server Fragmantation Level < 10%
Unsichtbare Technologie. Sichtbare Kreativität. netzkern.
4. Auto Shrink Eigenschaft auf False
SQL Einstellungen: Datenbank Eigenschaften
3. Auto Close Eigenschaft auf False
1. Compatibility Level auf SQL Server 2008 (100) setzen
2. Recovery Model auf Simple
Sitecore Empfehlungen:
Symptome
Keine Möglichkeit Performance optimierende Skripts
auszuführen.
Performance Einbußen bei Queries
Verbindungsaufbau zur Datenbank dauert länger
Allgemeine Performance Einbußen
Verursacht massive Index Fragmentierung
Erhöhte CPU und IO Verbrauch
Unsichtbare Technologie. Sichtbare Kreativität. netzkern.
IIS Einstellungen : HTTP Response Headers
Symptome
Konstant hohe Ladezeiten / schlechte Performance.
Unsichtbare Technologie. Sichtbare Kreativität. netzkern.
IIS Einstellungen : Content Compression
Symptome
Hoher Verbrauch von Bandbreite.
Unsichtbare Technologie. Sichtbare Kreativität. netzkern.
Sitecore Cache Einstellungen
Symptome
Begrenzte Zuweisung von Speicher
Schlechte Solution Performance
Server wird langsam
Sitecore Empfehlung:
Bei 64-Bit Systemen mit groß Speicher soll die
Speicherbegrenzung vollständig ausgeschaltet
werden.
Unsichtbare Technologie. Sichtbare Kreativität. netzkern.
Sitecore Cache Einstellungen
Environment Target Cache Value
Content Delivery Only
Web Prefetch 200 MB
Web Data 200 MB
Web Item 200 MB
Output (per site) html 100 MB
CMS Only
Master Prefetch 200 MB
Master Data 200 MB
Master Item 200 MB
CMS and Content Delivery on same server (master and web databases)
Master Prefetch 200 MB
Master Data 200 MB
Environment / Target
Master Item 200 MB
Web Prefetch 150 MB
Web Data 150 MB
Web Item 150 MB
Output (per site) html 100 MB
CMS and Content Deliver on same server (Live mode)
Master Prefetch 300 MB
Master Data 300 MB
Master Item 300 MB
Output (per site) html 100 MB
Sitecore Empfehlung:
Standard Werte setzen
Prefetch Cache Standard Werte setzen
HTML Output Cache mit Standard Werten
konfigurieren
Unsichtbare Technologie. Sichtbare Kreativität. netzkern.
Sitecore Cache Einstellungen
Sitecore empfiehlt, dass der Sitecore Datenbank Cache Size
zwischen 70% und 80% der maximal Größe liegt.
Datenbank Caching verbessern:
Unsichtbare Technologie. Sichtbare Kreativität. netzkern.
Cacheable — The Cacheable property defines whether or not the
presentation component should be cached, regardless of what the
VaryBy properties are set to.
Sitecore Output Cache Einstellungen
VaryByData — Set to true for components that generate
different output when used with different data sources.
VaryByDevice — Set to true for components that generate
different output when used with different devices
VaryByLogin — Set to true for components that generate
different output for an authenticated vs. an unauthenticated
user. Note, the layout engine treats all anonymous users as a
single authenticated user. o
VaryByQueryString — Set to true for components that
generate a different output when different query string
parameters are passed in.
VaryByUser — Set to true for components that generate
different output for different users. Note, to avoid excessive
memory usage only use VaryByUser on solutions with a
relatively small number of users.
Sitecore allows developers to define output cache settings in three places:
VaryByParm — Set to true for components that generate a
different output when different rendering parameters are
passed in.
Unsichtbare Technologie. Sichtbare Kreativität. netzkern.
Symptoms
Langsames Publishing
Langsame Indexierung / Index
Check Database Cleanup Agents
Sitecore Empfehlung:
Sitecore empfiehlt das die Scheduler Frequenz
auf mind. 5 Minuten sein sollte.
Cleanup Agents für die History, PublishQueue und
EventQueue können ebenfalls hier konfiguriert
werden. Der Standardwert beträgt 4 Stunden.
Unsichtbare Technologie. Sichtbare Kreativität. netzkern.
Sitecore Settings: Disable Showing Number of Locked Items
Symptome
Dramatische Performance Einbußen im Backend / Content Editor
Sitecore Empfehlung:
Setzen der
WebEdit.ShowNumberOfLockedItemsOnButton
Einstellung auf false!
Unsichtbare Technologie. Sichtbare Kreativität. netzkern.
Additional Info
Unsichtbare Technologie. Sichtbare Kreativität. netzkern.
Check our Github Page: github.com
Download Samples and collect monitoring data
Additional Info
Unsichtbare Technologie. Sichtbare Kreativität. netzkern.
Vielen Dank für Ihre
Aufmerksamkeit.

More Related Content

Similar to #SUGDE Sitecore Gesundheit

DWX 2016 - Monitoring 2.0 - Monitoring 2.0: Alles im Lot?
DWX 2016 - Monitoring 2.0 - Monitoring 2.0: Alles im Lot?DWX 2016 - Monitoring 2.0 - Monitoring 2.0: Alles im Lot?
DWX 2016 - Monitoring 2.0 - Monitoring 2.0: Alles im Lot?Marc Müller
 
IT Workplace Performance - Anwenderzufriedenheit messbar machen
IT Workplace Performance - Anwenderzufriedenheit messbar machenIT Workplace Performance - Anwenderzufriedenheit messbar machen
IT Workplace Performance - Anwenderzufriedenheit messbar machenBeck et al. GmbH
 
OSMC 2008 | Monitoring Microsoft SQL Server by Michael Streb
OSMC 2008 | Monitoring Microsoft SQL Server by Michael StrebOSMC 2008 | Monitoring Microsoft SQL Server by Michael Streb
OSMC 2008 | Monitoring Microsoft SQL Server by Michael StrebNETWAYS
 
Automatisierung von Client-seitigen Web-Performance-Optimierungen
Automatisierung von Client-seitigen Web-Performance-OptimierungenAutomatisierung von Client-seitigen Web-Performance-Optimierungen
Automatisierung von Client-seitigen Web-Performance-OptimierungenJakob
 
11.performance meetup lasttests
11.performance meetup lasttests11.performance meetup lasttests
11.performance meetup lasttestsUwe Bessle
 
OSMC 2013 | Enterprise Platforms Monitoring at s IT Solutions AT by Johannes ...
OSMC 2013 | Enterprise Platforms Monitoring at s IT Solutions AT by Johannes ...OSMC 2013 | Enterprise Platforms Monitoring at s IT Solutions AT by Johannes ...
OSMC 2013 | Enterprise Platforms Monitoring at s IT Solutions AT by Johannes ...NETWAYS
 
Karlsruher Entwicklertag 2016 - Monitoring 2.0: Alles im Lot?
Karlsruher Entwicklertag 2016 - Monitoring 2.0: Alles im Lot?Karlsruher Entwicklertag 2016 - Monitoring 2.0: Alles im Lot?
Karlsruher Entwicklertag 2016 - Monitoring 2.0: Alles im Lot?Marc Müller
 
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
 
OSMC 2008 | Monitoring von Messaging Systemen mit Nagios by Markus Thiel
OSMC 2008 | Monitoring von Messaging Systemen mit Nagios by Markus ThielOSMC 2008 | Monitoring von Messaging Systemen mit Nagios by Markus Thiel
OSMC 2008 | Monitoring von Messaging Systemen mit Nagios by Markus ThielNETWAYS
 
Blockchain-based access right management for private data in decentralized cl...
Blockchain-based access right management for private data in decentralized cl...Blockchain-based access right management for private data in decentralized cl...
Blockchain-based access right management for private data in decentralized cl...ArtemEger
 
Clickstream Analysis with Spark—Understanding Visitors in Realtime by Josef A...
Clickstream Analysis with Spark—Understanding Visitors in Realtime by Josef A...Clickstream Analysis with Spark—Understanding Visitors in Realtime by Josef A...
Clickstream Analysis with Spark—Understanding Visitors in Realtime by Josef A...Spark Summit
 
Pink Monitoring oder wie Prometheus Licht ins Dunkel der Container bringt 
Pink Monitoring oder wie Prometheus Licht ins Dunkel der Container bringt Pink Monitoring oder wie Prometheus Licht ins Dunkel der Container bringt 
Pink Monitoring oder wie Prometheus Licht ins Dunkel der Container bringt Klaus Bild
 
It workplace performance anwenderzufriedenheit messbar machen
It workplace performance   anwenderzufriedenheit messbar machenIt workplace performance   anwenderzufriedenheit messbar machen
It workplace performance anwenderzufriedenheit messbar machenBeck et al. GmbH
 
Cloud Observability mit Loki, Prometheus, Tempo und Grafana
Cloud Observability mit Loki, Prometheus, Tempo und GrafanaCloud Observability mit Loki, Prometheus, Tempo und Grafana
Cloud Observability mit Loki, Prometheus, Tempo und GrafanaQAware GmbH
 
Lasttest auf Zuruf CloudTest on Demand webinar presentation
Lasttest auf Zuruf CloudTest on Demand webinar presentationLasttest auf Zuruf CloudTest on Demand webinar presentation
Lasttest auf Zuruf CloudTest on Demand webinar presentationSOASTA
 
ScriptRunner - Eine Einführung
ScriptRunner - Eine EinführungScriptRunner - Eine Einführung
ScriptRunner - Eine EinführungHeiko Brenn
 
Prometheus Monitoring
Prometheus MonitoringPrometheus Monitoring
Prometheus Monitoringinovex GmbH
 

Similar to #SUGDE Sitecore Gesundheit (20)

DWX 2016 - Monitoring 2.0 - Monitoring 2.0: Alles im Lot?
DWX 2016 - Monitoring 2.0 - Monitoring 2.0: Alles im Lot?DWX 2016 - Monitoring 2.0 - Monitoring 2.0: Alles im Lot?
DWX 2016 - Monitoring 2.0 - Monitoring 2.0: Alles im Lot?
 
IT Workplace Performance - Anwenderzufriedenheit messbar machen
IT Workplace Performance - Anwenderzufriedenheit messbar machenIT Workplace Performance - Anwenderzufriedenheit messbar machen
IT Workplace Performance - Anwenderzufriedenheit messbar machen
 
check_sap_health
check_sap_healthcheck_sap_health
check_sap_health
 
OSMC 2008 | Monitoring Microsoft SQL Server by Michael Streb
OSMC 2008 | Monitoring Microsoft SQL Server by Michael StrebOSMC 2008 | Monitoring Microsoft SQL Server by Michael Streb
OSMC 2008 | Monitoring Microsoft SQL Server by Michael Streb
 
Automatisierung von Client-seitigen Web-Performance-Optimierungen
Automatisierung von Client-seitigen Web-Performance-OptimierungenAutomatisierung von Client-seitigen Web-Performance-Optimierungen
Automatisierung von Client-seitigen Web-Performance-Optimierungen
 
11.performance meetup lasttests
11.performance meetup lasttests11.performance meetup lasttests
11.performance meetup lasttests
 
OSMC 2013 | Enterprise Platforms Monitoring at s IT Solutions AT by Johannes ...
OSMC 2013 | Enterprise Platforms Monitoring at s IT Solutions AT by Johannes ...OSMC 2013 | Enterprise Platforms Monitoring at s IT Solutions AT by Johannes ...
OSMC 2013 | Enterprise Platforms Monitoring at s IT Solutions AT by Johannes ...
 
Karlsruher Entwicklertag 2016 - Monitoring 2.0: Alles im Lot?
Karlsruher Entwicklertag 2016 - Monitoring 2.0: Alles im Lot?Karlsruher Entwicklertag 2016 - Monitoring 2.0: Alles im Lot?
Karlsruher Entwicklertag 2016 - Monitoring 2.0: Alles im Lot?
 
JavaScript Performance
JavaScript PerformanceJavaScript Performance
JavaScript Performance
 
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)
 
OSMC 2008 | Monitoring von Messaging Systemen mit Nagios by Markus Thiel
OSMC 2008 | Monitoring von Messaging Systemen mit Nagios by Markus ThielOSMC 2008 | Monitoring von Messaging Systemen mit Nagios by Markus Thiel
OSMC 2008 | Monitoring von Messaging Systemen mit Nagios by Markus Thiel
 
Blockchain-based access right management for private data in decentralized cl...
Blockchain-based access right management for private data in decentralized cl...Blockchain-based access right management for private data in decentralized cl...
Blockchain-based access right management for private data in decentralized cl...
 
Clickstream Analysis with Spark—Understanding Visitors in Realtime by Josef A...
Clickstream Analysis with Spark—Understanding Visitors in Realtime by Josef A...Clickstream Analysis with Spark—Understanding Visitors in Realtime by Josef A...
Clickstream Analysis with Spark—Understanding Visitors in Realtime by Josef A...
 
Pink Monitoring oder wie Prometheus Licht ins Dunkel der Container bringt 
Pink Monitoring oder wie Prometheus Licht ins Dunkel der Container bringt Pink Monitoring oder wie Prometheus Licht ins Dunkel der Container bringt 
Pink Monitoring oder wie Prometheus Licht ins Dunkel der Container bringt 
 
It workplace performance anwenderzufriedenheit messbar machen
It workplace performance   anwenderzufriedenheit messbar machenIt workplace performance   anwenderzufriedenheit messbar machen
It workplace performance anwenderzufriedenheit messbar machen
 
Cloud Observability mit Loki, Prometheus, Tempo und Grafana
Cloud Observability mit Loki, Prometheus, Tempo und GrafanaCloud Observability mit Loki, Prometheus, Tempo und Grafana
Cloud Observability mit Loki, Prometheus, Tempo und Grafana
 
Lasttest auf Zuruf CloudTest on Demand webinar presentation
Lasttest auf Zuruf CloudTest on Demand webinar presentationLasttest auf Zuruf CloudTest on Demand webinar presentation
Lasttest auf Zuruf CloudTest on Demand webinar presentation
 
ScriptRunner - Eine Einführung
ScriptRunner - Eine EinführungScriptRunner - Eine Einführung
ScriptRunner - Eine Einführung
 
Prometheus Monitoring
Prometheus MonitoringPrometheus Monitoring
Prometheus Monitoring
 
Debugging und Profiling
Debugging und ProfilingDebugging und Profiling
Debugging und Profiling
 

#SUGDE Sitecore Gesundheit

  • 1. Unsichtbare Technologie. Sichtbare Kreativität. netzkern. 24. April 2015 Sitecore Gesundheit
  • 2. Unsichtbare Technologie. Sichtbare Kreativität. netzkern. ?
  • 3. Unsichtbare Technologie. Sichtbare Kreativität. netzkern. … is max / chris and I‘m working at netzkern in the consulting department. I‘m a former Sitecore developer and worked a lot with the Sitecore Backend…. (TBD) I‘m happy to be here today and use the next 30 minutes to show you some insights into Monitoring a Sitecore Application. My name …
  • 4. Unsichtbare Technologie. Sichtbare Kreativität. netzkern. % Anstieg der Abbrecher-Quote 0% 5% 10% 15% 20% 25% 30% 35% 40% 2 bis 4 Sek. 2 bis 6 Sek. 2 bis 8 Sek. 2 bis 10 Sek. % Anstieg der Abbrecher-Quote
  • 5. Unsichtbare Technologie. Sichtbare Kreativität. netzkern. Einfluss bei einer längeren Response Time von 1 Sekunde -11% -7% -16% -18% -16% -14% -12% -10% -8% -6% -4% -2% 0% Page Views Conversions Customer Satisfaction
  • 6. Unsichtbare Technologie. Sichtbare Kreativität. netzkern. ouch 75% haben in Stoßzeiten lieber zu einem Mitbewerber gewechselt, anstatt zu warten. Mehr als ein Drittel haben anderen davon erzählt. 88% der User kommen nach einer schlechten Erfahrung wahrscheinlich nicht mehr wieder
  • 7. Unsichtbare Technologie. Sichtbare Kreativität. netzkern. Warum optimize Optimierte Seite Nicht optimierte Seite Bounce Rate 13,38% 14,35% Pages pro Visit 15,64% 11,04% Durchschnittliche Aufenthaltsdauer 0:30:10 0:23:50
  • 8. Unsichtbare Technologie. Sichtbare Kreativität. netzkern.
  • 9. Unsichtbare Technologie. Sichtbare Kreativität. netzkern. Build-in Diagnostics Tools
  • 10. Unsichtbare Technologie. Sichtbare Kreativität. netzkern. Sitecore Counters Sitecore.Kernel.Counters (Sitecore CMS Performance Counters) Sitecore.Analytics.Counters (Sitecore Analytics Counters) Sitecore.Analytics.MongoDb (Sitecore Analytics MongoDB Counters) Sitecore.HealthMonitor (Sitecore Memory Usage Counters) Counters: Beispiele: Category Name Description Sitecore.Caching Cache Hits / sec Total number of cache hits for all caches. Sitecore.Caching Data Cache Clearings / sec Total number of times that an instance of a data cache has been cleared. and 19 more ... Sitecore.Data Data | Client Data Reads / sec The total number of client data values that have been read. Sitecore.Data Links | Fields Examined / sec The total number of fields that have been scanned for links and 17 more ... Sitecore.Jobs Jobs | Jobs Executed / sec The total number of jobs that have been executed. Sitecore.Jobs Pipelines | Pipelines Aborted / sec The total number of times a pipeline was aborted. And 9 more… Sitecore.Presentation Rendering | Controls Rendered / sec The total number of Sitecore controls rendered. Sitecore.Presentation Rendering | Controls Rendered From Cache / sec The total number of Sitecore controls rendered from a cache. And 11 more Sitecore.Security Access Denied / sec The total number of access requests that have been denied. Sitecore.Security Programmatic Disabling / sec The total number of times that security has been programmatically disabled (using SecurityDisabler). And 18 more Sitecore.System Logging | Errors Logged / sec The number of error messages that have been sent to the log. Sitecore.System Reflection | Types Resolved / sec The total number of types that have been resolved using reflection. And 10 more… Category Name Description Sitecore.Analytics Collection | Total Visits / sec The total number of visits per second that are registered by the system. Sitecore.Analytics Collection | Unique Visitors / sec The number of unique visitors per second. Sitecore.Analytics Data | Last Tracker Flush Time The time in milliseconds that it took to execute the last request to write data to the database. Sitecore.Analytics Aggregation | Average Write Time (ms) Average time it takes to save aggregated data to the reporting database. Sitecore.Analytics GeoIP | Cache Size The number of entries in the GeoIP cache. Sitecore.Analytics Data | Aggregation – Visits saved to reporting database / sec The number of visits saved to the reporting database per second. And 61 more.... Category Name Description Sitecore.Analytics.MongoDb Reads / sec The number of read operations from MongoDB. Sitecore.Analytics.MongoDb Writes / sec The number of write operations from MongoDB. Sitecore.Analytics.MongoDb Documents fetched / sec The number of documents fetched from MongoDB. And 8 more... Sitecore.Automation (Sitecore Engagement Automation Counters) Categorycc Name Description Process Private Bytes The total amount of memory that a process has allocated, not including memory shared with other processes. Process Virtual Bytes The current size of the virtual address space that the process is using. Process Page File Bytes The current amount of virtual memory, in bytes, that this process has reserved for use in the paging files. .net CLR Memory # Bytes in all Heaps This counter indicates the current memory allocated in bytes on the garbage collection heaps. .net CLR Memory Current Assemblies The number of assemblies that are loaded in the process. And other 10... Categorycc Name Description Sitecore.Automation State Evaluations – Page Events / sec The number of automation condition evaluations per second that are triggered by page events. Sitecore.Automation Aggregation | Average Automation Aggregation Pipeline Time / sec The average time in milliseconds that it takes to run the automation aggregation pipeline Sitecore.Automation Aggregation | Transition Aggregation Errors / sec The number of errors (exceptions) occured during aggregation of state transitions. And other 14 ...
  • 11. Unsichtbare Technologie. Sichtbare Kreativität. netzkern. Counters Einstellungen: Counters.Enabled – (De-)Aktivieren die Performance Counter. "False" deakitivert das automatische Update der Windows Performance Counter. Counters.InstanceName - Legt den Instanznamen für das auslesen und aktualisieren der Counter. Wenn mehr als eine Sitecore Instanz pro Server überwacht werden soll, muss dieses Feld ausgefüllt werden. Der Counter Dump Agent schreibt regelmäßig alle Sitecore spezifischen Performance Counter in eine XML Datei. Diese wird im Data Verzeichnis unter /data/diagnostics/* abgelegt. Der Sitecore Health Monitor Background Task durchläuft die HealthMonitor Pipeline in einem bestimmten Zeitinterval(HealthMonitorInterval Einstellung). Unter anderen werden die Health Daten dabei in Log Dateien geschrieben. Sitecore Counters
  • 12. Unsichtbare Technologie. Sichtbare Kreativität. netzkern. http://<host>/sitecore/admin/stats.aspx Sitecore Stats Page Rendering — Der Name des Renderings Site — Der Name der Website auf dem das Rendering verwendet wird. Count — Die Anzahl der Aufrufe seit dem die Stats Page resettet wurde. From cache —Davon aus dem Cache geladen. Avg. time (ms) — Durchschnittliche Zeit zum Rendern. Avg. items — Durchschnittliche Anzahl von geladenen Items. Max. time — Längste Zeit zum Rendern. Max. items — Größte Anzahl von geladenen Items. Total time — Gesamte verbrauchte Zeit des Renderings seit dem letzten Reset Total items — Gesamte Anzahl von geladenen Items seit dem letzten Reset Last run — Letzter Aufruf des Renderings
  • 13. Unsichtbare Technologie. Sichtbare Kreativität. netzkern. http://<host>/sitecore/admin/pipelines.aspx Pipelines Profiles Page The # Executions column provides the number of times the pipeline or processor has been executed over the lifetime of the profiler. The % Wall Time column is applicable to processors only and provides the ratio of execution time for a processor vs the execution time for the pipeline that invoked the processor. The values in this column are helpful in determining which processors consume the most time during pipeline execution. The Wall Time column provides the aggregate execution time for each pipeline or processor over the lifetime of the profiler. The values in this column are cumulative over time and are mostly useful for calculating average execution time. The Max Wall Time column provides the maximum time elapsed during the execution of a pipeline or processor. The values in this column represent the maximum execution time over the lifetime of the profiler and can be used to compare peak execution duration to average execution duration. The % CPU column is applicable to processors only and provides the ratio of CPU time used by a processor vs the CPU time used by the pipeline that invoked the processor. Note The % CPU metric is only measured and displayed when the Pipelines.Profiling.MeasureCpuTime setting is set to true in the web.config file (or via config include). The Time / Execution column provides the average execution time for each pipeline or processor over the lifetime of the profiler. The values in this column are valuable when monitoring pipeline/processor performance over a specific time period (e.g. during load or performance testing).
  • 14. Unsichtbare Technologie. Sichtbare Kreativität. netzkern. Performance Tuning
  • 15. Unsichtbare Technologie. Sichtbare Kreativität. netzkern. Performance Tuning Sitecore EinstellungenSitecore Cache Einstellungen
  • 16.
  • 17. Unsichtbare Technologie. Sichtbare Kreativität. netzkern. SQL Server Index Fragmentation Level Symptome Dramatisches ansteigen der CPU Auslastung Performance Einbußen bei Queries Performance Einbußen bei Disk-IO Connection Verlust zum Datenbank Server Langsame Renderings Langsame Performance bei den Sitecore Backend Sitecore Empfehlung: SQL Server Fragmantation Level < 10%
  • 18. Unsichtbare Technologie. Sichtbare Kreativität. netzkern. 4. Auto Shrink Eigenschaft auf False SQL Einstellungen: Datenbank Eigenschaften 3. Auto Close Eigenschaft auf False 1. Compatibility Level auf SQL Server 2008 (100) setzen 2. Recovery Model auf Simple Sitecore Empfehlungen: Symptome Keine Möglichkeit Performance optimierende Skripts auszuführen. Performance Einbußen bei Queries Verbindungsaufbau zur Datenbank dauert länger Allgemeine Performance Einbußen Verursacht massive Index Fragmentierung Erhöhte CPU und IO Verbrauch
  • 19.
  • 20. Unsichtbare Technologie. Sichtbare Kreativität. netzkern. IIS Einstellungen : HTTP Response Headers Symptome Konstant hohe Ladezeiten / schlechte Performance.
  • 21. Unsichtbare Technologie. Sichtbare Kreativität. netzkern. IIS Einstellungen : Content Compression Symptome Hoher Verbrauch von Bandbreite.
  • 22.
  • 23. Unsichtbare Technologie. Sichtbare Kreativität. netzkern. Sitecore Cache Einstellungen Symptome Begrenzte Zuweisung von Speicher Schlechte Solution Performance Server wird langsam Sitecore Empfehlung: Bei 64-Bit Systemen mit groß Speicher soll die Speicherbegrenzung vollständig ausgeschaltet werden.
  • 24. Unsichtbare Technologie. Sichtbare Kreativität. netzkern. Sitecore Cache Einstellungen Environment Target Cache Value Content Delivery Only Web Prefetch 200 MB Web Data 200 MB Web Item 200 MB Output (per site) html 100 MB CMS Only Master Prefetch 200 MB Master Data 200 MB Master Item 200 MB CMS and Content Delivery on same server (master and web databases) Master Prefetch 200 MB Master Data 200 MB Environment / Target Master Item 200 MB Web Prefetch 150 MB Web Data 150 MB Web Item 150 MB Output (per site) html 100 MB CMS and Content Deliver on same server (Live mode) Master Prefetch 300 MB Master Data 300 MB Master Item 300 MB Output (per site) html 100 MB Sitecore Empfehlung: Standard Werte setzen Prefetch Cache Standard Werte setzen HTML Output Cache mit Standard Werten konfigurieren
  • 25. Unsichtbare Technologie. Sichtbare Kreativität. netzkern. Sitecore Cache Einstellungen Sitecore empfiehlt, dass der Sitecore Datenbank Cache Size zwischen 70% und 80% der maximal Größe liegt. Datenbank Caching verbessern:
  • 26. Unsichtbare Technologie. Sichtbare Kreativität. netzkern. Cacheable — The Cacheable property defines whether or not the presentation component should be cached, regardless of what the VaryBy properties are set to. Sitecore Output Cache Einstellungen VaryByData — Set to true for components that generate different output when used with different data sources. VaryByDevice — Set to true for components that generate different output when used with different devices VaryByLogin — Set to true for components that generate different output for an authenticated vs. an unauthenticated user. Note, the layout engine treats all anonymous users as a single authenticated user. o VaryByQueryString — Set to true for components that generate a different output when different query string parameters are passed in. VaryByUser — Set to true for components that generate different output for different users. Note, to avoid excessive memory usage only use VaryByUser on solutions with a relatively small number of users. Sitecore allows developers to define output cache settings in three places: VaryByParm — Set to true for components that generate a different output when different rendering parameters are passed in.
  • 27.
  • 28. Unsichtbare Technologie. Sichtbare Kreativität. netzkern. Symptoms Langsames Publishing Langsame Indexierung / Index Check Database Cleanup Agents Sitecore Empfehlung: Sitecore empfiehlt das die Scheduler Frequenz auf mind. 5 Minuten sein sollte. Cleanup Agents für die History, PublishQueue und EventQueue können ebenfalls hier konfiguriert werden. Der Standardwert beträgt 4 Stunden.
  • 29. Unsichtbare Technologie. Sichtbare Kreativität. netzkern. Sitecore Settings: Disable Showing Number of Locked Items Symptome Dramatische Performance Einbußen im Backend / Content Editor Sitecore Empfehlung: Setzen der WebEdit.ShowNumberOfLockedItemsOnButton Einstellung auf false!
  • 30. Unsichtbare Technologie. Sichtbare Kreativität. netzkern. Additional Info
  • 31. Unsichtbare Technologie. Sichtbare Kreativität. netzkern. Check our Github Page: github.com Download Samples and collect monitoring data Additional Info
  • 32. Unsichtbare Technologie. Sichtbare Kreativität. netzkern. Vielen Dank für Ihre Aufmerksamkeit.

Editor's Notes

  1. How many of you are annoyed by slow pages and even don‘t wait for the browser to wait compeltely? How many of you really hate slow pages and don‘t come back? … IMAGE: Clock, impatience
  2. Industry Average: 97,8% Leads to outages: 8 days a year Shop generating $100,000 a day, loss of $800,000 in yearly revenue Peak traffic times, 75% left for a competitors site, than suffer delays 88% of online consumers are less likely to return to a site after a bad experience More than a third told others about their disappointing experience IMAGE: OUCH, Hurt, Paint, Redcross?
  3. google algorith change on April 22, 2015 for better performing mobile sites
  4. Now we realize that we need a monitoring. More then just „let me know when we are offline“ Now it‘s too much
  5. Zuallererst müssen wir überprüfen, ob wir ein Leistungsproblem und wenn Ja, dann wo genau haben? Und hier soll man diagnostisch machen. Sitecore hat viele Werkzeuge für dieses Ziel. Zum Beispiel Sitecore Counters. Wir verwenden sie an troubleshoot und analysieren die Leistung(performance) Ihrer Sitecore CM-Installation. First of all we need to check if we have any performance problem and if yes, then where exactly? And here we need to make diagnostic. Sitecore has a lot of tools for this target. For example counters. We use them to troubleshoot and analyze the performance of your Sitecore CMS installation.
  6. Es gibt 5 Typen von Schaltern von Sitecore: Sitecore Gesundheitsmonitor ist Speicherauslastungsschalter. Und dieser Tisch zeigt einigen von ihnen. Kern.Counters geben die ganze notwendige Auskunft über Ihre Beispiele von Sitecore Es gibt 6 Hauptkategorien, wo Sie ausführliche Statistikinformationen finden können über: Sitecore. System (als logs errors, wrnings und so weiter) Sitecore.Data (information über items) Sitecore Cache, Jobs Präsentation Und Sicherheit Folgende Typen von Schaltern sind Sitecore Analytik. Counters und Sitecore. Analytik. Mongodb Der erste sammelt alle Analytikstatistikdaten wie: Gesamtbesucher, unic Gesamtbesucher und anderer. Der zweite sammelt Klotz der Analytik Mongodb: (Die Zahl von gelesenen schreibt Operationen...) Die letzte Typ von counters sammeln die ganze Info über Sitecore. Automation functionalytet
  7. Aber standardmäßig sind die Schalter von Sitecore deactivieren. Um ihnen zu aktivieren, soll man einige Konfigurationseinstellungen von Sitecore ändern: Zuerst soll man CountersEnabled stellung als true und das interval von CounterDumpAgent mehr dann 0 einführen. Um Counters für verschiedene sitecore Installationen auf demselben Server zu führen, soll man Conters. InstanceName ändern. Um healthMonitor counters zu aktivieren, führe bitte das interval von HealthMonitorInterval Stellung meher dann 0 ein. Dus führe die HealthMonitor pipeline. So, Wenn Sitecore counters aktivieren sind, kontet ihr sie im Data/Diagnostigs ordner finden
  8. Sitecore hat aber andere Leistungs Indikationen. Zum beispiel um Sitecore Renderings leistung zu diagnostizieren , Die Zahl von Zeiten, ein Rendering genannt wurde. Die Zahl von Zeiten eine Rendering wurde vom Cache gezogen…
  9. Und letzter Sitecore diagnostisches Werkzeug, dass wir gern u präsentieren würden, ist Sitecore pipeline profiling Seit. Hier kann man jeden processor für jeder pipeline überwachen: die Zahl von Zeiten der processor wurde durchgeführt Die durchschittliche Ausführungzeit für jeder pipeline oder processor. Und die CPU gebrauch für jeden processor Aber um die lätzte zu aktivieren, soll man die Pipelines.Profiling.MeasureCpuTime Stellung als true einführen
  10. so wenn es einige Performance Probleme gibt, soll man die Einstellungen von SQL, IIS und Sitecore überprüfen.
  11. Zuallererst ist es sehr wichtig, Ihr SQL Server Fragmentation Level zu überprüfen. Weil Symptome sein würden: Dramatisches ansteigen der CPU Auslastung Performance Einbußen bei Queries und Disk-IO Connection Verlust zum Datenbank Server Langsame Renderings, Desktop, CE usw. Um Fragmentation level zu prüfen soll man “Sql Management Studio” ofnen -> dann in context menu für die Sitecore Databanken -> click Reports - > dann Standard Reports -> Index Usage Statistics. Und in die neue windows form kontet ihr die information von fragmentation level für items finden. Sitecore empfielt die Fragmentation Level über 10% halten für jeder Sitecore Databank.
  12. Wenn es noch SQL Performance probleme gibt, man soll die SQL Einstellungen den databanken von Sitecore überprüfen: Das Ergebnis des falschen Einstellung „Compatibility Level“ ist Unfähigkeit die Scripts zu führen, um Leistung zu verbessern. Es sollte SQL Server 2008 (100) sein Wenn ihr findet, dass eur DB-Log zu groß ist und Performance Einbußen bei Queries, musstet ihr eine Einstellung „Recovery Model“ überprüfen. Sitecore empfiehlt dieEinstellung auf Simple setzen. Aber erinnert Ihr sich, Wenn ihr vom Fill oder bulk-logged recovery model auf simple setzt, brechtet ihr die chain von Backup Log. Deshalb empfehlen wir ein backup von log machen sofort vor der Umschaltung. Wenn Verbindungsaufbau zur Datenbank länger dauert, soll man Auto Close auf falsch setzen. When Verursacht massive Index Fragmentierung oder erhöhte CPU und IO Verbrauch, soll man Auto Shrink auf falsch setzen.
  13. Nach SQL, Soll man einige IIS Einstellungen überprüfen. Weil de falche IIS Konfiguration können ein Grund sein für: bitte auf eur Hoher Verbrauch von Bandbreite Konstant hohe Ladezeiten / schlechte Performance.
  14. Konstant hohe Ladezeiten / schlechte Performance. Die Estellung “HTTP keep-alive” verbessert Web server performance durch das Halten einer Verbindung des Kunden/Servers offen über vielfache Requests zum Server. So, Sitecore empfielt HTTP keep-alive aktivieren, Expire Web content aktivieren und die einstellung “After” auf 30 tages setzen”
  15. Wenn Ihre Seiten viel Bandbreite verwenden, oder wenn Sie bandwidth effektiver verwenden wollen, ermöglichen Sie Kompression. Das stellt schnellere Übertragungszeiten zwischen IIS und kompressionsermöglichten Browsern.
  16. nächster ist der sehr wichtige Teil der Performance optimierung: Das Tuning des cache von Sitecore .
  17. Symptome von schlechten Einstellungen würden sein: Begrenzte Zuweisung von Speicher Schlechte Solution Performance Server wird langsam Bemerken Sie bitte, dass Konfiguration und Einstimmung der Sitecore Sitecore cache nur auf einem Test durchgeführt werden oder entwickeln, und nie in der Produktion Umgebung sollten. Also zuallererst empfiehlt Sitecore die Einstellung Cache.DisableCacheSizeLimits auf true setzen, Wenn ihr 64-Bit-System mit große Gedächt habt. Für andere System musstet ihr Eistellungen von Sitecore Cache abstimmen.
  18. Satz anfangs werte: Der folgende Tabellie zeigt einen guten Startpunkt an für die Datenbank und Html Output caches, abhängig von der Umgebung zu setzen Verwende die Tabelle um Einstellungen von Sitecore Items Cache zu setzen. Setze Prefetch Cache und Html Output Cache mit Standard Werten Dann kontet ihr das Tuning von Sitecore Cache machen.
  19. Führen Sie einen Lastgenerator, der alle Items auf allen Sprachen schlägt. 2. Während der Lastgenerator läuft, schiffen Sie zu /sitecore/admin/cache.aspx Seit. Wir interesieren Master[data], Master[items], Web[data], Web[items], SqlDataProvider- Prefetch data(master), and SqlDataProvider -Prefetch data(web). 4. Machtet ihr die Einstellungen so Sitecore Cache zwischen 70% und 80% der maximal Größe liegt
  20. Auch Sitecore erlaubt Entwicklern, output cache in drei Plätzen zu definieren: In CE, in Presentation detail, und in Experience Manager.
  21. Wenn die Einstellungen von Sitecore
  22. Wenn Sie langsame Performance während publishing oder indexing finden, brauchtet ihr zur Reinigung Sitecore Datenbanken. Der Prozess läuft automatisch durch den Planer von Sitecore. Um es zu aktivieren, soll man frequency and Cleanup intervals mehr dann 0 setzen. Sitecore empfiehlt, frequency auf 5 Minuten und Cleanup intervals auf 4 Stunden zu setzen.
  23. Und die lätzte empfelung um performance zu bessern is nechste: Setz die WebEdit.ShowNumberOfLockedItemsOnButton auf falsch. Die einstelung kann ein Grund der dramatischen vergrößern Ladezeiten von Experience Manager.