Connect Chat Performance | Overview and Best Practices
This article covers:
- A general explanation of the issues which may be seen in Connect Chat or Support related to performance.
- How to determine if the performance issues are specific to Connect or the overall instance performance.
- Common causes of slowness in Connect and Best practices for avoiding them.
Connect Issues related to Performance
Connect issues which are reported as performance are normally seen in two separate ways and have two primary causes.
1) Data is not being updated in real time but showing after a refresh - This is not always related to performance and instead is caused by issues subscribing to or getting live updates from the Asynchronous Message Bus (referred to as the AMB). For more information on the AMB please review KB0622691.
For more information on troubleshooting AMB issues in Connect please review KB0695952
2) Data loading with a consistent delay regardless of refresh - Caused by slowness in the Connect transactions to the server. This is what I will cover in this article.
How to verify that slowness is specific to Connect and not the instance overall
The easiest way to determine is slowness is related to the instance overall is to check the timing on other things which are not Connect related such as loading up forms or lists and see if this is also being slow. If this is the case, once you resolve those issues causing overall slowness Connect should work fine.
You can also check the transaction times for Connect related APIs in the syslog_transaction table to see if they have high Processing Time.
Here is a link you can use to check the transactions table quickly. This is set to show anything with a Processing Time more than 3 seconds within the last 2 hours but you may need to add that field to the list to see and sort by it. Results here do not necessarily mean there is slowness but could point you in the right direction. Other fields to check are Session Wait and Semaphore wait as these can indicate other things slowing down Connect.
*** Note: The syslog_transaction table contains a lot of records so searching and loading it without the proper filtering can be very slow. The more specific you can be the faster it will search.
Example fields to add to the syslog_transaction table
Common Causes of Slowness in Connect and Best practices
If you can determine that Connect transactions are slow in the syslog_transaction table here are a few common causes.
1) Before Query Business Rules on the task, incident or chat_queue_entry tables are one of the most common causes of slowness in Connect.
Because Connect Support conversations are always linked to a record in one of those tables, we query them regularly for Connect. To resolve issues of this nature, add conditions to the business rules so they do not impact records related to Connect, or improve the performance of the before query business rules themselves.
2) Too many visible conversations in the Agent's sidebar.
Each conversation in the sidebar brings back data regularly so when agents don't clear these out after they are finished it can slow down Connect for that agent. These conversations are normally old but have not been cleared out using the X.
Clear out old conversations using the X
3) A large number of Connect Actions. The platform does a number of queries per action even before evaluating the condition which is normally not impactful until there are more than 30 - 40 actions on the table. This behavior is tracked via PRB1105538, and the current recommendation is to limit the number of actions you have, or create a before query business rule on the Connect Action table so they are not all evaluated.
4) Agent(s) have the live_feed_admin role. This will cause them to get closed conversations back from the connect/support/sessions API call, which can cause performance issues. This behavior is tracked via PRB1274861. For more info and workaround see KB0695959