October 23, 2015
By Keith Knuth
Infor Process Automation (IPA) is an extremely powerful tool for automating business processes, systems integration, and workflow within the enterprise. Infor has many customers who are processing tens of thousands of complex automated tasks with IPA per day. As load on the server increases you may notice the processing times for a given workunit take longer. How can you assign the IPA server heavier workloads and be assured you are maximizing the performance of your system? This blog post will give you a series of steps you can take to ensure you are getting the most out of IPA processing power.
Performance steps can be broken down into three categories:
- Hardware resources
- IPA Server settings
- IPA Process efficiency
Let’s take a look at the first category, hardware resources. There are some general guidelines available from Infor for minimum hardware requirements based on the type of load you plan on assigning IPA.
|Small||6 GB||50 GB||4 Windows/ 1 AIX||200 simple/medium Processes/Hour or 100 complex Processes/Hour|
|Medium||10 GB||50 GB||4 Windows/2 AIX||400 simple/medium Processes/Hour or 200 complex Processes/Hour|
|Large||19 GB||100 GB||6 Windows / 2 AIX||800 simple/medium Processes/Hour or 400 complex Processes/Hour|
IPA Process Types: Simple: < 10 Activity Nodes, Medium: 11-25 Activity Nodes, Complex: 25-50 Activity Nodes
(Note that the # of nodes is TOTAL nodes at runtime. If the Process contains loops then the # of nodes
inside the loop must be multiplied times the # of loops)
The chart above makes the assumption that no other applications are running on the server besides the Infor Landmark Technology Runtime engine, IPA, and the Infor ION Grid. Other applications will obviously increase requirements. It’s also important to recognize these are only guidelines. The actual Processes you are running can cause the requirements to vary widely. Certain Nodes in the Process can be more resource intensive compared to others. However, the chart should provide a place to start planning your implementation. To obtain a no charge comprehensive IPA budgetary sizing estimate from Infor for your particular implementation, please contact your Infor Client Account Executive.
Operating System Settings
Some performance problems can be traced to the OS itself. Make sure your OS has been updated to the most recent patch level and is supported by the Infor Landmark Runtime Engine. Also make sure you have the latest version of Java, including patches, supported by the Infor Landmark Runtime Engine.
IPA Server Settings
The IPA Server also provides some control over the speed at which Processes are completed. The first and easiest setting to change is the Process Log. Look under Process Server
Administrator>Configuration>Process Definitions menu. Choose your Process from the list of User, System, or Application Defined Processes. You should see a setting for Log Level. Set this to “None.” Many customers set this to “Workunit and Activity” when they are first installing or implementing in order to get good debugging information into the log file, then forget to turn it off. Unfortunately,
so much information gets written to the log file during runtime that it can degrade performance. If your workunits are processing just fine without errors, there is no reason to leave logging on. Just by making this one change customers have seen a 20-60% decrease in processing times.
GRID CPU Threads
The next IPA Server setting to check is actually an Infor ION Grid setting for the IPA application. It’s called CorePoolSize. IPA is a multi-threaded Java application and by default is installed with this CorePoolSize set to 2. This means that the system will process 2 workunits in parallel. If one of those workunits complete, it will then pick up the next work unit, but only 2 workunits will be actively
processing at any given time. The Infor ION Grid allows you to increase this setting. How do you know how high to increase this setting? It is solely dependent on the system resources available. Processing more workunits in parallel will increase CPU usage. So you should carefully watch CPU utilization as you increase the value.
To change the value:
- Open the Infor ION Grid application and select Advanced from the Menu at the top of the page.
- Navigate to Configuration>Configuration Manager>Applications then select the Landmark application
- Select Edit Properties and scroll down to the Infor Process Automation section.
- Locate the pfi.dispatcher.CorePoolSize property
- Update the property by typing in the value into Grid Host or Any Host. The Grid Host value will affect the current instance of IPA. Any Host will affect other instances of IPA running in a horizontally scaled (future) environment.
- Click Save.
- Restart the Grid node where the IPA module is running
This process is also documented in the Infor Process Administration Guide in the Configuring Process Server and the Grid section.
EJB IOS Connection
The last server side change that is commonly made is to switch from web based (http) to java based communication between Infor Lawson System Foundation and Infor Process Automation. Any Process that makes Internet Object Services (IOS) calls to Infor Lawson System Foundation may have its processing time decreased by making this change. This includes any Process with the Infor Lawson query or transaction nodes. To make this change access Process Server
Administrator>Configuration>System Configuration. Choose the “main” configuration. Select the Infor Lawson tab. Open your connection record and change the Connection Type from Web to EJB. You will also need to fill in the EJB Connection Parameters on the form, then save the record. Your system is immediately switched to using the new communication mode.
The values in the Connection Parameters section need to be retrieved from the Infor Lawson System Foundation server. They can be found in<LAWDIR>/system/services.cfg.
See the Infor Lawson System Foundation Using Infor Process Automation Configuration Guide in the Post-Installation Procedures section for details on this file and the parameters.
Note that to use this java connection method you must also have a federated security configuration between Infor Landmark Technology Runtime and Infor Lawson System Foundation. It is also worth noting that this change does not affect workunits run directly from Infor Process Designer. Those
workunits always use the web connection method.
IOS Connection Pooling
If you have multiple nodes in your Process making IOS calls but cannot make the EJB change you may still experience a similar performance increase by turning on IOS Connection Pooling. This can be done in the Infor ION Grid management tool. Open the properties page for the IPA Application. Set pfi.pooling.s3UsePooledConnections to true. This feature is available in 10.1.1.17
The Landmark UI has the ability to notify users when they have work assigned to them via a small pop-up “bubble” and a mobile “Notifications” application. If this functionality is not needed then as of release 10.1.1.26 it can be disabled. To disable all IPA related Landmark User Notifications, perform the following steps:
- Rich Client > Start > Applications > Process Server Administrator > Configuration > System Configuration.
- Open the configuration named “system”.
- On the Properties tab, create a new property, or update the existing property, named “disableUserNotifications”, and set the value to “true” (without the quotes).
The change will take effect immediately. Restarting IPA Grid nodes is not required.
Cancel Check Frequency
Check out this detailed post on how to tweak the “Cancel Check” process definition setting for a big boost when processes have a high number of activities.
Also reference our Process Based Performance Improvements post for even more tips and tricks.
*Operating System section added on 7/7/2015, User Notifications & IOS Connection Pooling added on 10/23/2015