Skip to main content

Sitecore: Performance debug troubleshooting

There are times when you need to debug your Sitecore codebase and find out what part of the code is taking the most time and troubleshoot page load times. One of the most useful methods is to load the following page (after you have logged into Sitecore)

http://{YourWebsite}/?sc_mode=normal&sc_debug=1&sc_trace=1&sc_prof=1&sc_ri=1&sc_rb=1

sc_mode – don't load the experience editor
sc_debug - turn on the debug mode
sc_trace - turn on Sitecore trace
sc_prof - turn on Sitecore profiler
sc_ri - show rendering information
sc_rb - show rendering borders

Next scroll down to the bottom of your page and you should see something similar to this image


It should show you where the most time is spent. The next step would be to identify the section of your code base that is taking the most time and drill down to more specifics. To find out exactly how long a particular section of code takes, add the following:



You can replace the string "SitecoreingTesting" with anything more relevant to you. Also add multiple of such blocks throughout your code. Next go back to your debug page

http://{YourWebsite}/?sc_mode=normal&sc_debug=1&sc_trace=1&sc_prof=1&sc_ri=1&sc_rb=1

On this page, search for your custom strings like "SitecoreingTesting" and you should see relevant debug and time information that usually is useful to pin point the code that is causing performance issues.

For quick page load time, I found the following chrome extension very useful.
Chrome page load time extension

Hope this helps someone during their performance troubleshooting phase. Good luck!


Comments

Popular posts from this blog

Adding Entra ID Auth to a Blazor App

I wanted to take the time to write up this article since I found it useful when working on Blazor Apps. Althought this is not Sitecore related, I think it will be useful if we need to build an admin .NET portal. Additionally most organizations already have Entra ID if they use Microsoft apps and building Entra ID Authentication wont add costs like other Authentication methods would. To get started make sure the following packages are available (using NuGet) in your solution. Microsoft.Identity.Web Microsoft.Identity.Web.UI Azure.Security In your Program.cs file, add the following using Microsoft.AspNetCore.Authentication.OpenIdConnect; using Microsoft.Identity.Web; using Microsoft.Identity.Web.UI; // Add Microsoft Entra ID authentication builder.Services.AddAuthentication(OpenIdConnectDefaults.AuthenticationScheme) .AddMicrosoftIdentityWebApp(builder.Configuration.GetSection("AzureAd")); builder.Services.AddAuthorization(options => { options.FallbackPo...

Back-End and Front-End Development in Sitecore XM Cloud

  Understanding the Roles In Sitecore XM Cloud, back-end developers primarily manage content models, custom APIs, and data within the Sitecore CMS backend. On the other hand, front-end developers focus on building the user interface and interactions using a JavaScript framework like React, consuming content from the backend via GraphQL endpoints. The headless CMS architecture of Sitecore XM Cloud allows the front-end to be largely decoupled from the back-end, providing flexibility in technology choices and development workflows. Back-End Developer Responsibilities Back-end developers in Sitecore XM Cloud are responsible for: Deployment of all custom components to XM Cloud. Synchronizing components, code, and content between Prod and Non-Prod environments. Answering questions from content authors regarding component usage, troubleshooting site load, caching, and component versions. Troubleshooting Edge CDN issues related to content updates. Designing and managing content structures,...

Sitecore XM Cloud local development setup

Below are my notes when setting up a local Sitecore XM Cloud development environment. There are many good blog articles for local XM setup but the following 3 were the most useful for me Blog 1 - Used for Docker setup Blog 2 - Used for Rendering site setup Blog 3 - Used to install test content in local CM Using the information from the first 2 articles I was able to setup my local docker environment by running the up.ps1 script and then having a local Sitecore instance running on https://xmcloudcm.localhost I also had my local next js rendering site running using start:connected and accessed using the url http://localhost:3000 You can write all your rendering React code in your React app. You can create components using Json renderings in Sitecore and have corresponding tsx files in the components folder of your React app. For any Sitecore content items that are part of the component, you serialize those items as yml files in your codebase. ...