Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
10
Revision: June 25, 2014 2:34 a.m.
Total pages: 70
sys.ditaval
Performance Tuning Guide Contents
Contents
Introduction............................................................................................................................5
Purpose of this Guide.......................................................................................................................................5
Intended Audience...........................................................................................................................................5
How it is Organized.........................................................................................................................................5
Performance Tuning Resources.............................................................................................7
Hardware Sizing Guide....................................................................................................................................7
Performance and Diagnostic Tool.....................................................................................................................7
VMWare Best Practices Guides.........................................................................................................................8
Common Patterns...................................................................................................................9
Frequent User Complaints................................................................................................................................9
Everything Is Slow............................................................................................................................................9
Sometimes Everything Is Slow..........................................................................................................................9
Specific Program Is Slow................................................................................................................................10
Reboot Corrects Poor Performance................................................................................................................10
Unable to Reproduce by Epicor Technical Support..........................................................................................10
Standard Metrics...................................................................................................................11
SAN (I/O) Test Utility............................................................................................................13
Run the SQLIO Utility (Standard Metric)..........................................................................................................13
Performance and Diagnostic Tool.......................................................................................15
Installation.....................................................................................................................................................15
Client Diagnostics..........................................................................................................................................16
Generate Client Logs..............................................................................................................................16
Analyze Client Logs................................................................................................................................17
Fields and Sheets....................................................................................................................................19
Client Tracing Log Options......................................................................................................................20
Scenarios................................................................................................................................................21
Send Client Logs to Epicor......................................................................................................................21
Configuration Check......................................................................................................................................22
Enter Configuration Check Settings........................................................................................................23
Analyze Configuration (Standard Metric)................................................................................................24
Network Diagnostics......................................................................................................................................25
Test Network Performance (Standard Metric)..........................................................................................25
Server Diagnostics..........................................................................................................................................26
Write Permission.....................................................................................................................................26
Server Log Size and Details.....................................................................................................................27
Generate Server Logs..............................................................................................................................29
Access Server Logs..................................................................................................................................31
Analyze Server Logs................................................................................................................................32
GetRowsKeepIdleTime Chart (Standard Metric).......................................................................................34
Fields......................................................................................................................................................36
Epicor ERP | 10 3
Contents Performance Tuning Guide
Scenarios................................................................................................................................................38
Additional Diagnostic Resources.........................................................................................39
Locking and Blocking.....................................................................................................................................39
Set up the sp_lock3.sql File.....................................................................................................................39
Configure the sp_lock3.sql File...............................................................................................................40
Create a SQL Job....................................................................................................................................40
Start the Locks Log.................................................................................................................................42
Review the Locks Log..............................................................................................................................42
Locking and Blocking Article...................................................................................................................43
Deadlock Tracing...........................................................................................................................................43
Deadlock Graph Setup............................................................................................................................43
Activate the SQL Deadlock Graph...........................................................................................................44
Stop the SQL Deadlock Graph.................................................................................................................44
Load Distribution..................................................................................................................46
Application Servers........................................................................................................................................46
Task Agents...................................................................................................................................................46
Create Task Agent Rules................................................................................................................................47
Application Tuning...............................................................................................................49
Application Troubleshooting..........................................................................................................................49
Client Cache..................................................................................................................................................49
Locate the Client Cache..........................................................................................................................50
Memory Cached Programs.............................................................................................................................50
Client Customizations....................................................................................................................................50
Order Entry Performance Tuning....................................................................................................................51
MRP Performance Tuning...............................................................................................................................52
BAQ Performance Tuning...............................................................................................................................54
BAQ Server Settings................................................................................................................................54
BAQ Best Practices..................................................................................................................................56
SQL Syntax Issues....................................................................................................................................57
Baseline Performance Tests.................................................................................................58
Test Setup......................................................................................................................................................58
Start the Test..........................................................................................................................................58
Test Procedure...............................................................................................................................................59
Activate the Trace Log............................................................................................................................59
Open Sales Order Entry Form.........................................................................................................................59
Test Form Performance Time...................................................................................................................59
Verify and Fix Performance Test..............................................................................................................61
Customer Retrieval (Standard Metric).............................................................................................................62
Run Customer Retrieval Test...................................................................................................................62
Sales Order Line Entry (Standard Metric).........................................................................................................63
Test Sales Order Detail Line Performance.................................................................................................63
Purchase Order Entry (Standard Metric)..........................................................................................................65
Test Purchase Order Detail Line Performance...........................................................................................65
Performance Tuning Strategy..............................................................................................67
4 Epicor ERP | 10
Performance Tuning Guide Introduction
Introduction
The Performance Tuning Guide contains information on how to evaluate the performance of your Epicor ERP
application. You can then determine what may be the cause(s) of poor performance and make changes as needed.
Use this guide to perform diagnostic tests to compare your system performance against Epicor ERP standard
metrics. You can follow these tests for your own evaluation. These tests are also used by Epicor consultants and
technical support, so you can review these results with Epicor and develop a performance improvement plan.
Important This version of the Performance Tuning Guide for use with Epicor ERP version 10.0 or later.
Intended Audience
The guide is intended for technical consultants, partners, and system administrators to help ensure the Epicor
ERP application performs as expected and to provide guidance on performance areas that should be addressed
before contacting Epicor consultants or Epicor Technical Support.
Individuals who perform all or some of these tasks will benefit from reviewing the Performance Tuning Guide.
How it is Organized
This guide explains how you can test the performance of your Epicor application.
The following are the main sections of this guide:
Performance Tuning Resources - Details the performance tuning resources available for use with Epicor
ERP. Review this section to learn more about each primary resource.
Common Patterns - Describes the common patterns of poor performance. Each pattern is described along
with suggestions for testing and potential solutions.
Standard Metrics - Epicor has established benchmark metrics for optimal performance. This section of the
guide contains a table that describes each benchmark metric and the tests you run to evaluate it.
SAN (I/O) Test Utility - You can use the SQLIO Utility to evaluate various parameters of an input/output
(I/O/) disk subsystem. Use this section of the guide to learn how to download and run this key Microsoft
utility.
Performance and Diagnostic Tool - Documents how you install and use the Performance and Diagnostic
Tool, the key program you will use to evaluate the performance of client and server installations. This section
documents how you activate the client logs and server logs for the Epicor application and then view them
within the Performance and Diagnostic Tool. It also describes the features, sheets, and fields available within
this tool.
Application Tuning - This section contains some application tips and techniques you can do inside the Epicor
application. You should only use the tips and techniques that match your use of the Epicor application.
Epicor ERP | 10 5
Introduction Performance Tuning Guide
Baseline Performance Tests - Provides detailed instructions for performing primary tests to measure how
well your installed system performs. Epicor recommends you run these tests after the application is setup and
configured to verify the Epicor application has optimal performance. You can also run these tests periodically
later on to make sure the application performance has not degraded.
6 Epicor ERP | 10
Performance Tuning Guide Performance Tuning Resources
Epicor representatives and customers can leverage some key resources to improve the efficiency of the Epicor
application and the systems on which it runs.
The Hardware Sizing Guide provides a practical approach to estimating the capacity you need for both the
Epicor ERP application and the database server.
The Hardware Sizing Guide matches the number of users against the database activity that occurs each day. It
next matches these two usage variables against a list of potential hardware configurations. You can then review
the various hardware and network items you could implement to improve application performance.
This guide also estimates the future load that may be required later as well. So even if the current network and
hardware configuration is adequate, you can still use this document to determine whether it makes sense to
upgrade the system now to prevent performance issues before they occur.
This document is intended as a tool to help identify potential system upgrades. Before making any significant
changes, Epicor representatives, network consultants, and customers should work together to determine the
best outcome. Epicor representatives and network consultants may also have further recommendations specific
to a customer organization that cannot be documented in this guide.
The Hardware Sizing Guide is available to download from EPICWeb:
https://epicweb.epicor.com/products/epicor-erp-10/downloads
Use the Performance and Diagnostic Tool to evaluate how the Epicor ERP application interacts with the system.
This important tool can identify changes that can potentially achieve significant performance results.
You run the Performance and Diagnostic Tool to analyze Epicor logs. These logs help measure performance on
both the client and server installations of the Epicor application. You use this tool to evaluate the following system
areas:
Client Performance
Server Performance
Network Execution Times
Server Execution Times
Client Configurations
The Performance and Diagnostic Tool is included with your Epicor ERP application. Review the Performance and
Diagnostic Tool section later in this guide for installation and configuration information.
Epicor ERP | 10 7
Performance Tuning Resources Performance Tuning Guide
Virtual environments provide flexibility and can scale up or down more easily than physical environments. Through
this design approach, you can clone machines and add them to the load balancing pool to accommodate changes
in usage patterns.
If you are implementing VMWare in your environment, be sure to review the performance tuning documents
released by VMWare. These .pdf guides contain the information you need to improve the performance of your
virtual environment.
http://www.vmware.com/files/pdf/solutions/SQL_Server_on_VMware-Best_Practices_Guide.pdf
http://www.vmware.com/pdf/Perf_Best_Practices_vSphere5.5.pdf
8 Epicor ERP | 10
Performance Tuning Guide Common Patterns
Common Patterns
This section describes some common patterns for poor performance and the causes for these patterns.
If you are experiencing any of these common patterns, be sure to use the Performance and Diagnostic Tool as
needed to analyze the situation. This tool is discussed later in this guide.
Some users frequently complain about a performance problem. They experience poor performance regularly, but
other users at this organization do not experience the same issues.
You can turn on the trace log for the whole day on the end-user client machine that has the performance problem.
You will most likely need to do this for several days to capture the required data. Be sure to also clear the trace
log file each day so you can better evaluate the results. Note if your trace log file expands too quickly, try to save
the trace log every two hours and start a new trace log.
When the end user notifies you that the Epicor application had poor performance during the current day, you
will have the trace data you need. Save the trace log for that day. If you needed to save multiple trace logs for
the same day, review all the trace logs.
If you are working with Epicor Technical Support, send the trace log (or multiple trace logs) to the consultant or
technical support representative helping you with the issue.
Everything Is Slow
Sometimes everything slows down, but other times the performance is fine.
This performance pattern could be caused by a number of reasons. Most likely, the slow performance occurs
because the Epicor ERP application was experiencing heavy data loading at that time. The other likely possibility
is that either a third party ODBC connection locked a record or the Epicor application has some other locking
issue. Review the Locking and Blocking and Deadlock Tracing sections later in this guide to identify and correct
locking issues.
Epicor ERP | 10 9
Common Patterns Performance Tuning Guide
Performance is slow on your server, but the Epicor test systems cannot reproduce the issue.
If Epicor Technical Support is unable to recreate the performance issue, consider the following:
Evaluate the differences in hardware. Your hardware sizing needs to be evaluated by you and an Epicor
consultant or Epicor Technical Support.
Different data items are used for testing, and so the performance test is not comparing similar conditions.
The poor performance occurred when the system was experiencing heavy data load, so the performance
issues were caused by this load.
10 Epicor ERP | 10
Performance Tuning Guide Standard Metrics
Standard Metrics
Epicor has developed a Standard Metrics table that identifies the benchmarks for optimal performance. Compare
these benchmarks against the customer system to locate areas of poor performance.
These performance benchmarks can identify key areas of improvement. Once these performance values are
determined, customers and Epicor representatives can investigate potential ways these performance values can
be tuned to achieve better results. This section first contains the Standard Metrics table and then a second example
table that illustrates a specific company's metrics compared against these standard metrics.
CPU Speed Tests the general speed of the application 400 milliseconds
server.
(Config Check)
GetRowsKeepIdleTime An overall system performance test. How fast 15 milliseconds average, low
does this common, static API method run over performance variability
(GetRowsKeepIdleTime
this infrastructure? This value can be compared throughout the day
Chart)
across many machines.
Network Test Impact of the network on the client experience. Server (Blue) < 0.5 seconds,
Network (Green) < 0.4 seconds
(Network Diagnostics)
Configuration Check Reviews the performance of the Epicor The Epicor application server
application server. passes the configuration tests
(Config Check)
Customer Retrieval Test This test measures database retrieval time by Observed time to move through
selecting and paging through customers. customers < 1 Second
(Baseline Test)
Sales Order Test This tests the performance of Sales Order Entry, Add 20 lines Sales Order < 72
a commonly used, important business function. seconds
(Baseline Test)
This test does not check customizations or
BPMs.
Purchase Order Test This tests the performance of Purchase Order Add 20 lines Purchase Order < 51
Entry, a commonly used, important business seconds
(Baseline Test)
function. This test does not check
customizations or BPMs.
The following sections describe how you test for these standard metrics.
Epicor ERP | 10 11
Standard Metrics Performance Tuning Guide
* The bold values indicate a performance metric value that exceeds the value of an Epicor standard metric.
12 Epicor ERP | 10
Performance Tuning Guide SAN (I/O) Test Utility
You can evaluate the efficiency of a Storage Area Network (SAN) by running a Microsoft subsystem benchmark
utility called SQLIO. Through this utility, you test your system against the Storage Disk I/O standard metric.
You use this utility to test various parameters of an input/output (I/O) disk subsystem like bandwidth
(megabytes/second), latency (milliseconds), block size performance (64KB), file size, and I/O type (read/write and
sequential against random). These parameters have a huge impact on I/O performance.
You download the SQLIO utility from Microsoft. After you install SQLIO, you define which drive the utility will
test. You then run a series of three tests through this utility.
The following steps describe how you install, set up, and test I/O disk subsystem performance.
3. Once the SQLIO utility is installed, navigate to the install path. Notice that several files installed with this
utility.
Important Review the readme and USINGSQLIO text files to learn how to set up and use the tool.
Before you run this utility, be sure to read this documentation.
5. Now define the specific drives against which you want to test the I/O performance.
Example C: \testfile.dat 2 0x0 80000
7. Launch the Windows Command Prompt by clicking Start > Run > CMD.
The command window displays.
Epicor ERP | 10 13
SAN (I/O) Test Utility Performance Tuning Guide
c. Test 3: TempDB
This test evaluates 64K random writes.
In the command prompt, enter the following phrase:
sqlio -kW -t8 s900 -o8 -frandom -b64 -BH -LS -Fparam.txt
Use the results of each test to evaluate how your disk I/O subsystem works in comparison to similar subsystems.
14 Epicor ERP | 10
Performance Tuning Guide Performance and Diagnostic Tool
Use the Performance and Diagnostic Tool to evaluate how the Epicor application performs through client, server,
and network tests. You also use this tool to evaluate the system configuration and download additional diagnostic
resources for use with SQL Profiler.
If you are experiencing performance issues, you should first contact either your Epicor consultant or Epicor
Technical Support. If the performance issue cannot be resolved through this initial contact, the technical support
representative or the consultant may recommend you use the Performance and Diagnostic Tool. This tool captures
performance information, and you can organize this information to receive meaningful metrics that relate to the
performance of your Epicor ERP application. You can also export these results to Microsoft Excel for additional
review and analysis.
Through the Performance and Diagnostic Tool, you can evaluate:
The performance of one client versus another client on the same system.
The performance of business object methods on both the client and the server.
Overall performance of the server and the network.
Performance of business objects in one system against the same business objects on other systems.
Performance of customizations, personalizations, Business Process Management (BPM) methods, and business
activity querys (BAQs).
The configuration of the Epicor ERP application.
Important The Performance and Diagnostic Tool released with Epicor ERP version 10 is only compatible
with the 10.0.600 version or higher. If you need to evaluate the performance of Epicor ERP 9.05 or earlier,
download the Performance and Diagnostic Tool released with the 9.05 version.
Installation
1. From Windows Explorer, navigate to the C:\Epicor installation folder. Expand the folder for your current
version and then open the Utilities\ICE3 Performance Diagnostic Tool folder.
Example C:\Epicor\ERP10\ERP10.0.700\Utilities\ICE3 Performance Diagnostic Tool
Epicor ERP | 10 15
Performance and Diagnostic Tool Performance Tuning Guide
6. Click Close.
7. You can now launch the Performance and Diagnostic Tool. Depending on your operating system, you launch
this tool in different ways:
a. If you are on Windows SQL Server 2008 R2 or Windows 7, click Start > All Programs > Epicor Software
> Epicor Administrative Tools > Epicor Performance and Diagnostic Tool.
b. If you are on Windows SQL Server 2012 or Windows 8, press the <Windows> + F button to display the
Charms bar; from the Apps screen, select Epicor Performance and Diagnostic Tool.
Client Diagnostics
You analyze the performance of client installations through client tracing logs. This section of the guide describes
how you set up these logs and analyze their results in the Performance and Diagnostic Tool.
You generate the client logs by activating the trace log in the Epicor application.
To generate a client trace log:
2. Click on the Settings button; from the General Options list, select Tracing Options.
The Tracing Options window displays.
4. Click OK.
5. Now return to the Home screen and launch some programs whose performance you want to measure. Add
new records, modify records, run processes, and so on.
The Trace Log records gathers performance data about each action you take within the Epicor application.
6. Return to the Home window; click the Settings button and select Tracing Options.
The Tracing Options window displays.
10. Click on the Client Trace Analysis option on the Plug-Ins pane.
The Client Trace Analysis interface displays.
16 Epicor ERP | 10
Performance Tuning Guide Performance and Diagnostic Tool
11. For the Client Trace File Path, either paste the path you copied from the Current Log File field or click the
Browse button to find and select client log file.
12. Optionally, select the Exclude System Calls check box to prevent system method calls from displaying with
diagnostic results.
The Performance and Diagnostic Tool will then not display values from the GetRowsKeepIdleTime business
object method. This method runs in the background while a current form is active, but it does not indicate
how long it takes other methods like Update, GetNew, and GetList to run. These method calls are generated
by user activity.
However if you are testing how the client interacts with the server when no user activity is taking place, you
will want to review the calls from the GetRowsKeepIdleTime method. In this case, do not select this option
so you can displays these calls in the client results.
13. Notice you can also change the Log File Date Format to select a date format used in a different locality
or enter your own Custom Format.
You can now analyze the trace log data within the Results and Summary sheets.
Use the features on the Performance and Diagnostic Tool to review the client results recorded on the trace log.
This topic explores the features available for analyzing the client logs.
The Results grid displays the main details gathered from each trace packet, while the Summary grid displays the
performance times required for each business object to run. To analyze a client trace log:
2. You can filter the log results based on values that populate each column. To do this, click on the Funnel
icon that displays on each column header:
Epicor ERP | 10 17
Performance and Diagnostic Tool Performance Tuning Guide
3. When you click on an icon, a drop-down list displays. Each drop-down list contains a series of default filter
options followed by specific values from the trace log:
All - The default filter, this option displays all the values for the column from the client tracing log.
Custom - Select this option to launch the Enter filter criteria for Type window. Use this window to
define both an Operator and an Operand to filter the results. You can define as many filter conditions
as you need, creating And/Or relationships between each custom filter.
Blank - Use this option to only display any empty rows available on the client trace log.
Nonblanks - Select this option to display all the populated rows on the selected client trace log.
Column Value - You can filter the results by selecting a specific value available in the column.
4. To help organize the results, use the Group By feature on the grid. Click and drag a column header (for
example, Object Name) to the Drag a column header here to group by that column area. You can drag
multiple column headers to further structure the results as you need.
Example If you group by using the Business Object column, the grid displays all the business objects
recorded on the client trace in alphabetical order.
5. You can review the following items on each business method call:
Type
Object Name
Method Name
Start Date
End Date
Execution Time
File Name
Server Execution Time
Network Transport Time
Appserver Thread
7. The Trace Date/Time and File Name fields display the selected trace log as well as the date and time it
was run.
8. In the Report Monitor section, notice the GetRowsKeepIdleTime method. This business object runs in
the background while a current form is active.
Tip If you shut off the System Monitor, the tracing log did not record time against the
GetRowsKeepIdleTime method.
9. The All grid displays the summaries of the method calls recorded on the tracing log.
10. The Calls column indicates how many times the method sent a call to the server.
18 Epicor ERP | 10
Performance Tuning Guide Performance and Diagnostic Tool
11. The execution times , in milliseconds, for each call are calculated and display in the accompanying columns.
Additional information displays that identifies the object information:
Average
Longest
Least
Diagnostics ID
Type
Object Name
Total
12. Notice you can view the results in a Microsoft Excel file. To do this, click the Export to Excel button.
14. To remove the generated results, click the Clear Results button.
This topic documents the fields and sheets available for analyzing the client log files.
Some fields on the interface have a context menu, which is indicated by a triangle in the upper right corner of
the field. To open the context menu, right-click on the field.
Clear Results
Click the Clear Results button to remove data from the Results and Summary sheets.
You can also continue generating data from different trace logs without clearing the data. The Summary sheet
then contains results from each trace log generation.
Custom Format
If the date format you need is not available on the Log File Date Format drop-down list, enter the Language
ID for the language you use in this field. The date format linked to this language loads into the Performance and
Diagnostic Tool.
Export to Excel
Click the Export to Excel button to export results to Microsoft Excel for further manipulation and analysis. The
exported data is based on which grid is currently visible. For example, if the Results grid is visible, the data on
this grid is exported.
Epicor ERP | 10 19
Performance and Diagnostic Tool Performance Tuning Guide
Generate Diagnostics
Click the Generate Diagnostics button to generate the log file results and display these results in the Summary
and Results grids.
Results Sheet
The Results sheet contains all calls made from this client for the duration of the current trace log. This grid supports
Group By functionality, so you can organize the results by Object and/or Method name to view execution times
for all method calls.
Summary Sheet
The Summary sheet summarizes the results for each BusinessObject.Method. This sheet displays the number
of calls and the Average/Least/Longest duration of these method calls. The duration is measured in milliseconds.
You can also group the summary data by Diagnostic ID, Type, Object Name, and Total.
Likewise you can sort the results by selecting the column that contains the most useful information to determine
the type of calls made most frequently by this client -- or which method calls consume the most time.
The Tracing Options Form has a number of Dataset Options you can select to define what data is tracked by the
client tracing log. These check boxes all display in the Dataset Options section on the form.
20 Epicor ERP | 10
Performance Tuning Guide Performance and Diagnostic Tool
Scenarios
This topic contains examples of how you can measure client performance through different methods.
If you are working with an Epicor consultant or Epicor Technical Support to improve performance, follow these
steps to send client trace logs and server logs to a support representative.
1. During a period of peak activity on your network, launch the Epicor application on the client workstation.
Epicor ERP | 10 21
Performance and Diagnostic Tool Performance Tuning Guide
2. Click on the Settings tile; from the General Options list, select Tracing Options....
The Tracing Options window displays.
4. Now select the Track Changes Only check box. Only update, new, delete, and other method calls that
change the database are included on the trace log.
5. Select the Include Server Trace check box. This option causes calls from the client to the server to be
included in the trace log.
7. Now launch the program that has poor performance, following the interface movement pattern and data
entry pattern that demonstrates the issue.
Tip Typically you should have the end user who reported the issue follow the pattern that causes the
poor performance. The data the user enters is also very important. The performance issue can be
triggered by many factors -- the data the end user enters, the options the end user selects, the
navigation path the end user follows, and so on.
11. Now perform a second test during a period of slow activity on your network (after hours or on a weekend).
Launch the Epicor ERP application from the server machine.
The reason you launch the Epicor ERP application during this time and in this environment is to eliminate
load condition and network traffic between the client and the application server. Even if you know the
network is not the cause of the poor performance, you must record these performance times so the Epicor
consultant or Epicor Technical Support can compare the performance under these different conditions.
13. Email the files to your Epicor consultant or Epicor Technical Support.
Configuration Check
The Performance and Diagnostic Tool contains a utility to check the configuration of the application server. Use
this Config Check option to see what issues and potential issues you may have with the application server
configuration.
This feature checks a number of configuration items, including the CPU Speed and Configuration Check
standard metrics. After the Performance and Diagnostic Tool analyzes the configuration, this feature displays
recommended actions you can follow to fix various issues.
22 Epicor ERP | 10
Performance Tuning Guide Performance and Diagnostic Tool
You first need to set up the tool so it connects to the application server for the Epicor instance you wish to test.
3. If you access the application server through an http link, select the Connect using Http check box. You
then enter the link in the http:// field.
5. Use the Connection Method drop-down list to indicate how this application server checks for authentication
certificates through Internet Information Services (IIS). When a user logs into the application, the selected
method checks whether the user can access the Epicor application. Available options:
UsernameWindowsChannel -- Authenticate using an Epicor Username and Password. Windows checks
for existing Epicor user accounts to authenticate logins. When you select this option, you need to enter
the User ID and Password for the account. You can select this option for both smart client and Epicor
Web Access (EWA) installations.
UsernameSSLChannel -- Use this option to authenticate using a Secure Sockets Layer (SSL) X509
certificate. Use this method for application servers that handle installations where users reside in different
Epicor ERP | 10 23
Performance and Diagnostic Tool Performance Tuning Guide
domains. By using an SSL certificate, users from these different domains can log into the Epicor application.
You can select this option for both smart client and Epicor Web Access (EWA) installations.
Windows Authentication -- Select this option to authenticate using a Windows Username and Password.
You can select this method for application servers that handle client installations where users access the
application through the same domain. Any user who has a Windows Username and Password within
this domain can successfully log into the Epicor application. You can only select this option on smart
client installations.
Tip You can also find the Connection Method in the .sysconfig file. Locate the <EndpointBindi
ng> value to see the method used the application server.
6. Enter the User Id and Password for the Epicor user account used to access the application server.
7. Next enter the Client Directory for the folder that contains the client installation for the Epicor application.
You can enter this path directly or click the Browse (...) button to find and select it.
8. If you need to validate this connection through a certificate, select the Requires Certificate check box. The
accompanying directory path field activates; enter the location for the certificate in this field.
9. Click OK.
The Config Check sheet contains tools for analyzing your application server configuration settings.
3. The Result column displays the generated evaluation of each rule against your application server
configuration. Available results include FAIL, WARNING, EXISTS, INFO, Not Available, and PASS.
24 Epicor ERP | 10
Performance Tuning Guide Performance and Diagnostic Tool
4. Depending on the results, different instructional text displays in the Action Required column.
INFO - Displays some key information you should review to make sure your system is set up correctly.
EXISTS Notifies you that various items, like customizations and BPM directives, are active in the current
system. These items should be evaluated for performance.
PASS The configuration met or surpassed these rule requirements. No further action is needed.
WARNING Alerts you that potential performance issues may occur. Review these items to see if further
changes are needed.
FAIL The application server configuration did not meet the rule requirements. The ActionRequired
column displays a recommended action you can do.
Not Available - Displays any item that was not available to test. You may need to correct some setup
configuration items and re-run the configuration check.
5. The Config Check Details sheet displays the various rule keys run to evaluate each configuration rule.
Expand one of the rules to see the specific calls.
6. Notice you can view the results in a Microsoft Excel file. To do this, click the Export to Excel button. The
information from all the Configuration Check sheets display in the exported spreadsheet.
Network Diagnostics
You can use the Performance and Diagnostic Tool to verify the baseline network and server performance are
running at optimal levels. Use this feature to evaluate the Network Test standard metric.
To do this, run multiple tests to gauge the overall performance of your network, and compare these results
against the network standard metric. Just like the Configuration Check, you need to update the fields on the
Settings > Options window so the tool connects to the application server.
Run this test to verify that the baseline network and server performance are running at optimal levels.
Epicor ERP | 10 25
Performance and Diagnostic Tool Performance Tuning Guide
Expected Results:
Server Time (blue/lower bar) < 0.5 Seconds
Network Time (green/upper bar) < 0.4 Seconds over a LAN
Network Time (green/upper bar) < 7 Seconds without compression or < 1.5 seconds with compression over
a WAN
Server Diagnostics
You analyze the performance of server installations through server tracing logs. This section of the guide describes
how you set up these logs and analyze the results.
Write Permission
Be sure the user account you use to access the server machine has write permission to the selected folder. Do
the following to verify you have access.
1. Launch Internet Information Servers (IIS) Manager. Depending on your operating system, you launch
this tool in different ways:
a. If you are on Windows SQL Server 2008 R2 or Windows 7, click Start. In the Search field, enter Internet
Information Services; when this program appears in the results, select it.
b. If you are on Windows SQL Server 2012 or Windows 8, press the <Windows> + F button to display the
Charms bar; from the Apps screen, select Internet Information Services (IIS) Manager.
26 Epicor ERP | 10
Performance Tuning Guide Performance and Diagnostic Tool
4. Now from the Actions pane, select the Advanced Settings... option.
The Advanced Settings window displays.
5. Locate the Identity setting and click the Browse (...) button.
7. From the drop-down list, select the Application Pool Identity option.
As you evaluate performance issues, you will most likely create multiple application server logs. How many log
files you save, the details you include, and how large you let them grow depends on your preferences and testing
requirements.
You should be able to save as many application server logs as you need. The number of server logs you create
and the server details you wish to include depends on what aspect of the Epicor application you are evaluating.
If you are evaluating system performance on a daily basis, you will most likely create at least one new application
server log each day. However if you are evaluating when peak server activity occurs, you will most likely record
a week or several weeks' worth of activity.
By default each application server log file is limited to a size you specify. When one file reaches this size limit, the
Epicor Administration Console creates a new log file. It uses the original file name as a prefix and then adds a
date time stamp (the UTC date and concatenated time).
Epicor ERP | 10 27
Performance and Diagnostic Tool Performance Tuning Guide
To avoid running into disk space issues, you can control the number of log backups you want to maintain. Use
the logCount attribute within the server log to specify how many backups you want to keep. By using the default
option logCount="0", an unlimited number of backups is created.
Each log also includes a series of server detail values. Depending on the purpose for creating the log, you may
not need to track all of these details. The <appserver>.config file includes a setting that prevents these details
from recording in the log.
If you wish to change this default size, do the following:
2. Navigate to the web.config file; this file is located in the server folder in your Epicor installation. For example:
C:\Epicor\ERP10\ERP10.00.000\Server
5. For the <Trace> setting, locate the traceConfigurationFile attribute and review the name of the application
server configuration file you use.
Example <Trace logLocation="" traceConfigurationFile="appserver.config"
></trace>
9. Update the maxLogFileSize value to the log size file you need.
You must enter a whole number followed by KB, MB, or GB (these values are not case-sensitive). For example,
you can enter "16KB", "300mb", "3GB", and so on. You can also enter "none", "unlimited", or "-1" to
indicate the server log should not have a maximum file size. The default size is 10MB; the minimum log file
size is 4KB.
When you have an application server log run for a long period of time, the size of the log file can grow very
large. Usually this will not be a problem, as the Performance and Diagnostic Tool can evaluate most logs
500 MB in size or less. However if you want to view the log in Notepad or a similar text editor, you should
keep each log between 5 - 10 MB in size. Notepad can easily open log files this size, and they typically
contain about the right amount of data for you to review.
When the log file size reaches this maximum limit, the Epicor Administration Console creates a new log file
with the UTC date and time values placed on the end of the filename. Because of this, the active log files
all use the same file name.
10. To prevent the Machine, Process, and Thread ID server details from appearing in the log, locate the
<includeServerDetails> setting. Change this setting to "False" and these items will not populate in the
log results.
28 Epicor ERP | 10
Performance Tuning Guide Performance and Diagnostic Tool
Tip These server details may be important if you are evaluating the performance of a server farm.
For example, you can use the Machine values to review the performance of a specific server. However
if you are not working in a server farm environment, suppress these details.
Note that if you have multiple application servers, you need to change all the web.config files so the
traceConfigurationFile attribute in each file points to the correct <appserver>.config log for each application
server. Likewise you need to adjust the settings for each <appserver>.config file so you generate the results you
want.
To generate an application server log, you activate logging in the Epicor Administration Console. You also define
what specific information the log records.
1. You launch the Epicor Administration Console from your server machine. Depending on your operating
system, you launch this tool in different ways:
a. If you are on Windows SQL Server 2008 R2, click Start > All Programs > Epicor Software > Epicor
Administrative Tools > Epicor Administration Console.
b. If you are on Windows SQL Server 2012, press the <Windows> + F button to display the Charms bar;
from the Apps screen, select Epicor Administration Console.
2. From the tree view, expand the Server Management node and Epicor Server node.
4. Now from either the Action menu or the Actions pane, select Application Server Settings.
The Application Server Settings window displays.
Epicor ERP | 10 29
Performance and Diagnostic Tool Performance Tuning Guide
6. Now use the Log File Location field to indicate where you want the application server log to generate.
Either enter this path directly or click the Browse (...) button to find and select this directory path.
7. Next define what Standard Logging information you want the application server log to record. If you only
are tracking a specific database activity, use one of the more specific options. Server logs are easier to review
if you only capture the types of database activity you require. Available options:
a. Verbose Logging - The default option, select this check box when you want the log to record all calls,
triggers, and exception messages sent to the application server.
b. Trigger Hits - When a record is sent to the database to be added, updated, or deleted
(Write/Update/Delete), the framework creates an event that SQL Server can intercept the call to perform
table specific logic. After this event is processed, the record is sent to the database. Select this check box
to record these trigger events in the server log.
c. BPM Logging - Select this check box to record Business Process Management (BPM) method calls. Each
time user activity activates a BPM directive, the application server log records the business object method
that was called and how long this call took to complete.
d. BAQ Logging - Select this check box to record Business Activity Query (BAQ) database calls. Each time
user activity activates a BAQ, the application server log records which query was called and how long it
took this BAQ to gather the data results.
e. Detailed Exceptions - Indicates you want to record the complete details of each exception message.
The full stack trace of the exception is included in the server log. You then see which items in your Epicor
application were affected by the exception.
30 Epicor ERP | 10
Performance Tuning Guide Performance and Diagnostic Tool
f. ERP DB Hits - Activate this check box to track how the Epicor application interacts with the database.
You can review each database hit as well as how long it took each hit to complete.
8. Indicate which Advanced Logging information you want to include on the application server log. These
options record calls from the overall system server, and may impact performance while active. Available
options:
a. System DB Hits - Select this check box to record all the hits the database receives from SQL Server. Use
these values to determine the performance of SQL Server.
b. System Table Methods - Activate this check box to track the method calls being placed against the
system tables.
9. When you finish making your selections, click Apply and then OK.
10. The Server Manager dialog box displays, asking if you want these log settings to activate. If this is a good
time to begin generating results in the application server log, click Yes.
The application server is now active and recording the selected trace call options. The server log should run for
a period of time, such as a single day or a couple days. When you are ready to review the results, you display the
application server log in the Performance and Diagnostic Tool.
Important After you gather the system information you need, be sure to return to the Epicor Administration
Console and de-activate your log setting options. This reduces unnecessary calls to the server and improves
performance.
2. Click the Add Files button and browse to the location of the server log file.
Tip You can also click the Down Arrow next to the Add Files button to select server log files from
multiple server locations. You may need to do this on load balanced systems where the application
is located across multiple servers.
Epicor ERP | 10 31
Performance and Diagnostic Tool Performance Tuning Guide
5. Use the Epicor Version drop-down list to select the application version run with the selected server log(s).
The default version is 10.0.1.
6. Select the Ignore GetRowsKeepIdelTime check box to filter any system calls sent to the server.
The Performance and Diagnostic Tool will not display values from the GetRowsKeepIdleTime business
object method. This method runs in the background while a current form is active, but it does not indicate
how long it takes other methods like Update, GetNew, and GetList to run. These method calls are generated
by user activity.
The Performance and Diagnostic Tool analyzes the server log. You review this data on the Results, Summary
Analysis, Running Processes, and Log Errors sheets.
Use the features on the Performance and Diagnostic Tool to review the results recorded on the selected server
log. This topic explores the features available for analyzing the server logs.
1. Click on the Results tab to review the server calls that were larger than the Millisecond Threshold you
entered.
The Results grid displays.
2. You can filter the log results based on values that populate each column. To do this, click on the Funnel
icon that displays on each column header:
32 Epicor ERP | 10
Performance Tuning Guide Performance and Diagnostic Tool
3. When you click on an icon, a drop-down list displays. Each drop-down list contains a series of default filter
options followed by specific values from the trace log:
All - The default filter, this option displays all the values for the column from the client tracing log.
Custom - Select this option to launch the Enter filter criteria for Type window. Use this window to
define both an Operator and an Operand to filter the results. You can define as many filter conditions
as you need, creating And/Or relationships between each custom filter.
Blank - Use this option to only display any empty rows available on the client trace log.
Nonblanks - Select this option to display all the populated rows on the selected client trace log.
Column Value - You can filter the results by selecting a specific value available in the column.
4. To help organize the results, use the Group By feature on the grid. Click and drag a column header (for
example, Object Name) to the Drag a column header here to group by that column area. You can drag
multiple column headers to further structure the results as you need.
Example If you group by using the Workstation ID column, the grid displays all the workstation
entries together in alphabetical order.
5. You can review the following items on each business method call:
UTC
Type
Object Name
Method Name
Execution Time
ERPUser
Client Workstation ID
Exceeds MS Threshold - If this check box is selected, it indicates this server call took longer to execute
than the Millisecond Threshold value you entered.
MoreInformation
TotalMilliseconds
6. The Summary Analysis sheet calculates the total performance results for each business object method.
Notice you can group the results by various columns on this grid.
7. You can review several items on each business method call. Some key columns on this sheet include:
Frequency - This value indicates how often the business object method sent a call to the server.
% - Freq - The percentage this call was run compared to other method calls captured in this log.
Total Execution Time
Average Execution Time
Longest
Least
% - Time - The percentage about how long this call was run compared to other method calls captured
in this log.
Epicor ERP | 10 33
Performance and Diagnostic Tool Performance Tuning Guide
9. You can review several items on each error. Columns on this sheet include:
LogLine
ClientID
ObjectName
MethodName
StartDateTime
ERPUser
10. Notice you can view the results in a Microsoft Excel file. To do this, click the Export to Excel button.
12. To remove the generated results, click the Clear Results button.
The GetRowsKeepIdleTime method can help you analyze how well the server interacts with Epicor client
installations. You can review this standard metric through the GetRowsKeepIdleTimeChart in the Performance
and Diagnostic Tool.
The GetRowsKeepIdleTime method is used by the smart client. The client checks the application server to find
out if the report or process has finished its run. If the run is finished, the data is sent back to the client as output
for this method call. The client then uses this call to populate the results to the database or report. Because this
method is a system check regularly sent to the server that typically does not return data, you can also use this
method to measure network traffic that may impact performance.
You use the Performance and Diagnostic Tool to display the GetRowsKeepIdleTime chart that shows you the
performance time of each method call in the server log. You can then pinpoint specific times of the day when
there was increased server activity that affected performance.
To evaluate performance for GetRowsKeepIdleTime method calls:
1. You first need to indicate you want to generate the GetRowsKeepIdleTime Chart. Within the Performance
and Diagnostic Tool, click Settings > Options.
The Options window displays.
34 Epicor ERP | 10
Performance Tuning Guide Performance and Diagnostic Tool
4. Now indicate the Time Interval to Chart (minutes) option. This value defines the span of time you want
to evaluate at each point in the GetRowsKeepIdleTime Chart. The default value is one minute.
5. Click OK.
You return to the main window of the Performance and Diagnostic Tool.
6. As described previously, click the Add Files... button to find and select the server log you wish to review.
Epicor ERP | 10 35
Performance and Diagnostic Tool Performance Tuning Guide
The chart displays using the time interval you selected. The left side of the grid indicates how long it took
to run the GetRowsKeepIdleTime call, while the bottom of the grid indicates the time of the day when the
call occurred.
9. Optionally, you can click the Export to Excel button to save this graph as an .xslx spreadsheet.
You can then use Microsoft Excel to refine this graph as you need. You and your Epicor consultant use
this spreadsheet to evaluate the overall performance of your system.
Fields
This topic documents the fields and sheets available for analyzing the server log files.
Some fields on the interface have a context menu, which is indicated by a triangle in the upper right corner of
the field. To open the context menu, right-click on the field.
Add Files
Click the Add Files button to select one or more server log files for analysis. Depending on what you are evaluating,
multiple server.log files may have been generated. You can then analyze these files together within the Performance
and Diagnostic Tool.
You can also click the Down Arrow next to the Add Files button to select server log files from multiple server
locations. You may need to do this on load balanced systems where the application is located across multiple
servers.
Clear Results
Click the Clear Results button to remove the log file information from the Results, Summary, Errors and Messages,
and GetRowsKeepIdleTime Chart sheets.
36 Epicor ERP | 10
Performance Tuning Guide Performance and Diagnostic Tool
Clear Selected
Click the Clear Selected button to remove the log file paths you have currently loaded into the Performance and
Diagnostic Tool.
Epicor Version
Use this drop-down list to select the application version run with the selected server log(s). The default version
is 10.0.1.
Export to Excel
Click the Export to Excel button to export results to Microsoft Excel for further manipulation and analysis. The
exported data is based on which grid is currently visible. For example, if the Results grid is visible, the data on
this grid is exported.
Generate Diagnostics
Click the Generate Diagnostics button to create the server log file data results.
GetRowsKeepIdleTime Chart
Use the GetRowsKeepIdleTime chart to display the performance time of each GetRowsKeepIdleTime method call
in the server log. This method call is run by the System Monitor to check for server related activity like uploading
reports. You can then pinpoint specific times of the day when there was increased server activity which affected
performance.
Ignore GetRowsKeepIdleTime
Click this check box to hide all GetRowsKeepIdleTime method call information from the server analysis results.
This method call is run by the System Monitor to check for server related activity like uploading reports. Because
this method is called frequently by every client on your system, select this check box to prevent this active calls
from appearing in the log results.
Millisecond Threshold
Any BusinessObject.Method calls greater than the value entered in this field have their Exceeds Threshold
check boxes automatically selected. This value indicates these calls are over the threshold value (in milliseconds)
you defined. Use this value to perform Sort By or Group By actions to review longer duration method calls.
Results Sheet
The Results sheet displays all calls received by the application server during the run of the server log. You can use
Group By functionality to group the results by Object and/or Method to see the execution times for all method
calls.
Summary Sheet
The Summary sheet summarizes the results for each BusinessObject.Method, showing the number of calls and
the Total/Average/Least/Longest duration of those calls. These duration values are measured in milliseconds. You
Epicor ERP | 10 37
Performance and Diagnostic Tool Performance Tuning Guide
can sort the results by column to determine the types of calls made most frequently against the server, or which
calls consume the most time.
Scenarios
This topic contains examples of how you can measure server performance through different methods.
38 Epicor ERP | 10
Performance Tuning Guide Additional Diagnostic Resources
Additional resources are available that can help you locate deadlocks and locking and blocking. These tools are
available through the Performance and Diagnostic Tool.
Locking and Blocking occurs when two or more database connections try to access the same piece of data
simultaneously. A piece of data is locked when a connection needs exclusive access to it. A Deadlock occurs
when two users or sessions have locks on separate business objects, and each business object process tries to
establish a lock on the business object in use by the other user/session.
Use the Performance and Diagnostic Tool to download diagnostic testing resources that can check for these
potential issues. These resources are SQL procedures and templates for the SQL Profiler. You use the SQL Profiler
within Microsoft SQL Server Management Studio , and these templates display data specific for locking/blocking
and deadlocks.
To do this, click Options > Download Resources. You then download the following .zip files and set them up
to work with SQL Server Management Studio.
SQLProfilerTemplates.zip -- Download this file to evaluate locking and blocking on your system.
DeadlockAnalysis.zip -- Download this file to evaluate deadlocks.
You can use the sp_lock3.sql stored procedure to determine if a system is experiencing excessive data locking
and blocking.
Locking and blocking occurs when two or more database connections try to access the same piece of data
simultaneously. A piece of data is locked when a connection needs exclusive access to it. SQL Server prevents,
or locks, this piece of data so it cannot be updated by other connections. This data is then blocked when another
connection attempts to access this data. This data becomes available when the first connection releases it. Similar
to deadlocks, you need to discover what connection(s) could not access the data (the victims) and what connection
blocked the data (the culprit).
Excessive locking and blocking slows down database performance. By running the sp_lock3.sql stored procedure,
you can determine whether excessive locks and blocks are occurring on your database.
You download the sp_lock3.sql file through the Performance and Diagnostic Tool.
1. Launch the Performance and Diagnostic Tool. Depending on your operating system, you launch this tool in
different ways:
a. If you are on Windows SQL Server 2008 R2 or Windows 7, click Start > All Programs > Epicor Software
> Epicor Administrative Tools > Performance and Diagnostic Tool.
b. If you are on Windows SQL Server 2012 or Windows 8, press the <Windows> + F button to display the
Charms bar; from the Apps screen, select Performance and Diagnostic Tool.
Epicor ERP | 10 39
Additional Diagnostic Resources Performance Tuning Guide
4. Click OK.
The SQLProfilerTemplates.zip file is downloaded to your computer.
You use SQL Server Management Studio to configure this stored procedure file.
1. Click Start > All Programs > Microsoft SQL Server 2008 > SQL Server Management Studio.
Microsoft SQL Server Management Studio displays.
2. Connect Microsoft SQL Server Management Studio to the SQL instance you wish to monitor.
3. Open the sp_lock3.sql script and run it against the database you wish to test. To do this, first click File >
Open > File and navigate to the C:\_PerformTune folder; select the sp_lock3.sql file.
4. In the Tree View, expand the Databases node and select the database against which you want to test for
locks and blocks.
5. Now click in the sp_lock3.sql pane; this causes the procedure to be in focus.
The log will run. Depending on the locking situation, it may show some lock data. However if you receive
a "Could not find stored procedure 'sp_lock3'" error message, the SQL procedure is not installed correctly.
Repeat these steps to re-install the script.
The sp_lock3.sql procedure is now configured to create a log against the selected database.
Now within SQL Server Management Studio, you need to schedule a SQL Server Agent job that runs the
sp_lock3.sql script and then appends its output to a log file.
1. Using the Object Explorer, expand the SQL Server Agent node; right-click the Jobs folder and select the
New Job... option.
The New Job window displays. By default, the General node is selected.
2. Enter a Name for your log file. For example, enter <XXX>_LocksLog (Where XXX are your initials or another
identifying value).
40 Epicor ERP | 10
Performance Tuning Guide Additional Diagnostic Resources
6. Enter a Step name for this job step. Enter <XXX>_JobStep01 (Where XXX are your initials or another
identifying value).
7. Click the Database drop-down list and select the database against which you want to test the locks and
blocks. For example, select Demo.
10. Use the Output file field to define the directory path for the log file. You can select the directory path by
clicking the browse (...) button.
Example C:\_PerformTune\<XXX>LocksLog_Output.txt (Where XXX are your initials or another
identifying value)
Epicor ERP | 10 41
Additional Diagnostic Resources Performance Tuning Guide
1. Verify the SQL Server Agent is running. To do this, go to the desktop and click Start > All Programs >
Microsoft SQL Server 2008 > Configuration Tools > SQL Server Configuration Manager.
The SQL Server Configuration Manager window displays.
4. Fom the Object Explorer, right-click the <XXX>_LocksLog (Where XXX are your initials or another identifying
value).
6. The Start Jobs window displays with both the Success icon and statuses listed in the grid. Click the Close
button.
The sp_lock3 output file is appended to the database. Locking and blocking data now records to this log every
minute. Track this data for a day and then return to this log to evaluate the results.
This section describes how you review the locks log and resolve the locking issues.
The sp_lock3 procedure only generates output when it detects locking and blocking issues. If the locks log is
empty, locking and blocking is not a performance issue on the database.
However if this log contains some locking and blocking entries, use the log to review what database connection
is trying to access the data at the same time.
In the above example, COMPANY/JoeS from the USERCOMP84 machine is accessing the Epicor ERP database.
The access currently given to USERCOMP84 is not recommended (this connection is the culprit), as it can cause
locking and blocking. In this case, Epicor would recommend that only the COMPANY/EPICADMIN login from the
APPSERVER machine have access to this data.
If the log records locking and blocking issues while users run custom or modified reports using an ODBC
connection, consider creating a table view for the report. Since database tables can become locked while the
report runs, the table view can prevent locking and blocking situations. To create a table view:
1. Open the report in a third party application like Microsoft SQL Server Report Builder, Excel, or another
ODBC source.
42 Epicor ERP | 10
Performance Tuning Guide Additional Diagnostic Resources
When users access the table view, they cannot create a share lock on the data. This improves the performance
of the report.
Tip If you decided not to create a table view for the report, you should instead enter the with(nolock
) option in the SELECT statement for the table. You should also use this option to optimize performance
on Business Activity Queries (BAQs), Business Process Management (BPM) methods, and customizations.
The following internet article provides some additional information on how you can detect locking and blocking.
http://www.simple-talk.com/sql/sql-tools/how-to-identify-blocking-problems-with-sql-profiler/
Deadlock Tracing
A deadlock occurs when two users or sessions have locks on separate business objects, and each business object
process tries to establish a lock on the business object in use by the other user/session.
SQL Server automatically detects and resolves deadlocks. If a deadlock occurs, one process ends (the victim),
while the other process runs (the culprit). The victim transaction is rolled back. While determining the victim is
relatively easy, what you need to discover is the culprit process that caused the deadlock. This culprit could be
another Epicor ERP application process running at nearly the same time or a third party application preventing
the victim process to initialize.
You can monitor when deadlocks occur using the SQL Server Deadlock Graph. While this graph runs, deadlock
events are recorded in the SQL Profiler trace log.
Important Before you activate the SQL Deadlock Graph, you must set the Epicor server logs to the Verbose
setting. When you finish deadlock tracing, be sure to deactivate the server log.
You download the deadlock graph through the Performance and Diagnostic Tool.
1. Launch the Performance and Diagnostic Tool. Depending on your operating system, you launch this tool in
different ways:
a. If you are on Windows SQL Server 2008 R2 or Windows 7, click Start > All Programs > Epicor Software
> Epicor Administrative Tools > Performance and Diagnostic Tool.
b. If you are on Windows SQL Server 2012 or Windows 8, press the <Windows> + F button to display the
Charms bar; from the Apps screen, select Performance and Diagnostic Tool.
Epicor ERP | 10 43
Additional Diagnostic Resources Performance Tuning Guide
4. Click OK.
The DeadlockAnalysis.zip file is downloaded to your computer.
You access the SQL Server Profiler to activate the SQL Deadlock Graph and run a deadlock trace against a server.
To do this, launch SQL Server Management Studio.
1. Click Start > All Programs > Microsoft SQL Server 2012 > SQL Server Management Studio.
Microsoft SQL Server Management Studio displays.
5. In the Trace Name field, enter a meaning name for the tracing file.
The words "Trace Start" display in the SQL Server Profiler and the trace begins. You typically run this trace log
for a full day to capture the potential deadlocks that occur on your system.
1. When you are ready to stop the deadlock trace log, click File > Save As > Trace File.
The Save As window displays.
2. Enter the File Name that helps you locate the file.
3. Either save the file to the default folder, or click the Browse Folders button to find and select a different
folder.
4. Click Save.
44 Epicor ERP | 10
Performance Tuning Guide Additional Diagnostic Resources
6. Close SQL Server Profiler and Microsoft SQL Server Management Studio.
Epicor ERP | 10 45
Load Distribution Performance Tuning Guide
Load Distribution
You can improve how the Epicor ERP application performs by assigning different tasks to specific application
servers that can handle the load. This distributes the load more evenly across your system resources.
If you have less than two hundred users, the Epicor ERP application can run efficiency through one server machine.
However if you have more than 200 users, use VMWare, or your organization requires special processing that
requires significant system resources, consider setting up task agent rules to more evenly distribute the load. For
example, you could assign a process that requires significant resources to run on a more powerful server, like
Material Requirements Planning, and then assign reports that generate less data to a server with fewer resources.
By distributing the load between these application servers, you reduce performance bottlenecks and match a
report/process with a machine best suited to run it.
The Hardware Sizing Guide can help you determine whether you should assign load to multiple application
servers. After you identify the hardware and usage scenario that best matches your organization, you can then
decide whether distributing the load will improve performance. To set up this functionality, you first create
application servers for each server machine available on your system.
Within the Epicor ERP application, you set up security groups and task agent rules. Security groups determine
which users have access to specific tasks. Task agent rules use security groups to determine which application
server will handle the processing for a specific task or group of tasks.
Tip If you do not have security groups set up yet, review the Security chapter in the Epicor Implementation
User Guide. This user guide is available on EPICWeb: https://epicweb.epicor.com/edu/user-guides
Application Servers
An application server manages how a specific instance of the Epicor application runs. Through each application
server, you can configure licenses, companies, sessions, and users for a specific database.
You can set up multiple application servers to run the same database and balance the load. For example, you
create two application servers for the same database, but these application servers are linked to different server
machines through their endpoint bindings. One application server is set up to run Epicor Web Access (EWA) on
one server machine, while another application server is set up to run a smart client through Net.TCP on a different
server machine. Likewise you could set up another application server that links to a machine which only handles
SSRS reporting tasks.
You add the application server that will interact with your server machine through the Epicor Administration
Console. This management tool is located on your server machine. For information on how to add application
servers, review application help in the Epicor Administration Console.
Task Agents
The task agent handles all scheduled tasks for an application server.
The task agent activates any program added to a recurring schedule. Users add programs to recurring schedules
through the Schedule drop-down lists available on programs throughout the Epicor application. You create these
schedules in the Epicor application using System Agent Maintenance, and you also use this program to create
task agent rules to distribute the load.
46 Epicor ERP | 10
Performance Tuning Guide Load Distribution
Tip To learn how to assign tasks to automatic schedules, review the System Agent Maintenance topics in
the application help or review the Automatic Data Processing chapter in the Epicor Implementation User
Guide. This user guide is available on EPICWeb: https://epicweb.epicor.com/edu/user-guides
You create a task agent using the Task Agent Service Configuration program. You launch this program from
within the Epicor Administration Console. When you select the application server, the center pane on the Epicor
Administration Console displays the settings for the application server. Click the Task Agent Configuration button
to set up the task agent for the selected application server.
After you have set up the new application server and security for your users, you are ready to create task agent
rules that distribute the load between the available application servers.
2. Click the Agent ID button to find and select the system agent. Only one system agent is available.
3. Click on the Actions menu and select the Edit Task Agent Rules... option.
The Task Agent Rules window appears.
5. Select the Company for which this task agent rule will generate tasks.
Only companies assigned to the current user account display on this drop-down list. The task agent rule will
then handle processing for the selected company.
6. Optionally select the Security Group for the task agent rule.
Whenever a user assigned to the selected security group runs a report or process linked to this task agent
rule, the application server linked to this rule generates the system activity.
7. Next define the Rule Type option. This value indicates what tasks are handled by the task agent rule.
Available options:
Specific Task - Indicates this task agent rule will only run against a specific process. After you select this
rule type, you next select the process from the Process Id drop-down list.
All Tasks - Indicates all processes are run against this task agent rule. Any time a process is launched by
users within a company or a security group, this task agent rule handles the processing.
Specific Report - Indicates this task agent rule will only run against a specific report. After you select
this rule type, you next select the report from the Process Id drop-down list.
All Reports - Indicates all reports are run against this task agent rule. Any time a report is launched by
users within a company or a security group, this task agent rule handles the report generation.
8. If you select either the Specific Task or the Specific Report rule type, you next select the Process Id for the
item you want the task agent rule to run. Depending on the rule type, either reports or processes display
on this drop-down list.
Epicor ERP | 10 47
Load Distribution Performance Tuning Guide
9. Enter the Appserver URL for the application server that will run the activity for this task agent rule. This
value links the task agent rule to the application server's location.
Tip You can find this value by opening the system configuration (.sysconfig) file for the client
installation. Locate the <appSettings><AppServerURL> node and copy this value.
10. Use the Endpoint Binding drop-down list to indicate how this application server checks for authentication
certificates through Internet Information Services (IIS). Select the Endpoint Binding defined on the application
server; the same options display on this drop-down list.
11. If you select either the UsernameWindowsChannel or UsernameSSLChannel endpoint binding option, enter
the User ID and Password for the account that can access this application server.
12. When you finish adding the task agent rule, click Save.
Continue to add the task agent rules you need. If you need to remove a task agent rule, highlight it on the grid
and click the Delete button.
Now the next time the system agent activates a schedule or a user launches a process or report, the tasks are
distributed to the application servers defined on the task agent rules.
48 Epicor ERP | 10
Performance Tuning Guide Application Tuning
Application Tuning
This section contains some application tips and techniques you can do inside the Epicor application. You should
only use the tips and techniques that match your use of the Epicor application.
Application Troubleshooting
Be sure to disable all schedules before you move from the training database to your live database. If you do
not, two MRP processes run at the same time, slowing down performance.
Epicor recommends that you do not run MRP processing during the work day. Schedule MRP processing
during off hours.
Be sure that your Business Activity Queries (BAQs) are properly written. If a BAQ pulls unnecessary data or a
calculation is improperly constructed, each time this BAQ is run it slows performance.
Avoid creating several Business Process Management (BPM) procedures that generate email messages at the
same time (synchronously). If these procedures run frequently, performance is reduced. Instead, set up your
BPM procedures to run asynchronously.
Avoid activating too many change logs. Only run change logs for the specific fields you need. When too many
logs are running, they slow performance.
Performance slows when several large reports generate at the same time. To resolve this, move your report
generation processes to separate application servers. The previous Load Distribution section describes how
you set up task agent rules to distribute the load as needed.
Likewise, when multiple applications run at the same time, performance slows. Try to only use the programs
you need when you need them. Close them if they are no longer active.
Client Cache
The Client Cache is the local Disk Cache used by the Epicor client machine. As the Epicor client needs various
items stored on the server and in the database, these items are downloaded and stored in the local Disk Cache
for better performance.
The local client cache stores items like custom context menus, themes, processing calling xref files, customizations,
personalizations, list of business objects access for security retrieval, and so on. Storing these items in the client
cache typically improves client performance, but sometimes too many items can accumulate in this folder and
cause slow performance instead.
As a standard practice, users should periodically clean out their local client cache to remove rarely used items.
To clear the cache:
2. From the Main Menu, click Options > Clear Client Cache.
Epicor ERP | 10 49
Application Tuning Performance Tuning Guide
Now when you restart the Epicor application, only items currently needed to launch the application are loaded
into the client cache. The client machine should now have improved performance. However as time goes on,
more items will download to the client cache, and the user should run the Clear Client Cache option again.
If you would like to review the items currently in a client cache, you can locate this folder in the following default
directory locations:
Older Windows Systems Use Windows Explorer to navigate to the C:\Documents and Settings\All
Users\Application data\Epicor directory. Locate the name of the Epicor ERP client installation.
Newer Windows Systems Use Windows Explorer to navigate to the C:\Users\All Users\Epicor directory.
Locate the name of the Epicor ERP client installation.
Tip You can change where the client cache is located by changing a value in the configuration settings
file. This xxx.sysconfig file (where xxx is the name of the file you use to run the client) is located in the
client's Config folder. Open this file in a text editor and enter a different directory path in the
AlternateCacheFolder setting.
Users can personalize programs by using memory caching. Memory caching keeps frequently used programs
in memory so they launch faster during the same Epicor application session.
When a program is memory cached and the user closes the program, this program is still loaded in active memory.
Technically this program is really placed in hide mode. When the user launches the program again, the form is
already constructed in memory and quickly displays its interface.
Tip Do not confuse client caching with memory caching. Client caching refers to the various items that
move between the client and the server/database. Memory caching is a performance feature available
internally on most Epicor ERP application programs.
Memory caching takes resources from the system, and also uses other resources including user objects. A limited
number of user objects are available on each client, and when a client reaches that limit, the Epicor application
can become unstable. It can vaporize or deliver strange messages. The default limit is 10,000 user objects. A
program like Customer Maintenance can use 1,800 user objects, so users should only select a few programs for
memory caching. If you need, administrators can increase the number of user objects available on a client to
18,000. However be aware that only 64,000 user objects are available for the Windows operating system, so be
careful how many user objects you allow each client machine to use.
Memory Cached forms are removed from active memory when the Epicor client session ends (the Epicor.exe
file is closed). Users should only use this feature on a limited number of commonly used programs they use on
a daily basis.
Client Customizations
Use this technique to test the performance of a client customization against the base program version.
Make sure the user account currently logged into the application has Customization privileges. Then turn on
customization mode from the Menu by either clicking the Settings tile and selecting Developer Mode or move
your mouse pointer over the bottom of the screen and click the Developer Mode button on the toolbar.
50 Epicor ERP | 10
Performance Tuning Guide Application Tuning
Navigate to the customized program and launch it. When the Select Customization window appears, select
the Base Only check box. Click OK and time how long it takes to launch the program. Close the program and
launch it again, selecting the customization. Time how long it takes the customized version of the program to
launch.
Epicor ERP | 10 51
Application Tuning Performance Tuning Guide
records linked to inventory or release jobs are selected on a sales order detail line. To clear the check box, select
the option. Now when users create a new sales order, these records will not automatically be pulled into the
sales order, improving performance by eliminating this additional processing.
Be sure to test how long it takes to process sales orders both with or without the customization. If you notice
better performance, make this customization available to all the users in the company.
The following tips can help you improve the performance of the Material Requirements Planning (MRP) process.
By following these MRP tips, you will place less demand on your network and server resources.
52 Epicor ERP | 10
Performance Tuning Guide Application Tuning
Epicor ERP | 10 53
Application Tuning Performance Tuning Guide
This section details some performance tuning options for business activity queries. It also has a section which
describes how to correct SQL syntax errors.
You can define some application server settings in the Epicor Administration Console to restrict how business
activity queries (BAQs) generate results. By defining these options, you can limit performance issues caused when
BAQs process large amounts of data.
Note that when you change these application server settings, you will cause the application server to restart. Be
sure to change these settings during a period of the day when few users are logged into the Epicor application.
1. You launch the Epicor Administration Console from your server machine. Depending on your operating
system, you launch this tool in different ways:
a. If you are on Windows SQL Server 2008 R2, click Start > All Programs > Epicor Software > Epicor
Administrative Tools > Epicor Administration Console.
b. If you are on Windows SQL Server 2012, press the <Windows> + F button to display the Charms bar;
from the Apps screen, select Epicor Administration Console.
2. From the tree view, expand the Server Management node and Epicor Server node.
4. Now from either the Action menu or the Actions pane, select Application Server Settings.
The Application Server Settings window displays. The BAQ values you modify are in the Application Settings
group box:
54 Epicor ERP | 10
Performance Tuning Guide Application Tuning
5. For the BAQ Query Max Result Rows field, enter the highest number of rows that can be returned by a
business activity query.
By entering a value in this field, you restrict how many rows can be returned by each BAQ. This prevents
the query from pulling in an unlimited number of records, restricting situations where a runaway BAQ
consumes too many system resources to generate query results.
6. Now in the BAQ Query Timeout field, enter how many seconds can elapse before the application server
stops the query.
By entering a value in this field, you define how long each BAQ is allowed to run. When a query attempts
to generate results and reaches this time limit, the application server stops the query and sends the user a
time out message.
8. The Server Manager dialog box displays, asking if you want to restart the application server. If this is a
good time to restart the server, click Yes.
Epicor ERP | 10 55
Application Tuning Performance Tuning Guide
Now when this application server processes BAQs, the queries generate using these row and timeout limits.
This section contains a series of best practice methods that will help you develop more efficient business activity
queries (BAQs). If you follow these suggestions, you will have more success creating both display-only and
updatable BAQs.
56 Epicor ERP | 10
Performance Tuning Guide Application Tuning
Sorting Performance
Sorting data by a selected column is a powerful feature, but be aware that some significant processing time may
be required to display the reordered results. This situation is especially true when you sort a large amount of
data. The query tool has to first return all of the records into memory before it can re-order their sequence through
the selected column.
All of this processing occurs on the server, so the data calls need to move across the network before they arrive
at your client workstation. So if you sort on a large amount of data, be patient the reordered results are on
their way.
Runaway BAQs
If you suspect a business activity query is causing poor performance, use the server logs and the Performance
and Diagnostic Tool to determine which BAQ is causing an issue. You do this by accessing the web.config file
and then setting the server log to Verbose. Run the process that launches the BAQ. When the BAQ completes
its run, open the server log in the Performance and Diagnostic tool. Navigate to the Server Diagnostics > Results
sheet. Group the results by Object Name and review the Execution Time values.
SQL function syntax is stricter than Progress syntax. If you previously ran the application using a Progress database
but now have moved to SQL, you may experience these syntax issues.
The main issue is that you can use abbreviations within Progress; for example, ABSOLUTE can be abbreviated to
ABS, ABSO, or ABSOL within Progress. BAQ formulas are directly sent to SQL. As long as these formulas do not
contain any abbreviations, they work as expected. However if a formula references an abbreviation, syntax issues
occur.
The following table displays the functions which are not identical between Progress and SQL. The characters
contained between the parentheses are optional characters in Progress.
Epicor ERP | 10 57
Baseline Performance Tests Performance Tuning Guide
This section outlines a series of tests you can run on your Epicor ERP application to verify its performance against
established metrics. These metrics were defined using a test machine.
Configuration of the test machine:
Windows Server 2008R2 64Bit
CPU Dual Core Intel xeon 5160 @ 3GHz
20 GB RAM
Epicor SQL database installed on separate database server with 1G bit/sec Ethernet connection
Epicor version 10.0.600
Test Setup
1. Install the Performance and Diagnostic Tool on your server machine as described in the previous section.
2. Log into your Epicor ERP application using both the Training database and the manager account. For the
User ID, enter manager; for the Password, enter manager.
3. From the Menu tree view, navigate to the Epicor USA company.
5. Close the System Monitor. If the System Monitor is running in the Task Tray, then right click on this icon
and select Exit. This eliminates GetRowsKeepIdle time calls to the server.
58 Epicor ERP | 10
Performance Tuning Guide Baseline Performance Tests
Test Procedure
The following test procedure provides you with a repeatable path that uses standard data delivered within the
Training database.
The results from the tests are captured in the client trace log. You can then analyze these results using the
Performance and Diagnostic Tool.
2. Click on the Settings button; from the General Options list, select Tracing Options.
The Tracing Options window displays.
4. Notice the Clear Log button. At certain points during the following tests, you will be asked to click this
button.
Clicking this button removes results from the trace log. You can then run the test and only the specific calls
you want display in the client trace log.
5. Notice the Write button. At certain points during the following tests, you will be asked to click this button.
Clicking this button causes business object calls to be recorded in the database.
This test measures the observed time it takes for you to open a typical large form. This test will use Sales Order
Entry.
You will clear the Client Cache to measure how long it takes for the form to load initially after a new installation
or service pack/patch upgrade. You will then run the test twice to measure the time it takes the form to load
using both uncached memory and then cached memory.
After you complete the tests, you will write the client trace log file and use the Performance and Diagnostic Tool
to analyze the results.
Epicor ERP | 10 59
Baseline Performance Tests Performance Tuning Guide
8. Click on the Settings button; from the General Options list, select Tracing Options....
The Tracing Options window displays.
10. Now from the General Options list, select the Clear Client Cache option.
11. When you are asked if you want to clear the client cache, click Yes.
12. Return to the Home screen and navigate to Sales Order Entry again.
13. Using the stopwatch on a smart phone or similar device, test how long it takes Sales Order Entry to display.
Activate the stopwatch and launch Sales Order Entry.
14. Finish stopwatch recording the moment the form displays on your screen and the cursor flashes in the Sales
Order field.
15. Record this elapsed time as the First time form download and open value.
17. Once again, use a stopwatch on a smart phone or similar device to record how long it takes for the Sales
Order Entry form to display and the cursor to appear. Launch Sales Order Entry.
18. Record this elapsed time for the Second time form open value.
19. Return to the Tracing Options Form and write to the Trace Log as described in the previous Activate the
Trace Log section. Note the Log File name; this value uses the TraceDataxxx.log file format.
22. Browse to the Client File Trace Path to locate the client trace file you wrote as described previously.
23. Click the Generate Diagnostics button to capture and review the performance results.
Expected Results:
First time form download and open: < 8 seconds
Second time form open: < 6 seconds
The following screen capture shows an example of the business objects and their performance times. You should
see similar results on your Summary sheet.
60 Epicor ERP | 10
Performance Tuning Guide Baseline Performance Tests
If you see more object calls than above and have much slower performance, it may because the Sales Order Entry
form properties are not cached. If this is the case, you may see additional Lib type calls as shown below:
Use the following steps to verify and fix issues with the form performance test.
1. Locate the xxx.sysconfig configuration settings file used by the client installation. This file is typically located
in the Config folder under the client direction.
5. Now locate the cached Business Object and Class Attribute .xml files.
Directory paths on a Windows 7 client:
C:\ProgramData\Epicor\<server-port>\10.0.700\EPIC03\BOSecMRUList\BOMRUList_<username>.xml
C:\ProgramData\Epicor\ <server-port> \10.0.700\EPIC03\ClsAttrMRUList\ClsAttrMRUList_<username.xml>
6. If the SalesOrder business object does not appear in either of these xml files, it implies that other business
objects are used more frequently on this client and are not cached. To fix this situation, do the following:
Epicor ERP | 10 61
Baseline Performance Tests Performance Tuning Guide
f. Review the two xml files. Among the other business objects, you should see a reference to the Sales
Order business object.
This standard metric test measures database retrieval time by selecting and paging through customers.
You will start the client trace log to capture the time taken to select 10 customers and page through them within
Customer Maintenance. After you complete this test, you write to the client trace log file and use the Performance
and Diagnostic Tool to analyze results.
1. Click on the Settings button; from the General Options list, select Tracing Options.
The Tracing Options window displays.
3. Return to the Home screen and click the Menu button. Navigate to Customer Maintenance:
Menu Path: Sales Management > Order Management > Setup > Customer
Tip The CRM menu path is: Customer Relationship Management > Order Management > Setup >
Customer
6. Return to the Tracing Options Form and clear the Trace Log as described in the previous Activate the
Trace Log section.
7. Return to the search window and click the Search button to retrieve customer records.
10. Using the Navigation toolbar, click the Right Arrow button nine times to display the next nine customers.
11. Write to the Trace Log as described in the previous Test Setup section. Copy the Current Log File; this
value uses the TraceDataxxx.log file format.
62 Epicor ERP | 10
Performance Tuning Guide Baseline Performance Tests
13. Click on the Client Trace Analysis option on the Plug-Ins pane.
The Client Trace Analysis interface displays.
14. Either paste or browse to the Client File Trace Path to load in the client trace log you generated.
15. Click the Generate Diagnostics button to capture the performance results.
16. Click on the Summary tab and expand the GetByCustID Method Name.
Expected Results:
Observed time to move between customers: < 1 second
Example beakdown by business object method from the Summary sheet:
This standard metrics test measures database update performance. During this test, you will create a sales order
that contains twenty detail lines.
You will enter a sales order header and then start the client tracing to capture the time it takes to enter the 20
lines. After you complete the test, you will write the client trace log file and use the Performance and Diagnostic
Tool to analyze the results.
Epicor ERP | 10 63
Baseline Performance Tests Performance Tuning Guide
6. Verify that the first five column headers on the Lines > List sheet match the column headers in the table
below.
If not then rearrange the columns to match this sequence:
7. Create a spreadsheet that contains these twenty sales order detail lines (or copy and paste these lines from
this electronic document).
8. Clear the Trace Log as described in the previous Activate the Trace Log section.
9. Copy the twenty detail line from your spreadsheet into your clipboard. Do not select the column headers.
10. Right click above the column headers in the Lines>List sheet; select Paste Insert from the context menu.
11. Wait while the twenty order detail lines are loaded into the Sales Order Entry form.
12. Write to the Trace Log as described in the previous Activate the Trace Log section. Note the Log File name;
this value uses the TraceDataxxx.log file format.
64 Epicor ERP | 10
Performance Tuning Guide Baseline Performance Tests
15. Browse to the Client File Trace Path to locate the client trace file you wrote as described previously.
16. Click the Generate Diagnostics button to capture the performance results.
Expected Results:
Total observed time for 20 lines: 72 Seconds
This value is measured from the Results tab as the difference between the Start Time of the first method and the
End Time of the last method.
This standard metrics test measures database update performance. During this test, you will create a purchase
order that contains twenty detail lines.
You will enter a purchase order Header and then start the client trace log to capture the time it takes to enter
the 20 detail lines. After you complete the test, you will write the client trace log file and use the Performance
and Diagnostic Tool to analyze the results.
1. Navigate to Purchase Order Entry: Material Management > Purchase Management > General Operations
> Purchase Order Entry
Menu Path: Material Management > Purchase Management > General Operations > Purchase Order Entry
5. Verify that the first seven column headers on the Inventory sheet match the column headers in the table
below.
If not then rearrange the columns to match this sequence:
6. Create a spreadsheet that contains these twenty purchase order detail lines (or copy and paste these lines
from this electronic document).
Epicor ERP | 10 65
Baseline Performance Tests Performance Tuning Guide
7. Clear the Trace Log as described in the previous Test Setup section.
8. Copy the twenty detail line from your spreadsheet into your clipboard. Do not select the column headers.
9. Right click above the column headers in the Inventory sheet; select Paste Insert from the context menu.
10. Wait while the twenty purchase order detail lines are loaded into the Purchase Order Entry form.
11. Write to the Trace Log as described in the previous Activate the Trace Log section. Note the Log File name;
this value uses the TraceDataxxx.log file format.
14. Browse to the Client File Trace Path to locate the client trace file you wrote as described previously.
15. Click the Generate Diagnostics button to capture the performance results.
Expected Results:
Total observed time for 20 lines: 51 Seconds
This value is measured from the Results tab as the difference between the Start Time of the first method and the
End Time of the last method.
66 Epicor ERP | 10
Performance Tuning Guide Performance Tuning Strategy
Once you have determined some actual and potential causes for poor performance, you are ready to try some
options.
The main strategy to remember is always change one aspect of the system at a time. That way you can clearly
evaluate the benefits and costs for each change. When you try a performance option, do the following:
Test how long it takes to run a process before you use a performance option. Then after you implement the
option, test the same process again. You should see a significant savings in performance time.
Be sure to record each change and why you made it, as you then can review what you did later on. Write
comments in your scripts, customizations, web configuration file, and other locations to document the changes.
Remember you can gain a lot of performance by just doing a few things. Usually adding memory and spreading
the disk workload across as many disks as possible gives you the best performance gains. Always stop after you
have accomplished enough; the more tuning you do, the smaller the return on your investment and time.
Epicor ERP | 10 67
Index Performance Tuning Guide
Index
A E
access server logs 31 epicor technical support 9, 10
add files 36 epicor version 37
additional diagnostic resources 39 errors and messages sheet 37
analyze client logs 17 everything is slow 9
analyze configuration 24 exclude system calls 19
analyze server logs 32 export to excel 19, 37
application servers 46
application troubleshooting 49
application tuning 49
F
fields client diagnostics 19
B fields server diagnostics 36
frequent user complaints 9
baq best practices 56
baq performance tuning 54, 56
baqs, application server settings 54
G
baseline performance test 58 generate application server logs 29
best practices, baq 56 generate client logs 16
blocking and locking 39 generate diagnostics 20, 37, 63, 65
business activity queries, application server settings 54 getrowskeepidle 58
business activity query 56, 57 getrowskeepidletime chart 34, 37
business activity query performance tuning 56
H
C
hardware sizing guide 7
clear results 19, 36 how it is organized 5
clear selected 37
client cache 49, 59
client cache, locate 50 I
client customizations 50
client diagnostic scenarios 21 ignore getrowskeepidletime 37
client diagnostics 16 intended audience 5
client logs, analyze 17
client logs, generate 16 L
client trace path 19
client tracing log options 20 lan 58
common patterns 9, 10 load distribution 46
configuration check 22 locking and blocking 39
configuration check settings 23 locking and blocking, additional resources 43
configuration settings file 61 locks log, review 42
configure the sp_lock3.sql file 40 locks log, start 42
create sql job 40 log details, server 27
custom format 19 log file date format 20
customer retrieval 62 log size, server 27
customer retrieval test 62
M
D
memory cached programs 50
deadlock graph setup 43 millisecond threshold 37
deadlock graph, activate the sql 44 mrp performance tuning 52
deadlock graph, stop 44
deadlock tracing 43
developer mode 50
N
network diagnostics 25
68 Epicor ERP | 10
Performance Tuning Guide Index
R T
reboot corrects poor performance 10 task agent rules, create 47
results sheet 20, 37 task agents 46
review the locks log 42 test form performance time 59
run the sqlio utility 13 test procedure 59
test setup 58
S trace log 9, 59, 62, 63, 65
Epicor ERP | 10 69
Additional information is available at the Education and
Documentation areas of the EPICweb Customer Portal. To access
this site, you need a Site ID and an EPICweb account. To create an
account, go to http://support.epicor.com.