How to investigate slow or excessive transactions caused by high ACL timeIssue <!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } When troubleshooting performance issues you may identify a transaction that has high ACL time. Example Request: https:/<instance_name>.service-now.com/api/now/table/task?sysparm_limit=1000 Logs: EXCESSIVE *** End #30286 /api/now/table/task, user: admin, total time: 0:00:08.801, processing time: 0:00:08.800, total wait: 0:00:00.001, semaphore wait: 0:00:00.001, SQL time: 0:00:00.489 (count: 205), ACL time: 0:00:06.834, source: 199.91.140.61 , type:rest, method:GET, api_name:now/table, resource:now/table/task, Release All Cause<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } Cause 1) Too much data is requested at once and ACLs need to be evaluated for each of those records/fields being returned. This is normally the case with REST API or List slowness. It also might happen when running code that uses GlideRecordSecure. Sometimes when you run into this situation, the logs might contain information about expanding a large row black, this indicates a large amount of data is being returned and potentially all that data needs to check ACLs. Cause 2) A specific ACL is slow and since it might be evaluated multiple times this adds up causing the slowness. If this is the case you would see a message like this repeated in the logs: 13:36:25.752 Slow ACL 1eaa99340b3222004f526f3ef6673a77 for the path record/sn_hr_core_case_total_rewards/read, time was: 17 The number at the end of the logs indicated the time in milliseconds that it took to evaluate that ACL. This example 17 ms would not really cause any slowness on its own, so you would either need to see a lot of logs similar to this or much higher values in the logs like 500 or 1000 to indicate an issue with the ACL itself.Resolution<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } 1) If the issue is caused by requesting too much data, you will need to limit the number of records returned or the number or fields for each record. 2) If the issue is a specific ACL you can look up that ACL by its sys_id mentioned in the logs and review its condition and script for possible performance improvements.