Skip to main content

Posts

Showing posts with the label performance

String Interning in Sitecore

I am always looking at different ways of optimizing application resources in Sitecore. After all, low resources means low cost!! I came across the concept of String Interning and I got interested into it. Next, I was thinking how can I make use of it in my Sitecore instances. I started digging little bit and I found Sitecore is smart enough to already make use of it. I will share some of the findings in this post. What is String Interning?  In computer science, string interning is a method of storing only one copy of each distinct string value, which must be immutable.  What this means is if you have a string object str1 with value "Hello" and then if your code initializes another string object str2 with same value "Hello", string interning will prevent creation of second object for str2 as String Constants Pool already has a string object with same value. It will assign the reference of str1 to str2 and str2 will reuse the object that was created for str1. This obv

SQL timeouts in Sitecore instance due to High Index Fragmentation

Sitecore server performance depends a lot on underlying SQL server performance. If SQL server performance decreases, Sitecore server performance will decrease too. That's why its important to have SQL server maintenance plans.  Maintenance plans create a workflow of the tasks required to make sure that your database is optimized, regularly backed up, and free of inconsistencies. You can learn more about maintenance plans here . We observed that a poor maintenance plan can lead to SQL timeout errors in application and the high fragmentation level in the SQL indexes can have major role to play in it. Sitecore recommends keeping index fragmentation below 10% If you see error in your logs which read something like below, its time for you to check your index fragmentation levels and revisit your SQL server maintenance plans -  Execution Timeout Expired. The timeout period elapsed prior to completion of the operation or the server is not responding. How to know if index fragmentation is

Sitecore content editor performance issue due to long running validation rules

Validators that take a long time to run can have a negative performance impact while using the Sitecore Content Editor. This post is intended to look for those validation rules in question. Symptoms of Problem     Slow performance while using the Sitecore Content Editor How to Check Long Running Validation Rules   Long running validation rules appear in the Sitecore logs with the following message: Long running operation: Running Validation Rules. To search for these messages you can either search for the above string using your favorite text editor like Notepad++, or by parsing the log file(s) with Sitecore Log Analyzer tool. To parse the log file(s) using Sitecore Log Analyzer:  1. Launch Sitecore Log Analyzer.  2. Use Select Location button to select log file(s) for parsing.  3. Set String filter field to Long running operation: Running Validation Rules value.  4. Press Analyze / Refresh* button.  5. Go to Messages tab and check Warnings checkbox.  6. Check the checkbox of the “* Lo

Performance issues on Sitecore CM server

Hi, So our content authors and testers started reporting that they are getting more and more Page Unresponsive Error dialog appear while working on CM server. They also reported that there were often long waits during edit and save operations. So, I started investigating this and jumped into Sitecore logs to dig out the root cause. I had interesting observations - Created pages in Experience editor and did not encounter any issues during normal editing actions. Created a copy of medium sized folder in site (e.g. /sitecore/content/<SiteName>/<Test Folder Path> and recycled it later. On both the actions, Page Unresponsive error was reproducible and all subsequent requests from Sitecore client kept waiting. This confirmed a large copy/delete/publish operation consumes most of the resources available for SQL operations and other users get blocked. Analyzed the logs for last few weeks and found that the following activities happened a

Sitecore Cache Tuning

High performance for any digital platform is elementary. In this post, I will address some basics around Sitecore caching and some best practices that Sitecore developers/architects can follow to boost the performance of Sitecore solution. While working with one of our clients, content authors started complaining about the page load time in experience editor. The environment was Azure IaaS. So, we started looking at all the performance tweaks we could apply. Sitecore Cache Tuning Performance and cache go hand-in-hand :D  So first thing we wanted to explore was Sitecore caching especially the cache sizes.  I assume the readers are already aware about Sitecore caches and  how to configure them . We used the showconfig.aspx (https://<my sitecore hostname>/sitecore/admin/showconfig.aspx ) and looked especially for Sitecore's prefetch, items and data cache sizes. So, how do we  know if the cache sizes are sufficient for our application? First, you need to open Cache Administration