Platform Performance

 

Topics

1. Objective is to find the bottleneck. Is there something slowing loading a project. 
2. Indexing
3. Related Lists - with many records or loading synchronizing
4. Can we produce reports from System Logs -> Transactions ?

Platform Performance Metrics

How long does it take to load a form?

1) There is a little clock in the bottom right - Click on it :)
2) System Logs -> Transactions (Check for response times for a specific Project)
Look for the sys_id of the project. Show the column "View" - shows which view is loading
e.g. https://xxx.service-now.com/syslog_transaction_list.do?sysparm_query=sys_created_onONToday%40javascript%3Ags.beginningOfToday()%40javascript%3Ags.endOfToday()%5EurlLIKE6441ab2a1b492c1800a9117a3b4bcb60%5Etype%3Dform%5Esys_created_by%3Dadm-joe.jarrett&sysparm_view=
3) Another way is to open the project and the Developer Console F12. Click on Network and reload the Project
4) https://xxx.service-now.com/now/nav/ui/classic/params/target/%24pa_dashboards_overview.do
Go to Dashboards and search for "ServiceNow Performance" -> Here you see CPU, Database, UI Transactions, Response Time, Semaphores, events, etc
5) Use "Debug"

Understanding the Response Times

Response time(ms): 5810, Network: 3, server: 3467, browser: 2340

How can I get metrics on related lists loading?

1) If a related list has a large number of records, consider limiting the number that are displayed originally -> Done
2) For everyone -> By default, ServiceNow loads related lists synchronously, which means that the entire form, including related lists, must be loaded before the user can interact with it. The glide.ui.defer_related_lists system property allows you to modify this behavior. When set to true, the related lists are not loaded automatically when the form loads. I tried this in DEV and couldnt see what difference it made when I openned a Project.
3) A User -> can go to "Preferences" and select "Display" and select an option under "Load related lists in Classic forms". sys_user_preference.list glide.ui.related_list_timing

Indexing

Both the indexes have the same purpose one at the application level and the other at the database level.

Text index -> Enables search on a field

In sys_dictionary.list there is the "Text index" field
-> Text indexing is what allows you to search on text fields for a table. If you want to be able to search, you need to activate text indexing on the table. It really has nothing to do with performance.

no_text_index=true set in sys_dictionary attributes column. We have none in fenaco Servicenow

Database Index -> This has an impact on Performance

Go to System Definition -> Tables and scroll to the bottom (sys_db_object)

Like all databases, MySQL is designed to handle large volumes of information in the most efficient manner possible. To do this, MySQL has a concept known as indexes. These work very much like the index in the back of a book. Instead of flipping through every page looking for something, a quick trip to the index can let you find all the references for a subject in one spot. In the same way, table indexes increase the speed of database queries

Potential Reasons for slowness

Other stuff to do with Platform performance

Connection Test -> Output from the Network
https://xxx.service-now.com/connection_test.do


Comments

Popular posts from this blog

Email Templates and Emails

Arrays

ServiceNow tips