You can optimize performance for large content uploads
and downloads in a server farm that uses the Enterprise JavaBeans (EJB) transport. To do so, you
specify a server affinity setting in the Content Platform Engine client application.
Enabling this setting improves the throughput of the content transfer
and reduces the number of connections to external resources.
When this setting is enabled, large content that requires
multiple
Content Platform Engine server
round-trips to either upload or download will use the same
Content Platform Engine server to process all
the requests for that content. Thus, a single
Content Platform Engine server in a server
farm handles all the requests to upload or download the content of
a document rather than having the transfer of different pieces of
that content handled by multiple
Content Platform Engine servers in the farm.
Limiting the processing to a single server provides the following
benefits:
- Reduces the processing involved in maintaining the state of the
transfer among multiple servers.
- Allows for additional optimization by the single server that transfers
all the content for that object.
- Reduces the number of total connections that are required to external
resources such as the database and fixed content devices. Instead
of multiple Content Platform Engine servers
each requiring a connection to an external resource to handle the
retrieval of a single large document, only a single connection is
required by the server that is handling the full request.
To enable the content upload and download optimization,
choose one of the following methods:
- Preferred method: Add the following Java™ Virtual Machine (JVM) arguments to the Java command-line parameters that
are used to start the Content Platform Engine client
application, for example, IBM®
FileNet® Workplace XT.
Arguments:
FileNet.Content.UploadServerAffinityEnabled=true
FileNet.Content.DownloadServerAffinityEnabled=true
Example:
java -DFileNet.Content.UploadServerAffinityEnabled=true
-DFileNet.Content.DownloadServerAffinityEnabled=true MyFileNetApplication
- Add the following parameters to a FileNet.properties file
that is used by the Content Platform Engine client
application. If your Content Platform Engine client
application, for example, Workplace XT,
runs within an application server, make sure to save the file in
the application server startup directory for your client application.
The following examples show possible locations of the FileNet.properties file
for Workplace XT.
Application server |
Sample location of the FileNet.properties file |
IBM
WebSphere® Application Server |
C:\Program Files\IBM\WebSphere\AppServer\profiles\AppSrv01\FileNet.properties |
Oracle WebLogic Server |
C:\bea\user_projects\domains\mydomain\FileNet.properties |
JBoss Application Server |
C:\jboss\jboss-5.1.0_EAP\bin\FileNet.properties |
Parameters:
FileNet.Content.UploadServerAffinityEnabled=true
FileNet.Content.DownloadServerAffinityEnabled=true
- Use the Content Platform Engine Java API to set the parameters on
a Connection object. Setting these parameters
programmatically takes precedence over the JVM system properties if
both are specified.
Example:
// Get Connection from domain
Domain domain = fetchDomain();
Connection conn = domain.getConnection();
conn.setParameter(ConfigurationParameter.CONTENT_UPLOAD_SERVER_AFFINITY_ENABLED, Boolean.TRUE);
conn.setParameter(ConfigurationParameter.CONTENT_DOWNLOAD_SERVER_AFFINITY_ENABLED, Boolean.TRUE);