Export Elements to Limit

The following list includes export elements known to degrade system performance. This list can be used to troubleshoot existing exports, and can also be reviewed prior to creating new exports to prevent performance problems.

To ensure maximum export performance, the usual strategy is to limit the amount of information exported, or limit the number of times the same node is exported with the same data.

For general information on exports, refer to the Data Exchange documentation here.

Limit Event-Based OIEPs

Event-based outbound integration endpoints (OIEPs) can adversely affect the performance of the system as a whole. The number of OIEPs can adversely affect the approval / external attribute change process because each change must be checked against the triggering definitions on all OIEPs to determine if any is interested in that specific change. A general guide is to have no more than 10 event-based OIEPs.

For more information, refer to the Outbound Integration Endpoints topic in the Data Exchange documentation here.

Limit the Volume of Exported Data

Advanced STEPXML makes it possible to define what data to export while leaving out the other data. For example, only include the export attribute groups instead of including all attributes. The CSV export format and the Generic XML format allow configuring only the data that is needed.

In the following image, the Advanced STEPXML exports only the 'Accessory' reference type:

For more information, refer to the Advanced STEPXML Format topic (here) and the Data Formats topic (here), both in the Data Exchange documentation.

Limit Unnecessary Data

Consider the impact of additional objects and determine if they are required, as many additional objects slows the export process. Generally, limit unnecessary data in the export using these methods:

  • An event generator can be used to add additional objects via derived events, as defined in the Generate Event section of the OIEP - Event-Based - Event Triggering Definitions Tab topic within the Data Exchange documentation here.
  • A pre-processor can add additional objects to the export set associated with the event batch, as defined in the Configure the Pre-processor and Post-processor section of the OIEP - Event-Based - Output Templates Section topic within the Data Exchange documentation here.
  • The Advanced STEPXML template can include additional objects, for example, via references. For more information, refer to the Filter References in STEPXML topic within the Data Exchange documentation here.

Limit Multiple Output Templates

Multiple output templates can be associated with a single outbound integration endpoint (OIEP) enabling the OIEP to handle different types of objects / events, each having the ability to be output in a different format. This flexibility allows the user to change how data is exported for different kinds of objects.

Important: While STEP allows multiple output templates per OIEP, it can have a severe impact on performance since a new batch is created each time a new output template is required.

Alternate approaches include:

  • When possible, use different OIEPs to handle the 'family' and 'item' changes separately. This is not an option if the events need to be processed in sequence since the 'item' change could be exported, and delivered, before the 'family' change.
  • Use STEPXML to easily contain the 'family' and 'item' data in the same file.

For more information, refer to the OIEP - Event-Based - Output Templates Section topic within the Data Exchange documentation here.

Avoid Complex Export Privileges

When exporting, for each piece of information exported, all privileges are checked for the export user. This privilege check often includes a hierarchy check (e.g. 'is the product below a certain root node') which can take a significant amount of time for large exports. Limiting the number of privileges for the exporting user can improve performance dramatically.

Consider creating a user with relatively few and broad permissions explicitly for exports. Since only the user configured on the endpoint is relevant, this export user generally ensures improved performance.