Skip to Content
Technical Articles
Author's profile photo Guru Shetti

SAP Hybris Cloud for Customer ⚡ Performance Best Practices⚡

Performance Overview

End to end to performance consists of the time spent in the client (browser/device), the server and the network. Quite a few factors influences performance in terms of client settings, network setup and how you customizations are implemented. The following articles and how-tos will help you run C4C with optimal performance.

 

  Performance Analysis Blogs

The intention of these blogs is to break down performance analysis into simple tasks so that users and admins can take necessary actions to understand and troubleshoot what may be causing slowness in their implementations. We have also categorized these blogs into basic and expert so that general users along with admins can drill down into performance issues based on their comfort levels. These blogs are as a result of feedback from various constituencies including customers, partners and SAP colleagues in (Support, CEE, MCC, CoE and Expert Services).

You comments and suggestions are welcome.

Thank you!

Performance Team

Performance 101

This blog walks through the process of understanding and analyzing performance in SAP Hybris Cloud for Customer (C4C). It also describes the various performance metric attributes and provides link(s) on what to do next.

Basic Analysis

How-To: View performance statistics of the last user interaction

How-To: Troubleshoot Cold Browsers

How-To: How to identify latency and bandwidth issues

Information required by SAP when submitting performance incidents

Expert Analysis     

 

  User Experience/ Client

  Customizations

  Network

  Proactive Troubleshooting

  API/ Integration


Performance Updates

1802https://blogs.sap.com/2018/02/15/1805-performance-update/

1711https://blogs.sap.com/2017/10/22/whats-new-in-c4c-performance-1711-edition/

1708: Performance improvements include request payload compression and faster loading of static assets with CDN.

1705: Enhancements include reduce cold starts wrt. implicit personalization, update of newer SAP UI libs, scrolling improvements in Fiori client

1702: Enhancements include improvements in server times, mobile offline, TTI, pre-fetch of UI floorplan metadata


Performance Best Practices

#1 Browser Cache Clearing

When a users browser has to fetch static content (C4C UI-floorplans, images, JS etc) from the server, the end to end response times could be 4-5x or more slower than normal. During the “warming” process, whenever a user visits the workcenters/screens the static content on that page is cached. Normal these cached objects will stay as long as a year until the cache gets “dirty” or invalidated. This can happen after a hotfix or an upgrade. However, explicitly deleting the cache can have detrimental affect on the end to end performance.

Therefore if you have enabled settings in the browser that restricts or clears the cache then could get significantly slower response times. This also represents a cold browser interaction and can be monitored from the in-tenant reports. Please check the “identifying and troubleshooting” sections for more details. 

#2 Client Hardware or Virtualization

Client hardware such as the processor and the amount of memory available can be a significant factor in performance. Slow disk systems can also slow down the client as static assets are retrieved from the browser are not rendered quickly. When working in virtualized environments such as Citrix, please make sure that sufficient resources such as disk space are allocated for the users. If browser cache is set to delete on logoff then each time the user logs in, there will be significant slowdown.

In browser dev tool, this can easily be detected by long SEND times or BLOCKED states.

#3 Workflow Rules

Workflow rules can add to the server time if you have too many of them or you have written logic that adds quite a bit of overhead. Also, workflow rules with timing set to “On Create/On Every Create” are triggered synchronously and blocks the UI until the logic finishes running.

Workflow time can be monitored by check the “workflow time” in the performance historical data. For more details please see the server section in the “identifying and troubleshooting” guide below. 

#4 Reports Design
The design of a a report plays an important role. Reports are significantly impacted by the way data source and/or reports are modeled. All the rules for good SQL applies here. If you make outer joins on a field which has a large number of entries then your reports performance can get slow. There are several best practices rules in the “identifying and troubleshooting” guide below. 

#5 Home Page Design
As of 1602, the home page design alerts you with a warning if you have too many tiles and reports on the home page. Also, please make sure if you really need the home page as the landing page since this can cause a long login process. Please refer to the“identifying and troubleshooting” guide below.  
#6 UI Customizations
When customizations are made to the UI screens, additional roundtrips could be triggered. Although many components are now loaded asynchronously there are some which still loads synchronously and this can cause slowness.
#7 Cloud Application Development Studio (PDI)
The best place to check for best practices recommendations here is to check the “Solution Diagnostics” tool under the Administrator workcenter, in the system administration section. Here you would find valuable feedback in your PDI implementation. Also please check the “identifying and troubleshooting” guide below. 

#8 External Synchronous Web Service Calls
Synchronous web service that invoke external business systems can add an overhead if the providing business system is slow. Monitoring the WS Time in the performance historical data is a good practice. Please use tools such as SOAP UI etc to determine the performance of the external web service.
#9 Cloud Application Studio Deployments or KUT Activations
Cloud SDK deployments and KUT activations can invalidate the cache. Therefore a new copy has to be retrieved over the network slowing down performance. As of 1702, UI-floorplan metadata is pre-fetched during login process. Therefore a good practice is to activate KUT changelists via content transfer during off business hours. Therefore please follow best practices for deploying the same. More information is available in the  “identifying and troubleshooting” guide below. 

#10 Customer Network and the Internet

Network plays a very important part in performance. Latency & bandwidth are two important aspects in getting a good end to end response. In the customer’s environment, landscape components such as proxy, web filtering etc can play an important role as well. Also internet conditions keeps changing therefore tools such as browser dev tools, traceroute etc can be very handy in troubleshooting the same.  

Your best friend here is the in-tenant diagnostics tool accessible by url.

