Poor performance of transactions due to cold browsers is one of the biggest performance problems faced by SAP Hybris Cloud for Customers (C4C) today, thus resulting in a poor user experience. “Cold browser” basically means that the browser needs to retrieve static assets from the server. In contrast, when the browser retrieves static assets from the local HTTP cache, it is termed a “warm browser”. Example of static assets include but are not limited to the following:
- JS Files
- Floorplan metadata (associated with a particular screen)
Please note that all C4C static assets like JS, images and HTML and static metadata come from the tenant URL:
The above assets are normally cached in the browser – Browser Caching is a common technique used to optimize performance of SaaS applications.
Retrieving assets from a cold browser affects performance negatively. As a rule of thumb, the retrieval of non-cached data can increase response times by about 2 to 5 times, depending on the screen. In the previous versions of C4C, the cached data was kept for 14 days, but that has since changed. In the newer versions of C4C, cached data is now extended and can be kept up to a year.
In broad terms, a cold browser leads to poor performance because it results in a higher E2E response time as compared to a warmed browsers because of the following two reasons:
- Increased number of roundtrips
- Increased amount of data exchange between client and server
How to identify a cold browser interaction:
Cold browser interactions can be identified by using any of the below 3 techniques:
- Using the “Quick Look Performance Tool”. Please find more information about this tool in the following blog: https://blogs.sap.com/2017/12/20/how-to-view-performance-statistics-of-the-last-user-interaction
- Checking the Network tab in the F12 Developer Tools section
- Running the report titled “Cold vs Warm Interactions” – Admins can run this report in the Business Analytics work center to find out the % of cold browser interactions in the report. Ideally, they should be less than 10%. The below link contains details on this particular topic: https://blogs.sap.com/2017/02/15/monitoring-for-cold-browser-using-in-tenant-reporting/
With regards to point 2 above, below are two short videos on how to tell if you are dealing with a cold browser. Please view this video if you are using Internet Explorer or IE:
Please view this video if you are using Google Chrome:
Causes of a cold browser:
There are many causes for a cold browser:
- First time access from a browser instance (specific computer and/or specific userID)
- Expiry of Cache
- Browser Settings not set as per recommendations (see section below)
- Static assets changed by an upgrade or hotfix implementation
- KUT or PDI activations
- Personalization – For more information about this, please refer to the first point in this blog to disable implicit personalization: https://blogs.sap.com/2017/04/20/performance-improvements-in-sap-hybris-cloud-for-customer-1705/
A cold browser performance hit should only be observed once when the user logs in for the first time. Afterwards, all the static assets data should be cached in the local HTTP cache, resulting in improved performance. However, if a Cold Browser behavior is observed all the time, then it maybe due to one of three reasons:
1. Problem with the cache settings in the browser – Ensure that the browser cache is not deleted when it is closed. The following settings control this behavior in Internet Explorer. Make sure that the “Delete browsing history on exit box” is unchecked.
Below are the comparable settings that control the cache settings in Google Chrome. We do not recommend clicking on the “Clear Data” box highlighted below:
More details of recommended browser settings for Chrome can be found in the following blog titled “Recommended Browser Settings for SAP Hybris Cloud for Customer”:
2. IT department enabling an Active Directory rule that deletes the cache – verify with your IT Department that there are no active directory policy rules which clear the browser cache. This holds true for Citrix environments as well. If the policy deletes the cache, then the user will experience cold browser slowness upon next time access of the application.
Example of Microsoft Internet Explorer settings in the active directory:
Navigate to User Configuration -> Administrative Templates -> Windows Components -> Internet Explorer -> Internet Control Panel -> Advanced Page -> Empty Temporary Internet files folder when browser is closed.
3. Sub-optimal Browser Cache settings:
Make sure that enough disk space is available for the browser cache. In the example above, you can see that we have set the cache to 1 GB.
As cold browser is one of the biggest problems with C4C performance, the best practice is to continuously monitor for cold browsers. Below is a link to an in-tenant report that allows you to do just that (provides information on cold browsers – point 3 above):
Further, the Solution Diagnostics tool includes a check that warns about high percentages of cold interactions in your tenant. See the following article for details: