PeopleSoft BI / XML Publisher Performance Tuning Tips


XML FILE
Use SQR or other mechanisms (App Package) to generate the XML File as a preprocessing step.
Reason: the XML File is the most optimal data source for an XMLP report.

CLASSPATH setup:
Set the 'Add to CLASSPATH' parameter in the application server psappsrv.cfg or psprcs.cfg file to point directly to these files. (Application Server is used for Query Report Viewer)

EXAMPLES for CLASSPATH:

Windows Example:
Add to CLASSPATH=C:\
%PSFT_HOME%\CLASS\xdo56.jar;C:\%PSFT_HOME%\CLASS\psxmlp.jar;C:\%PSFT_HOME%\CLASS\xmlparserv2.jar

UNIX Example:
Add to CLASSPATH=/
%PSFT_HOME%/appserv/classes/xdo56.jar:/%PSFT_HOME%/appserv/classes/psxmlp.jar:/%PSFT_HOME%/appserv/classes/xmlparserv2.jar

CACHE
Verify if the directory 'CACHE' are created under the Application Server and Process Scheduler domains.

system-cachepage-size:
Experiment with setting higher values for the below line in the relevant xdo.cfg file:
50 (50 => 500 => 5000)

Template Type:
To improve performance use a PDF rather than RTF template. The PDF template is generally more efficient because it less processing and is therefore faster.

Note when creating PDF templates:
Reusing an older PDF template as a basis for creating a newer one may result in the retention of non-visible meta-data information that is obsolete. This could hurt performance. It is recommended to always work with a brand new PDF file when creating a new template for maximum performance.

Large XML data sources:
PSQuery and rowset data sources may not be the most efficient way to generate the XML file that is used as input to BI Publisher, (XML Publisher). Consider using SQR or other mechanisms to generate the XML file.

TEMP and TMP:
Larger files may use the temp file system, rather than memory, so ensure these environment variables are set, the folders exist, are writeable, and contain sufficient space.

Java Heap Configuration:
If a java error regarding memory is returned, first seek to understand the meaning of the error.   For explanations, refer to: Troubleshooting Guide for Java SE 6 with HotSpot VM
http://www.oracle.com/technetwork/java/javase/memleaks-137499.html#gbywc

Once the error is understood, confirm existing configurations and consider increasing or decreasing the java heap setting.  Additional virtual memory may be required on the server.

You can change the java heap by specifying the arguments to the parameter:   JavaVM Options=

Do not remove existing other arguments following this parameter.
If the java heap arguments are not present already, they may be added to the end of the existing arguments after a space.

The arguments for java heap are:  -Xmx###m -Xms###m

These appear in BOTH the application server appserv.cfg and process scheduler psprcs.cfg.

Process Scheduler configuration setup:
a. Open the psprcs.cfg file
b. Edit the JavaVM Options parameter to add/increase the java heap arguments, example:
JavaVM Options= -Xrs -Dxdo.ConfigFile=%PS_HOME%/appserv/xdo.cfg -Xmx32m -Xms32m

If the parameters are already contained in the string, increase them gradually, e.g. 64/64, 128/128,256/256,512/512,1024/1024, up to the level of accessible *contiguous* memory on the host, until the issue is resolved.
c. Delete cache and restart the scheduler.

Application Server configuration setup:
a. Open the psappsrv.cfg file
b. Edit the JavaVM Options parameter to add/increase the java heap arguments, example:
JavaVM Options= -Xrs -Dxdo.ConfigFile=%PS_HOME%/appserv/xdo.cfg -Xmx32m -Xms32m

If the parameters are already contained in the string, increase them gradually, e.g. 64/64, 128/128,256/256,512/512,1024/1024, up to the level of accessible *contiguous* memory on the host, until the issue is resolved.
c. Delete cache and restart the server