32
Unsichtbare Technologie. Sichtbare Kreativität. netzkern. 24. April 2015 Sitecore Gesundheit

#SUGDE Sitecore Gesundheit

Embed Size (px)

Citation preview

Page 1: #SUGDE Sitecore Gesundheit

Unsichtbare Technologie. Sichtbare Kreativität. netzkern.

24. April 2015

Sitecore Gesundheit

Page 2: #SUGDE Sitecore Gesundheit

Unsichtbare Technologie. Sichtbare Kreativität. netzkern.

?

Page 3: #SUGDE Sitecore Gesundheit

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 …

Page 4: #SUGDE Sitecore Gesundheit

Unsichtbare Technologie. Sichtbare Kreativität. netzkern.

% Anstieg der Abbrecher-Quote

2 bis 4 Sek. 2 bis 6 Sek. 2 bis 8 Sek. 2 bis 10 Sek.0%

5%

10%

15%

20%

25%

30%

35%

40%

% Anstieg der Abbrecher-Quote

Page 5: #SUGDE Sitecore Gesundheit

Unsichtbare Technologie. Sichtbare Kreativität. netzkern.

Einfluss bei einer längeren Response Time von 1 Sekunde

-18%

-16%

-14%

-12%

-10%

-8%

-6%

-4%

-2%

0%

-11%

-7%

-16%

Page Views Conversions Customer Satisfaction

Page 6: #SUGDE Sitecore Gesundheit

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

Page 7: #SUGDE Sitecore Gesundheit

Unsichtbare Technologie. Sichtbare Kreativität. netzkern.

Warum optimize

Optimierte Seite Nicht optimierte SeiteBounce Rate 13,38% 14,35%

Pages pro Visit 15,64% 11,04%

Durchschnittliche Aufenthaltsdauer

0:30:10 0:23:50

Page 8: #SUGDE Sitecore Gesundheit

Unsichtbare Technologie. Sichtbare Kreativität. netzkern.

Page 9: #SUGDE Sitecore Gesundheit

Unsichtbare Technologie. Sichtbare Kreativität. netzkern.

Build-in Diagnostics Tools

Page 10: #SUGDE Sitecore Gesundheit

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

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 linksand 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 DescriptionSitecore.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 AutomationCounters)

Categorycc Name Description

Process Private BytesThe 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 BytesThe current amount of virtual memory, in bytes, that this process has reserved for use in the paging files.

.net CLR Memory # Bytes in all HeapsThis 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.AutomationAggregation | 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 ...

Page 11: #SUGDE Sitecore Gesundheit

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

Page 12: #SUGDE Sitecore Gesundheit

Unsichtbare Technologie. Sichtbare Kreativität. netzkern.

http://<host>/sitecore/admin/stats.aspx

Sitecore Stats PageRendering — 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

Page 13: #SUGDE Sitecore Gesundheit

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

Page 14: #SUGDE Sitecore Gesundheit

Unsichtbare Technologie. Sichtbare Kreativität. netzkern.

Performance Tuning

Page 15: #SUGDE Sitecore Gesundheit

Unsichtbare Technologie. Sichtbare Kreativität. netzkern.

Performance Tuning

Sitecore EinstellungenSitecore CacheEinstellungen

Page 16: #SUGDE Sitecore Gesundheit
Page 17: #SUGDE Sitecore Gesundheit

Unsichtbare Technologie. Sichtbare Kreativität. netzkern.

SQL Server Index Fragmentation LevelSymptome Dramatisches ansteigen der CPU Auslastung Performance Einbußen bei QueriesPerformance Einbußen bei Disk-IOConnection Verlust zum Datenbank ServerLangsame RenderingsLangsame Performance bei den Sitecore Backend Tools

Sitecore Empfehlung: SQL Server Fragmantation Level < 10%

Page 18: #SUGDE Sitecore Gesundheit

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 QueriesVerbindungsaufbau zur Datenbank dauert längerAllgemeine Performance EinbußenVerursacht massive Index FragmentierungErhöhte CPU und IO Verbrauch

Page 19: #SUGDE Sitecore Gesundheit
Page 20: #SUGDE Sitecore Gesundheit

Unsichtbare Technologie. Sichtbare Kreativität. netzkern.

IIS Einstellungen : HTTP Response HeadersSymptome Konstant hohe Ladezeiten / schlechte Performance.

Page 21: #SUGDE Sitecore Gesundheit

Unsichtbare Technologie. Sichtbare Kreativität. netzkern.

IIS Einstellungen : Content CompressionSymptome Hoher Verbrauch von Bandbreite.

Page 22: #SUGDE Sitecore Gesundheit
Page 23: #SUGDE Sitecore Gesundheit

Unsichtbare Technologie. Sichtbare Kreativität. netzkern.

Sitecore Cache EinstellungenSymptome Begrenzte Zuweisung von SpeicherSchlechte Solution PerformanceServer wird langsam

Sitecore Empfehlung: Bei 64-Bit Systemen mit groß Speicher soll die Speicherbegrenzung vollständig ausgeschaltet werden.

Page 24: #SUGDE Sitecore Gesundheit

Unsichtbare Technologie. Sichtbare Kreativität. netzkern.

Sitecore Cache Einstellungen

Environment Target Cache ValueContent Delivery OnlyWeb Prefetch 200 MBWeb Data 200 MBWeb Item 200 MBOutput (per site) html 100 MBCMS OnlyMaster Prefetch 200 MBMaster Data 200 MBMaster Item 200 MBCMS and Content Delivery on same server (master and web databases)Master Prefetch 200 MBMaster Data 200 MBEnvironment / TargetMaster Item 200 MBWeb Prefetch 150 MBWeb Data 150 MBWeb Item 150 MBOutput (per site) html 100 MBCMS and Content Deliver on same server (Live mode)Master Prefetch 300 MBMaster Data 300 MBMaster Item 300 MBOutput (per site) html 100 MB

Sitecore Empfehlung:Standard Werte setzenPrefetch Cache Standard Werte setzenHTML Output Cache mit Standard Werten konfigurieren

Page 25: #SUGDE Sitecore Gesundheit

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:

Page 26: #SUGDE Sitecore Gesundheit

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

Page 27: #SUGDE Sitecore Gesundheit
Page 28: #SUGDE Sitecore Gesundheit

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.

Page 29: #SUGDE Sitecore Gesundheit

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!

Page 30: #SUGDE Sitecore Gesundheit

Unsichtbare Technologie. Sichtbare Kreativität. netzkern.

Additional Info

Page 31: #SUGDE Sitecore Gesundheit

Unsichtbare Technologie. Sichtbare Kreativität. netzkern.

Check our Github Page: github.comDownload Samples and collect monitoring data

Additional Info

Page 32: #SUGDE Sitecore Gesundheit

Unsichtbare Technologie. Sichtbare Kreativität. netzkern.

Vielen Dank für Ihre Aufmerksamkeit.