ADS Performance Tuning Tips

Please see SAP’s ADS Sizing Guide, ADS Configuration Guide and FLM Sizing Guide for more detail. Specifically Sections 4 of the ADS Sizing Guide which deals with Interact Forms and Section 17 of the Configuration guide which describes how to tune ADS.

https://www.sdn.sap.com/irj/sdn/adobe?rid=/webcontent/uuid/90355269-4d89-2a10-0bb9-f388704f1dcd

Java Connectors

FLM Java Connectors

Check your FLM Java Connectors to ensure the Max sizes are high enough:

Maximum Pool Size:

Maximum Connections:

JCo RFC Provider

In Visual Administrator:  Server -> Services -> JCo RFC Provider

Properties:    

MaxConnections:

MaxProcesses:

System Landscape Directory (SLD)

The FLM Java Connectors are registered with the SLD and each time the Java Connector is used the SLD is accessed to verify it validity. If you are using a Central SLD (or your SLD is on a different network or city or country even) you should consider using a local SLD (on the same Java Stack that the Java Connectors are configured) to speed up these checks.
 

ADS Processes

Monitoring

Monitoring for ADS can be set on the Java Stack by following this guide: Adobe Performance Analysis

Sizing

You may also want to increase the number of ADS processes available. See section 17 of the ADS Configuration Guide.

In Visual Admin -> Services

PDF Manipulation Module:

Default PoolMax is 4

XML Form Module:

Default PoolMax is 2

These are CPU bound operating system level processes (not in the Java Stack) and should not exceed the number of CPU Cores available. You should also leave CPU capacity for anything else running on the system. If this is an FLM only box with 8 cores its safe to put XML Form Module up to 6 but make your own judgements.

Periodic Slow Render

The first time a form is run after a system restart or for the first time in the morning you may notice slow render times (over a minute) after which render times returning to normal.

What is happening is after a certain amount of idle time the ADS objects will be collected by the Java garbage collector and destroyed.  In this situation when the next form is loaded all the objects will need to be recreated and loaded into memory. The same is true when the system restarts, ADS isn't loaded into memory until it is called.

If this is an issue for you the easiest way to over come it is to setup a simple and lightweight background job to run that keeps ADS loaded.

  1. Create a variant of program FP_PDF_TEST_00 - which returns the ADS version.
  2. Set that variant as a background job to run at 0800 in the morning.

There is a great deal of configuration that can be done with Java Garbage Collector but we suggest you stick with SAP's recommendations in Note 723909 - Java VM settings for J2EE 6.40/7.0.

 

Additional Info

Also see ADS  Problem Analysis for more ADS info.