Skip to Content

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 Updates

New! 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.


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 🙂

To report this post you need to login first.

11 Comments

You must be Logged on to comment or reply to a post.

  1. Subhasish Roy

    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

    (0) 
    1. Arun Kumar Reddy Janga

      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

      (0) 
      1. Subhasish Roy

        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

        (0) 
        1. Arun Kumar Reddy Janga

          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

          (0) 
          1. Subhasish Roy

            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

            (0) 
          2. Subhasish Roy

            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

            (0) 
  2. 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

    (0) 
  3. Radek Stefaniak

    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.

    (0) 
    1. Guru Shetti 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

      (0) 

Leave a Reply