Scan Engine definitions: Performance

  • リリースバージョン: Australia
  • 更新日 2026年03月12日
  • 所要時間:40分
  • Scan Engine performance definitions measure the efficiency of a ServiceNow instance, encompassing aspects such as speed, responsiveness, resource utilization, and overall dependability.

    Australia definitions

    The following performance definitions have been added for the Australia 2026 release:

    表 : 1. Performance Scan Engine definitions
    Number Active Level of Finding Unique ServiceNow Product Short Description Business Impact Steps to Resolve Supporting Documentation
    sn_SE10001 1 Recommend onChange Client Scripts should check for isLoading and return User satisfaction can be reduced by performance issues if code in onChange scripts unnecessarily takes up browser time Add a condition as in "if (isLoading) return;" as the first statement of the onChange function to check for isLoading and return. Documentation
    sn_SE10003 1 Act Auto complete wait time is above maximum limit. Users may experience performance impacts. Adjust the system property glide.xmlhttp.ac_wait_time to be under the recommended threshold. Documentation
    sn_SE10006 1 Act Import Set Deleter job should be set to active Integrations could suddenly stop working causing downtime to business processes. Set the Active flag to true on the Import Set Deleter Scheduled Script Execution. Documentation
    sn_SE10009 1 Act Before Business Rules should not modify records on other tables Increased maintenance as other developers that develop on the system need to understand why the before business rule is updating other records. If the business rule should insert/update a record from another table then the business rule should be changed to run after the database operation. Set the value of When to either after or async. Documentation
    sn_SE10010 1 Act Client Scripts should not be defined on the Global table Users could experience performance impacts. Consider moving this client script to a base table. Documentation
    sn_SE10011 1 Act The "Go To" search should not default to using the "contains" operator Users could experience performance impacts. Set the value of glide.ui.goto_use_contains to false or delete it. Documentation
    sn_SE10012 1 Act Business Rules should not be defined on the Global table Users could experience performance impacts. Create a script include to hold the functionality of the global business rule. Documentation
    sn_SE10013 1 Act Client-side code should not use GlideRecord Users could experience performance impacts. Convert any uses of GlideRecord to an asynchronous ajax call. If the client script is onSubmit then use a synchronous ajax call. Documentation
    sn_SE10014 1 Act SLA logging level should be set to "notice" Users could experience performance impacts as a result of all the activity on the DB from the logging. Set the value to "notice" if there isn't any need for detailed log messages on SLAs. Documentation
    sn_SE10016 1 Recommend Transform Maps generally do not need "Run business rules" enabled. Users could experience performance impacts. deselect the Run Business Rules checkbox if business rules do not need to be run. Documentation
    sn_SE10017 1 Act "Update on Iterate" system property should be set to false Business logic could be run without the user's knowledge. Further, this may result in inaccurate data. Set the value to "false". Documentation
    sn_SE10018 1 Act JDBC Data Sources should have the "Use last run datetime" option checked The additional records being processed on every import could add unnecessary strain to the instance and impact other processes. Ensure that each import is not importing all records every time by using the Use Last Run Datetime option. If you are running a JDBC import, use the last run datetime option in your import set Data Source. For a type of File import, be sure that whatever is generating your files is only adding data that is new, or has been changed. Documentation
    sn_SE10019 1 Act Client side code should not use g_form.getReference() g_form.getReference() has a high performance impact, since this method retrieves all fields in the requested GlideRecord when most cases only require one field. Use AJAX calls to make trips to the server and only return the field values that are required. Documentation
    sn_SE10020 1 Act Client side code shouldn't use sync AJAX methods (with the exception of an onSubmit client script) Users could experience performance impacts. Use asynchronous AJAX calls (getXML()) to make a trip to the server. Documentation
    sn_SE10025 1 Act List views should not allow users to display more than 100 records. Additional impact to database server which may impact other processes. Reset the value of the system property to be 100 (or whatever the standard defined in the scan engine definition is set to). Documentation
    sn_SE10027 1 Act Scripts shouldn't use SOAP getResponse() User may experience a timeout waiting for the SOAP response. This will prevent the user from doing any other work. If possible consider passing true to the post() method to make the SOAP request asynchronous. Then process the response through the ECC queue. Documentation
    sn_SE10031 1 Recommend GlideAggregate should be used in place of GlideRecord's getRowCount() Additional impact to database server which may impact other processes. If the only purpose of the GlideRecord query is to return a record count, then using GlideAggregate is more efficient. If the data returned from the GlideRecord query will also be processed, then using getRowCount() is ok as that is more efficient than doing both a GlideAggregate and a GlideRecord. Documentation
    sn_SE10032 1 Recommend Server side code should not contain unnecessary logging statements Additional impact to database server which may impact other processes. Remove any logging/debugging statements from code unless these will be beneficial to have in production. Documentation
    sn_SE10033 1 Act gs.setProperty() shouldn't be called within scripts Other applications may experience performance impacts. Create a new table (and/or use an existing custom table) that will allow the script to update the value without modifying sys_properties within your scripts. Documentation
    sn_SE10035 1 Recommend Client side code should not contain the console.log() debugging method in production The client-side function console.log could cause errors in certain browser versions. Furthermore, there is a good chance that what's being logged is information you would not want publicly exposed, and that persons with malicious intent could manipulate the script to reflect PII. It is never a good idea to go to production with console logging enabled. Typically debugging isn't needed in production without a reason for it. At minimum, have a property that controls the debugging so it can be easily turned off or on. If using UI16, replace console.log() calls with jslog. The benefits of jslog are that you have to open the JavaScript Debugger Window to view the output, it is compatible with all browsers, and can be left in production since only administrators can open the window. Prior to code promotion to production, console.log statements should be commented out or removed entirely due to security considerations. Documentation
    sn_SE10037 1 Act Transform Maps should have coalesced fields indexed Additional impact to database server which may impact other processes. Create an index for the coalesced fields. Documentation
    sn_SE10041 1 Act Limit system logs generated to 50k per day Performance could be impacted and/or the possibility of actual errors occurring. Resolve any errors that are occurring in the Logs. Consider reducing the amount of logging messages being generated from scripts. Documentation
    sn_SE10042 1 Suggest UI Policies that make fields read only should be converted to ACLs Performance could be impacted. Consider converting the UI Policy Action (that's sole purpose to make a field read only without a reverse if false condition) into an ACL. Documentation
    sn_SE10047 1 Recommend Rows Per Page preference should default to 20 for new users Users could experience performance impacts. Reset the value back to 20. Documentation
    sn_SE10052 1 Recommend Avoid Dot-Walking to the sys_id of a Reference Field Additional impact to database server which may impact other processes. Use the getValue function on the deepest dot-walked reference field to get the sys_id value of the referenced record. Example: (Bad: current.caller_id.sys_id) - (Good: current.getValue(caller_id)). Documentation
    sn_SE10084 1 Act Enable the Client Transactions Timings plugin Any performance issues will be difficult to track down without detailed system logs. Activate the plugin. Documentation
    sn_SE10088 1 Suggest Lookup variable is selecting unique values against a 'large' table This could impact the end user experience as well as performance. Consider using another way to only display unique records. Maybe add a flag to the large table to indicate which values are unique. Create another table altogether and select all values from this table. Documentation
    sn_SE10092 1 Act LDAP Server definition should limit attributes retrieved Inefficient LDAP import. Exposing sensitive data. Specify the specific attributes that need to be imported in the Attributes field. The Attributes may need to be added to the LDAP Server form layout. Documentation
    sn_SE10094 1 Act Limit errors within the system log errors to 200 per day. User experience, data quality, or performance may be negatively impacted. Resolve any errors that are occurring in the Logs. Documentation
    sn_SE10095 1 Act Disable debugging in production Users may see performance issues in production. Set all debugging properties to false in production. Documentation
    sn_SE10096 1 Act Client Scripts shouldn't have an empty script field Client side performance will be negatively impacted. Inactivate or delete the client script with no script. Documentation
    sn_SE10099 1 Act Default related lists to load after the form loads Improved user efficiency. Users are able to save a few seconds by being able to start working on a ticket while the related lists load in the background. Add a record to the User Preference table where the User is null and the value is either deferred or ondemand. This will set the default behavior for all users to determine when related lists are loaded. deferred - Load the related list asynchronously after the form has finished loading. ondemand - Load the related list only when the user requests specifically clicks the Load Related Lists UI Action. Documentation
    sn_SE10119 1 Suggest Mid Server Clusters should be used to balance the load Configuration data may not be updated as discovery may not be running correctly. Create a new Mid Server Cluster and associate any relevant the Mid Servers to the cluster. Documentation
    sn_SE10120 1 Suggest Max Queue Size on Mid Server is greater than default value This could lead to scans running into high peak business times resulting in poor user experience. Set the value on this Configuration Parameter to 500 (the default value). Documentation
    sn_SE10125 1 Act Before/After/Async business rules should not call current.update() to prevent recursion Users could experience slow response times based on the constant processing. Move the logic to a before business rule and remove current.update(). Documentation
    sn_SE10126 1 Recommend Display business rules should not modify data Data may be inaccurate until a user opens the form. Remove any logic that results in records being modified. Documentation
    sn_SE10128 1 Suggest Database Rotation plugin should be enabled Users may begin to experience performance issues. Activate the Database Rotation and Database Rotation with Default Tables plugins. Documentation
    sn_SE10129 1 Recommend Auto-complete searches using 'contains' should be overridden to use 'startswith' Users could experience performance impacts. Update or insert the glide.ui.ref_ac.startswith and set the value to true. Documentation
    sn_SE10132 1 Act Remove unused inactivity monitors Minor performance impacts to users. Delete the unused inactivity monitor. Documentation
    sn_SE10133 1 Act Workflows should not use current.update() Unnecessary processing resulting in a slower instance. Remove current.update() from all workflow activities. Documentation
    sn_SE10134 1 Act Avoid using gs.sleep on any of the workflow activities Performance could be severely impacted as all worker threads could be consumed by unnecessary workflow activities. Replace gs.sleep with a timer activity. Documentation
    sn_SE10141 1 Suggest Review Slow Scripts that take over 2 mins to execute and have been run over 100 times Slow performance could impact the user experience. The instance detects scripts that take a long time to execute and records them in the sys_script_pattern table. You can access the table by navigating to System Diagnosis > Stats > Slow Scripts. These should be evaluated for potential cause, and optimizations made as appropriate. Documentation
    sn_SE10217 1 Recommend Mid Server Cluster members must not be on the same host MID Servers on the same host will compete for resources and have a common point of failure if the host machine encounters an issue. Pull MIDs from same host out of the cluster. Documentation
    sn_SE10218 1 Suggest Use Cluster or Auto for MID Server Selection An individual MID Server may be under-utilized, becoming less cost-effective. An individual MID Server may be over-utilized, reducing performance and resulting in failed jobs and incomplete data. Change discovery schedule MID Server selection method to Specific MID cluster or Auto-Select MID Server. Documentation
    sn_SE10219 1 Suggest Discovery Schedules should be location-based Discovery jobs spread across locations take longer to complete and process. Additionally, traversing long network routes can degrade performance. Add a location on the discovery schedule. Documentation
    sn_SE10221 1 Suggest Discovery Schedules need a Max run time Long running jobs cause performance issues. Add a value greater than 0 to the Max run time field. Documentation
    sn_SE10224 1 Suggest Phases should be named "1" May cause discovery behavior to malfunction Rename phase to "1". Documentation
    sn_SE10238 1 Suggest Discovery schedules should be staggered Failing jobs prevent complete capture of discovery data Set discovery schedules utilizing the same mid server(s) to start at different times. Documentation
    sn_SE10240 1 Suggest MID Server Clusters should consist of more than 1 member MID Server Clusters with only one host will not be as effective, or efficient at processing jobs Add additional MIDs to the cluster. Documentation
    sn_SE10251 1 Recommend Avoid the use of global UI Scripts Users may experience slow performance on forms. Determine if this UI Script needs to be global and takes steps to make it local by unchecking the global flag on the UI Script and updating the appropriate code to make a call to the local UI Script. Documentation
    sn_SE10253 1 Suggest Index Suggestions should be reviewed to see if performance can be improved Users may experience slow reporting/filtering. Review the suggested index recommendation to determine if acting on the recommendation will improve performance. Documentation
    sn_SE10255 1 Recommend Calculated Fields should not call GlideRecord or GlideAggregate High performance impacts which may result in long loading times. Consider using a function field or a business rule to replace the calculation. The business rule can perform the calculation when the record is updated. Documentation
    sn_SE10256 1 Suggest Calculated Fields should not call script includes High performance impacts which may result in long loading times. Consider using a function or business rule to replace the calculation. The business rule can perform the calculation when the record is updated. Documentation
    sn_SE10258 1 Suggest Users should not be allowed to load more than 100 records in a list view. The performance impact may result in a poor user experience. Set the default rows per page back to 100 for each user who has changed it. Documentation
    sn_SE10259 1 Recommend Read ACLs should not have GlideRecord/GlideAggregate in script High performance impacts which may result in long loading times. Remove the use of GlideRecord and GlideAggregate for a read ACL. Consider another approach that won't have this much of a performance impact. Documentation
    sn_SE10263 1 Recommend System property glide.businessrule.callstack should be set to false Performance will be impacted resulting in a slower platform. Remove the property or set it to false. Documentation
    sn_SE10276 1 Suggest SOAP Timeout Value should not be greater than 20 minutes An integration could be interrupted causing data quality issues. Determine a more appropriate timeout value between and 5 seconds and 20 minutes. Documentation
    sn_SE10289 1 Act System does not support LDAP password authentication through a MID Server Large amounts of logging may result in system performance issues. The Authentication flag should be set to false when the LDAP Server is using a mid server. Documentation
    sn_SE10293 1 Suggest Export limit property glide.ui.export.limit not set as per OOB Having an export limit above 10,000 can create widespread performance issues on the instance. Consider deleting the glide.ui.export.limit sys_property record. This will result in using the platform's hardcoded value of 10,000 records when exporting xml, csv, xlsx, excel, or json records. Be aware that the glide.xml.export.limit, glide.csv.export.limit, glide.xlsx.export.limit, glide.excel.export.limit, glide.json.export.limit system properties will take precedence over the glide.ui.export.limit. Note: discuss with your team before updating this property as this may impact users exporting reports. Documentation
    sn_SE10298 1 Suggest No glide.canvas.grid.widget_performance_threshold value set. Potential for slow dashboard loads. glide.canvas.grid.widget_performance_threshold should be set to a value that defines the maximum number of seconds for a widget to render on a dashboard. Consider a value that is a reasonable time for a widget to render so that slow-performing widgets do not break an entire dashboard. Documentation
    sn_SE10418 1 Recommend Do Not Create Reference/List Fields on Import Tables May result in broken references and also loss of data select a non-import table for the reference or list field to utilize. Documentation
    sn_SE10489 1 Suggest Pattern Sizes set below the minimum pattern size Performance may be impacted with pattern sizes set below the default value. Set the system property glide.edge.pattern.min.size the default value of 5. api/now/v1/context_doc_url/CSHelp:installed-with-edge-encryption
    sn_SE10513 1 Act Check for scheduled imports running at the same time. Performance may be impacted significantly. Review scheduled imports to determine if any are scheduled for the same time. If so, update the time of one so that it does not coincide with the other. Documentation
    sn_SE10526 1 Recommend Reports with long execution times User could be waiting for an extended period of time for reports to run. Check filter conditions and turn on SQL for debug assistance to ensure that execution times are optimized. Documentation
    sn_SE10529 1 Recommend Automated indicators should be associated with a collection job Data which appears in dashboards will not be current and could cause incorrect trend analysis. Open an existing automated indicator, edit the jobs related list and select the collections or jobs you want to assign, use the arrows to move the jobs to the other list and select save. Documentation
    sn_SE10536 1 Act ACL Scripts executing when they shouldn't This can have serious impacts on performance and stability. It can also cause unexpected behavior. Check the Advanced checkbox on ACLs if you would like to display the script, or ensure that the script field is empty if you would not like it to run. In most cases a script field should at least confirm that the user is logged in. Documentation
    sn_SE10548 1 Act Do not query the audit log in your custom integrations and code. The performance overhead to query from the sys_audit table is very large and will negatively affect the instance. Remove queries to the audit log. Documentation
    sn_SE10559 1 Act Avoid Dynamic JEXL Expressions in an Evaluate While the code appears to work, it affects a memory resource (called PermGen) in the Java Virtual Machine, which can lead to performance issues and even system outages over time. Use Jelly variables inside g:evaluate tags is to include the attribute jelly="true", then reference a copy of the variable with the jelly. prefix. Documentation
    sn_SE10567 1 Act Use AngularJS services rather than window objects. Direct use of window objects creates tightly-coupled code that cannot be properly unit tested or mocked, leading to reduced code quality and reliability. This increases maintenance costs, makes defects harder to detect before production, and can result in unexpected runtime errors that are difficult to diagnose and resolve. Code that cannot be adequately tested has higher risk of introducing bugs during future modifications or upgrades. Replace all uses of window methods with native AngularJS services where possible. Use the following services rather than the window object: $document rather than window.document $interval rather than window.setInterval $location rather than window.location $timeout rather than window.setTimeout $window rather than window The relevant service will need to be injected into the client controller. Documentation
    sn_SE10568 1 Suggest Use one-way AngularJS bindings rather than 2-way {​{options.myVar}} for non-dynamic option variables Performance is affected when a one-way binding is made 2-way. change "{​{options.my Var}}" to "{​{::options.myVar}}". Documentation
    sn_SE10571 1 Act Query Business Rules on HR core tables Performance could be severely impacted by additional query business rules within the HR core tables Avoid the addition of query business rules on HR core tables. Take advantage of other OOB functionalities such as ACLs, roles, or domain separation. ACLs are the preferred method of controlling access to HR datasince these can be cached. Documentation
    sn_SE10574 1 Review Use UI Policies Instead of Client Scripts The performance will be impacted Create UI Policies to replace Client Scripts when possible. Consider UI Policies if the client scripts are being used to set fields to mandatory/optional, set fields to visible/invisible, or set fields to enabled/disabled. Documentation
    sn_SE10577 1 Recommend Scheduled collection job with high average execution time A high average execution time would affect the performance and cause lags Ensure that your database tables are properly indexed for the job's queries. Indexing can significantly speed up data retrieval. Documentation
    sn_SE10582 1 Recommend Use the condition field in Business Rules Performance is affected when conditions are defined in the script rather than the condition builder. Remove the condition from the script and add it to the condition field. Documentation
    sn_SE10595 1 Act Performance Analytics Automated Indicators should have valid conditions The data collected will be invalid, which would skew the results. Fix the broken condition in the automated indicator. Documentation
    sn_SE10612 1 Suggest Remove unused services from client controller. Unused services serve no purpose within the script and may affect performance. Review and remove services that are not used within the widget. Documentation