Saturday, July 23, 2016

Check your Sitecore Pipeline/Processor Performance



Is your website running slow? You hooked lots of pipeline/processer in your website may be this is one of the reason of slowness.

How you check the sequence of your pipeline/processor and processing time?

We inject lot of processor/pipeline over the period of time, as per the custom requirement of the project resulted increase the custom configuration files which include custom processor/pipeline patches like after/before or some override the existing pipeline, so the question is how to see consolidate view of your pipeline/processer?

So the all problem is solved by the Sitecore hidden GEM called Pipelines.aspx Page profiler which is available under Website\App_Config\Include\pipeline.aspx

You can hit this page http://sitecore8/sitecore/admin/pipelines.aspx (change your instance name)
By default this is disable like this:

ashish bansal


To enable this renaming the /App_Config/Include/Sitecore.PipelineProfiling.config.disabled file to Sitecore.PipelineProfiling.config

 <configuration xmlns:patch="http://www.sitecore.net/xmlconfig/" xmlns:set="http://www.sitecore.net/xmlconfig/set/">  
  <sitecore>  
   <settings>  
    <!-- PIPELINE PROFILING ENABLED  
       Specifies whether or not pipeline profiling is enabled. When it is enabled, a profiling snapshot is available   
       at /sitecore/admin/pipelines.aspx.  
       Default value: true  
    -->  
    <setting name="Pipelines.Profiling.Enabled" set:value="true" />  
    <!-- PIPELINE PROFILING MEASURE CPU TIME  
       Specifies whether or not the pipeline profiler measures CPU usage. Measuring CPU usage adds a performance overhead  
       to the pipeline but provides additional information about the behavior of the processors.  
       Default value: false  
    -->  
    <setting name="Pipelines.Profiling.MeasureCpuTime" set:value="false" />  
   </settings>  
  </sitecore>  
 </configuration>  


And set the value true of below setting for gathering more information
<setting name="Pipelines.Profiling.MeasureCpuTime" set:value="true" />

Now hit the URL:






You can check all pipeline/processor are captured in this report, including the custom processor like Diagona.

Below is the explanation of the profiler parameters:



This profiling page data is very useful to pinpoint the processors/pipeline spending most of the time and improve performance by optimizing those specific processors.


I hope you like this blog; feel free to comment your thought or suggestion.


Happy Sitecoring J