Salto for
NetSuite
Articles
SHARE
Sonny Spencer, BFP, ACA
November 10, 2022
6
min read
About Salto: Salto helps you and your team deploy, track, and manage your NetSuite customizations effortlessly. Learn more here.
Like any platform, NetSuite can sometimes run slow. As a NetSuite administrator or developer, it can be challenging to determine the root cause of this slowness when your end users turn to you for help. It can also be frustrating for the end user who does not receive an informative response as to why the system is running so slow.
For a quick, high-level investigation, you can double click on the “Oracle NetSuite” text (top left of screen) after a page loads, is edited, or saves to get additional insight into the time taken to execute the page load or save.
After a page loads, you will receive some limited information. Here is an example:
After a page is edited/saved, you will receive some additional insight. Here is an example:
Let’s break down what each of these “Performance Details” represents to help investigate the root cause of the slowness issue for the end user.
Total – As expected, shows the total time to save the record.
Server – Total time taken to obtain information from the NetSuite server. Often the root cause of “NetSuite running slow”. Note this number includes both Server Suite Script and Server Workflow, resulting in the sum of %’s exceeding 100%.
Server Suite Script – Time taken processing server-side suite scripts. Expect this to be more significant if you have custom user event scripts.
Server Workflow – Time taken processing server-side workflows. Expect this to be more significant if you have custom workflows.
Network – Time taken for record update to reach the end user’s device. If this is significantly high, the end user is likely having internet connectivity issues.
Client – Time taken for record page to render on the end user’s device.
If you are looking for a better way to determine the root cause of these pain points, keep reading.
In the past, you’ve been able to install the NetSuite APM bundle via SuiteBundler by searching for bundle ID 67350 “Application Performance Management”. However, effective March 7, 2023, the ability to download NetSuite APM from SuiteBundler will be removed. As such, it is recommended that you instead install from the SuiteApp Marketplace.
Navigate: Customization – SuiteCloud Development – SuiteApp Marketplace – Type “APM” in the search bar – Click on “Application Performance Management (APM)” tile - Install
Now that you have NetSuite APM installed in your NetSuite environment, it is time to investigate the system performance at a more granular level.
A good place to start is by reviewing the Performance Health Dashboard.
Navigate: Customization – Performance – Performance Health Dashboard
Under each of these tiles, NetSuite will report on different issue types, namely:
Errors – Issues tied to system errors
Performance Issues – Issues tied to performance slowness
Standards Update – Issues tied to NetSuite standards to be addressed
Another really useful part of the APM solution is the “Record Pages Monitor”. This will allow you to dig deeper into performance issues for specific record types as well as the operation performed on those records. For example, if the record type is “Sales Order” and the operation is “Save”, the response time seen in the monitor is the average response time for saving a sales order record within the selected time frame, up to the last 30 days.
After clicking on the tile for a specific record type/operation, a number of charts are generated that will provide additional information about the record response time.
When you drill down into a specific “Response Time” or “User Event and Workflow” reading in the charts provided, you will be taken to a page entitled “Page Time Summary” that provides a detailed breakdown of the response time, down to the specific script and workflow. Alternatively, you can navigate to this page directly in the NetSuite APM.
With this tool, a NetSuite administrator or developer has the ability to drill down into specific record types in combination with specific operations and identify performance issues resulting not only from the server, but also from specific suite scripts and workflows. Perhaps there is an issue with your NetSuite purchase order workflow or vendor bill workflow; this tool would identify any issue in a matter of seconds. In a highly customized NetSuite environment, performance issues will often stem from the implementation of multiple custom suite scripts and workflows on a record.
Now that you have the ability to drill down into specific records and operations to identify the root cause of slow response times, you can prioritize system performance improvements based upon records most utilized in the system with the highest response times.
The Record Pages Monitor will quickly tell you which records are the most utilized and display the response time for each. Drill down into the highest response time to identify the root cause. Likely there will be multiple scripts and/or workflows executing on this record, and you will be able to easily identify which of these are having the most significant impact to the response time.
These are the custom suite scripts and workflows to pay closer attention to. Are these custom developments still required? Can any of them be consolidated to achieve better performance? Can the code be rewritten in a more optimal way?
Implementing the NetSuite Application Performance Management SuiteApp is a great way to troubleshoot and monitor system performance. Now when an end user mentions that “NetSuite is running slow”, you will be able to tell them exactly why that particular record/operation is running slow.
In all NetSuite environments, but especially more mature ones, system performance should be considered in every new development project. Once the development is ready for testing, you can validate the impact to system performance via the Page Time Summary and share with the requestor of the development. As such, it is recommended that the NetSuite APM is installed in all environments, such as your NetSuite sandbox account, to ensure the system performance impact is captured prior to migrating custom NetSuite development to production.
If you are struggling with migrating custom NetSuite development to production today, consider leveraging a tool such as Salto that will deploy the required changes smoothly between NetSuite environments.
Salto Suite Tip: Additional information on the NetSuite Application Performance Management (APM) SuiteApp can be found here.
Salto for
NetSuite
NetSuite
SHARE
Sonny Spencer, BFP, ACA
November 10, 2022
6
min read
About Salto: Salto helps you and your team deploy, track, and manage your NetSuite customizations effortlessly. Learn more here.
Like any platform, NetSuite can sometimes run slow. As a NetSuite administrator or developer, it can be challenging to determine the root cause of this slowness when your end users turn to you for help. It can also be frustrating for the end user who does not receive an informative response as to why the system is running so slow.
For a quick, high-level investigation, you can double click on the “Oracle NetSuite” text (top left of screen) after a page loads, is edited, or saves to get additional insight into the time taken to execute the page load or save.
After a page loads, you will receive some limited information. Here is an example:
After a page is edited/saved, you will receive some additional insight. Here is an example:
Let’s break down what each of these “Performance Details” represents to help investigate the root cause of the slowness issue for the end user.
Total – As expected, shows the total time to save the record.
Server – Total time taken to obtain information from the NetSuite server. Often the root cause of “NetSuite running slow”. Note this number includes both Server Suite Script and Server Workflow, resulting in the sum of %’s exceeding 100%.
Server Suite Script – Time taken processing server-side suite scripts. Expect this to be more significant if you have custom user event scripts.
Server Workflow – Time taken processing server-side workflows. Expect this to be more significant if you have custom workflows.
Network – Time taken for record update to reach the end user’s device. If this is significantly high, the end user is likely having internet connectivity issues.
Client – Time taken for record page to render on the end user’s device.
If you are looking for a better way to determine the root cause of these pain points, keep reading.
In the past, you’ve been able to install the NetSuite APM bundle via SuiteBundler by searching for bundle ID 67350 “Application Performance Management”. However, effective March 7, 2023, the ability to download NetSuite APM from SuiteBundler will be removed. As such, it is recommended that you instead install from the SuiteApp Marketplace.
Navigate: Customization – SuiteCloud Development – SuiteApp Marketplace – Type “APM” in the search bar – Click on “Application Performance Management (APM)” tile - Install
Now that you have NetSuite APM installed in your NetSuite environment, it is time to investigate the system performance at a more granular level.
A good place to start is by reviewing the Performance Health Dashboard.
Navigate: Customization – Performance – Performance Health Dashboard
Under each of these tiles, NetSuite will report on different issue types, namely:
Errors – Issues tied to system errors
Performance Issues – Issues tied to performance slowness
Standards Update – Issues tied to NetSuite standards to be addressed
Another really useful part of the APM solution is the “Record Pages Monitor”. This will allow you to dig deeper into performance issues for specific record types as well as the operation performed on those records. For example, if the record type is “Sales Order” and the operation is “Save”, the response time seen in the monitor is the average response time for saving a sales order record within the selected time frame, up to the last 30 days.
After clicking on the tile for a specific record type/operation, a number of charts are generated that will provide additional information about the record response time.
When you drill down into a specific “Response Time” or “User Event and Workflow” reading in the charts provided, you will be taken to a page entitled “Page Time Summary” that provides a detailed breakdown of the response time, down to the specific script and workflow. Alternatively, you can navigate to this page directly in the NetSuite APM.
With this tool, a NetSuite administrator or developer has the ability to drill down into specific record types in combination with specific operations and identify performance issues resulting not only from the server, but also from specific suite scripts and workflows. Perhaps there is an issue with your NetSuite purchase order workflow or vendor bill workflow; this tool would identify any issue in a matter of seconds. In a highly customized NetSuite environment, performance issues will often stem from the implementation of multiple custom suite scripts and workflows on a record.
Now that you have the ability to drill down into specific records and operations to identify the root cause of slow response times, you can prioritize system performance improvements based upon records most utilized in the system with the highest response times.
The Record Pages Monitor will quickly tell you which records are the most utilized and display the response time for each. Drill down into the highest response time to identify the root cause. Likely there will be multiple scripts and/or workflows executing on this record, and you will be able to easily identify which of these are having the most significant impact to the response time.
These are the custom suite scripts and workflows to pay closer attention to. Are these custom developments still required? Can any of them be consolidated to achieve better performance? Can the code be rewritten in a more optimal way?
Implementing the NetSuite Application Performance Management SuiteApp is a great way to troubleshoot and monitor system performance. Now when an end user mentions that “NetSuite is running slow”, you will be able to tell them exactly why that particular record/operation is running slow.
In all NetSuite environments, but especially more mature ones, system performance should be considered in every new development project. Once the development is ready for testing, you can validate the impact to system performance via the Page Time Summary and share with the requestor of the development. As such, it is recommended that the NetSuite APM is installed in all environments, such as your NetSuite sandbox account, to ensure the system performance impact is captured prior to migrating custom NetSuite development to production.
If you are struggling with migrating custom NetSuite development to production today, consider leveraging a tool such as Salto that will deploy the required changes smoothly between NetSuite environments.
Salto Suite Tip: Additional information on the NetSuite Application Performance Management (APM) SuiteApp can be found here.