Lesson 13: Performance Monitoring
Part 5: Performance Monitoring and
Performance issues fall into two broad categories:
- Overall performance is slow The whole site is slow, and you cannot identify a particular process for which the slowdown occurs.
- Some process works slowly The site works slowly when a user is working with particular forms or executing specific actions. Please find here Troubleshooting Performance a detailed description of the steps to resolve performance issues on the client side and, if necessary, to gather information to provide it to the Acumatica support team. To monitor the state of your Acumatica ERP server at any given moment, you can use the following profilers and related tools, each of which is described in the corresponding topic:
- Acumatica ERP request profiler: A tool for monitoring the performance of requests in Acumatica ERP
- Acumatica ERP SQL profiler: A tool for monitoring the performance of SQL queries
- Acumatica ERP running processes: A form for monitoring batch processing operations
- SQL Server profiler: A tool for tracing SQL queries
- Browser profilers: Tools for monitoring requests, catching JavaScript errors, and obtaining network timing data
- Stack trace snapshot: A method for investigating website-related issues | Step 13.1: Viewing and Aborting a Running Process | 167
Step 13.1: Viewing and Aborting a Running Process Acumatica ERP provides the system administrators with the way of finding out who is running which processes and for how long. The Running Processes form (SM201530), shown in the screenshot below, allows you to monitor any long running processes in the system.
Figure: Running Processes
Whenever any time consuming process is started in Acumatica ERP, for example the process of creating a company snapshot, updates installation process, or customization publication process, you can see it in the Running Processes form. On the Running Processes form, you can also monitor all batch processing operations that are currently being performed in the system, such as the release of multiple transactions at once, preparation of dunning letters, generation of a report, creation of a company snapshot, or use of an import or export scenario. Your server may be slow because of a large number of such operations running simultaneously. By default, you are displayed the processes started by you. Selecting the Show All Users check box will result in displaying all processes started by all system users. As an administrator, you (and other users with sufficient privileges) can abort it. You can also drill into the specific process by selecting it in the grid and clicking View Screen on the form toolbar. In this step, you will create a snapshot—that is start a process that usually takes a few minutes, and then abort it. Perform the following instructions:
- Launch the AcumaticaERP application instance by clicking Start > Acumatica > AcumaticaS100.
- On the site welcome page, login with the admin username and the 123 password to Company.
- Navigate to the Companies form (SM203520; System > Management > Manage).
- In the Company ID box, leave the default value.
- On the form toolbar, click Create Snapshot and in the warning dialog, click OK. This opens the Create Snapshot dialog box, that also displays the currently selected source company.
- In the Description box of the dialog, type Test.
- In the Export Mode, leave Full.
- Select the Prepare for Export check box.
- In the Export Format, leave Binary, as shown in the following screenshot.
| Step 13.1: Viewing and Aborting a Running Process | 168
Figure: Specifying snapshot parameters - Click OK. This starts the process of creating a snapshot. Depending on the volume of data entered for the company, the process may take a significant amount of time.
- Navigate to the Running Processes form (SM201530; System > Automation > Explore).
If you are quick, you can see the snapshot creation process displayed in the list of currently
running processes, as shown in the following screenshot. For each running process, you can see
the user who has started the process, and the screen from where this process has been started.
The Time column shows for how long this process has been running so far.
Figure: Running Processes - On the form toolbar, click Abort. This stops the selected (and the only) running process. | Step 13.2: Using the Request Profiler | 169
Step 13.2: Using the Request Profiler Acumatica ERP provides the system administrators with an embedded tool you can use to troubleshoot performance-related issues in the system. The Request Profiler form (SM205070), shown in the screenshot below, allows you to monitor the performance ofAcumatica ERP and find out which requests are taking too much time. By using the filters on the form, you can identify the periods of slow performance and isolate its root cause.
Figure: Request Profiler
For a simple operation (such as opening a screen, adding a new record, or deleting a record), the standard duration of the execution of the request on the server (server time) is about 500 milliseconds. You can use the Request Profiler:
- To monitor the time and memory needed for any URL request performed in Acumatica ERP.
- To analyze the time needed for any SQL request of selected URL request.
- To manage running threads of Acumatica ERP.
- To manage the memory used by Acumatica ERP. The Request Profiler form allows you to select the records that the profiler will include in the log:
- URL: any substring that must be present in the URL for the profiler to record requests.
- user name: a substring that must be present in the user name for the profiler to record requests.
- server time threshold.
- the SQL count threshold above which the profiler starts recording the requests.
The table below lists the information incluided to the log.
Request Profiler Log
Column Description Request Start Time Date and time of the URL request start. | Step 13.2: Using the Request Profiler | 170
Column Description
User Name The name of the user who performed the URL request. URL The URL of the request. Click this URL to open the Acumatica ERP form specified in the URL.
Command Target The identifier of the control that created the URL
request.
Command Name The type of command that created the URL
request.
Client Time The duration of the request execution in a browser
on the client side (in milliseconds), if displayed.
Server Time, ms The aggregate duration of the URL request execution on the server (in milliseconds). SQL Time, ms The aggregate duration of execution of all the SQL requests in the URL request (in milliseconds). Server CPU, ms The aggregate duration of CPU usage during the URL request (in milliseconds).
SQL Count The count of the SQL requests to the database
in the URL request. This count is the difference
between the total number of the SQL requests in
the URL request and the number of requests to
the cache.
Memory Before The memory volume used by Acumatica ERP at
the start time of the URL request.
Headers The GUID (or the identifier) of the server (or cluster node in the cluster mode) that executed the URL request.
Peak Memory The maximum excess of the memory volume used
by Acumatica ERP during the execution of the URL
request above the memory volume at the start
time of the URL request (see the Memory Before
column).
The peak memory value depends on other
processes performed on the machine in the
same period of time.
Select Count The count of Select requests in the URL request. Select Time, ms The aggregate duration of Select requests in the URL request. Session Load Time, ms The aggregate duration of session server usage for data loading while the URL request (in milliseconds). Session Save Time, ms The aggregate duration of session server usage for data saving while the URL request (in milliseconds).
You can also monitor exceptions by using the Request Profiler form. To activate this functionality, select
the Log Trace Messages check box (for documented exceptions) and the Log Exceptions check box (for
undocumented exceptions). To view exceptions that occurred during the execution of a request, select the
request in the table and click Trace on the table toolbar.
In this step, you will start and stop the Request Profiler. | Step 13.2: Using the Request Profiler | 171
Perform the following instructions:
- Launch the AcumaticaERP application instance by clicking Start > Acumatica > AcumaticaS100.
- On the site welcome page, login with the admin username and the 123 password to Company.
- Navigate to the Request Profiler form (SM205070; System > Management > Process), as shown
in the screenshot below.
Figure: Request Profiler - Select the Log SQL Requests check box.
- On the form toolbar, click Start to monitor all URL requests.
- Navigate to any other system forms. Just open any forms of the Organization, Finance, Distribution suites.
- Return back to the Request Profiler form (SM205070).
- Verify that the system displays all the form command requests and the amount of time each
request took to complete. The example is shown in the screenshot below.
| Step 13.2: Using the Request Profiler | 172
Figure: Request Profiler displaying records - Clear the Log SQL Requests check box. We recommend that you activate the Log SQL Requests mode for only a limited period because it can degrade system performance.
- On the form toolbar, click Stop.
- On the form toolbar, click Clear Log to erase the statistics.
Related Links
Request Profiler
| Additional Information | 173