Network diagnostics tool: Please replace “123456” with your own tenant number. As long as latency is below 250ms and bandwidth greater than 1.5mbps you should have good response times.

 

 


Best Practices Video

Link to Presentation (slide#10 onwards) describes Top 10 best practices


Identifying and Troubleshooting Performance Issues

The following blogs and links provide helpful links in understanding, troubleshooting and following best practices in performance.

Client Overview
 Best Practices and How-Tos

 

 

Network Overview
        Tools and Best Practices

Server Overview
Best Practices and How-Tos


How to take HTTP Traces using browser DevTools

Best viewed in full screen


Cloud for Service Performance Best Practices

Optimize the performance of your Cloud for Service implementation

(Link) Part 1

In customer service every second matters.  Angry customers don’t like to wait, and agents must to be able to address their questions promptly.  In order to deliver great customer service, agents should be supported by a well tuned system, optimized to provide the best experience with minimal response times

(Link) Part 2

Customer Service agents are constantly working on a ticket after the other.  The time it takes for the ticket UI to open, and the time it takes to save a ticket after a change, are usually the two most important factors in determining the performance experienced by agents.  We will review several ways to optimize the Save step in Part 2.  In this section, let’s review a few ways in which you can optimize the time to Open.


For questions and suggestions please leave a comment ?

Assigned Tags

      16 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Former Member
      Former Member

      Hi Guys,

      I ran the Response Time Analysis report to monitor the performance based on user interactions.

      But in the screen column I'm getting outputs like # , {0}.

      What screen does this refers to?

      Can you please help.

      Regards,

      Subhasish

      Author's profile photo Former Member
      Former Member

      Hello Subhasish,

      Screen name # wont be there from 1608 onwards.

      Till 1608, you can focus on records with screen name other than #

      Screen name {0} points to account screen. We will improvise in next releases to show proper screen name in this case..

      Thanks,
      Arun

      Author's profile photo Former Member
      Former Member

      Thanks Anil.

      Is there anyway we can get the User ID in the output of the report?

      The Used ID is selected in the characteristics to be displayed in the report but still I'm not able to see it in the report.

      Regards,

      Subhasish

      Author's profile photo Former Member
      Former Member

      Hello,

      Is User ID empty?

      If it is empty, first you need to enable user id and IP address capturing.

      You can do this in Business Configuration.

      Administration -> Performance and Usage Monitoring -> Performance and Usage Monitoring -> User ID and IP tracking

      After its enabled, user id will be captured from that time.

      Thanks,

      Arun

      Author's profile photo Former Member
      Former Member

      Hi Arun.

      Need some help.

      We have a report that is running slow.

      Is there anyway I can run the Response Time Analysis for a specific report?

      Regards,

      Subhasish

      Author's profile photo Former Member
      Former Member

      Hi Arun,

      Also facing another issue.

      Before running the report I have added the field User ID to be displayed in the report , but its not showing up after executing the report.

      Is there anything I have missed?

      Regards,

      Subhasish

      Author's profile photo Kanthimathi Krishnan
      Kanthimathi Krishnan

      Excellant information. This is a great source of information, having this as a basis we are starting the performance analysis of our tenants.

      Thanks for the great asset.

      Regards,

      Kanthimathi

      Author's profile photo Former Member
      Former Member

      Hi,

      are there any statements about how many products and or customers we can utilize in C4C to not break performance? or this is very scalable?

      I guess with high number of those we should more utilize saved default queries for sure.

      Author's profile photo Guru Shetti
      Guru Shetti
      Blog Post Author

      Hello Radek,

      First of all my apologies for the really late response! (But better late than never)

      To answer your question, yes the solution is very scalable! If you want more details please drop a note to your CEE.

      Best,

      Guru

      Author's profile photo James Fogarty
      James Fogarty

      Hey,

      Is there an updated link for the Workflow Best Practices blog post? The link included above seems to be broken.

      Thanks!

      James

      Author's profile photo Guru Shetti
      Guru Shetti
      Blog Post Author

      Thanks for bringing this to our notice! The link has been updated.

       

       

      Author's profile photo Jisoo Yoo
      Jisoo Yoo

      Hi Guru Shetti

      Thank you for your helpful document.

      I have a performance issue at activate step in production tenant.

      Solution file size is about 14 Mb.

      Adaption time to production tenant is very long about 7 hours.

      Some questions about above...

      1. How can i improve the activate time?(another solutions time is about 10 minutes)
      2. How can i divide the big size solution file to small size easily and safety?
      3. Sometimes errors occurred when activate the big solution.

      Thanks!

      Henrey.

      Author's profile photo Guru Shetti
      Guru Shetti
      Blog Post Author

      Hello Henrey,

      To help with the troubleshooting, could you please open an incident? This way our experts will be able to find the reason and provide a solution.

      Best,

      Guru

      Author's profile photo Jisoo Yoo
      Jisoo Yoo

      Hi Guru Shetti,

      I am writing an Incident and it is in progress...

      It does not go well and the response is slow.

       

      Thank you.

      B/R,

      Henrey

       

      Author's profile photo Dennis Sheremet
      Dennis Sheremet

      Hi Guru Shetti ,

       

      Thank you for informative blog. Do you know, if some thresholds were defined for response time (e2e response time, server response time, network response time, etc.), which can be used to classify current tenant performance? In particular we are interested in e2e response time. Thank you!

       

      Author's profile photo Reenu Bairi
      Reenu Bairi

      How do we identify from the trace if there is any PDI code involved?