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
Good article to explain it -> https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB0859922
Database Index -> This has an impact on Performance
Go to System Definition -> Tables and scroll to the bottom (sys_db_object)
Its all here -> https://www.servicenow.com/community/now-platform-forum/what-are-text-index-database-index-how-to-create-the-both/m-p/1194435
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
Post a Comment