Form Performance Optimization

ADS Performance testing

Use this activity in the IMG to test the speed of form rendering. Go into the activity, enter the number of times you want the form to render (e.g. 10), and then select the form type you would like to test. The program will render the form the number of times you have dictated in succession, and return an average time lapse per render. A one-page form should take in the region of one second to render.

ADS performance is a function of hardware, software and basis settings.  The overwhelming majority of processing in ADS rendering is done on the java stack.

Performance improvements fall into 2 main categories, firstly making an individual CPU thread run more quickly, and secondly, providing more parallel CPU threads for ADS processing

Individual CPU thread Tuning

Check there is no memory limitation on the machine at the OS layer. Processes to monitor are "PDFManipulation.exe" and "XMLForm.exe".

Run the ADS system on native 64-bit hardware.  Even though some ADS modules are 32-bit, the overall performance can be improved by building on 64-bit hardware.  Check SAP note 925741 for details of supported platforms.

Make the form templates as small as possible.  Do not embed logos and use non-embedding fonts [TNR, Times, Arial, Helvetica and Courier] only

Parallelising ADS Processing

Java stacks can be clustered.

In the Visual Administrator, <SID> /  ServerXX / Services / PDF Manipulation module - Low encryption, change the PoolMax setting to allow more CPU cores to run ADS process threads.  Obviously this can have a detrimental effect on other services provided by the java stack. Similarly adjust 'XML Form Module'  service via the VA.  Always restart the java stack after these changes.

Please see SAP's "Sizing for Adobe Document Services"  guide for more details on performance tuning.  This can be downloaded from OSS

Template Optimization

Adobe Performance Guidelines

Review the following docuementation from Adobe on best design practices when developing your form template.

Check for JavaScript Errors

In FLM the ADS trace level can be set in the Customer Code settings.

Here set the trace level to highest  which will instruct ADS to insert the pdf logging information into the PDF (ensure that the file log.pdf exists in the directory \\usr\sap\<SID>\SYS\global\AdobeDocumentServices\lib). Then when the form is rendered in the portal you can open attachments and retrieve the logging information which will be in the errors.pdf document.

ABAP Optimization

During the render of the interactive form pre-population user exists will be called and on submisson posting adaptors. These must be written to run as fast as possible and repetative or inefficient calls to the SAP database should be avoided. The following activities should be the minimun steps taken by any developer to ensure good performance. To aid the developer they should always assume that a form will need to be rended many hundreds of times and in a matter of seconds.

  1. Performing a Code Inspection during development and before unit testing
  2. Review Buffering or Indexing of Tables  and how these are used
  3. Performing Run Time Analysis to identify bottle necks in single and multiple form rendering / posting

ADS Optimization (Server Settings)

See the ADS Performance Tuning Tips for more information.