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 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.
Best Practices Video
Identifying and Troubleshooting Performance Issues
The following blogs and links provide helpful links in understanding, troubleshooting and following best practices in performance.
Best Practices and How-Tos
Tools and Best Practices
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 🙂