WebSphere brand IBM WebSphere Presence Server, Version 7.0

Configuring performance-related settings

You can use the Presence Server configuration file to activate key performance indicators and specify other settings to optimize your system's performance.

Before you begin
You will need the following files to complete this task. After you install the Presence Server product, these files are found in the directory was_root/installableApps/presence/scripts/config.
  • SystemConfiguration.xml
  • ConfigurationParams.txt
  • UpdateConfiguration.jar
Before you can make changes to your configuration, the file UpdateConfiguration.jar must be in the class path.
About this task
Presence Server offers the following performance-related configuration settings:
  • You can activate key performance indicators (KPI) to trace system activity. These performance indicators are based on the Performance Monitor Infrastructure (PMI) found in WebSphere® Application Server, and you can view them.
  • When a presence document changes (as the result of a PUBLISH request or expiration), the server publishes a JMS message to indicate the change. Additional content–for example, the modified document and the document version number--is included so that other servers can retrieve the documents more easily. If you do not require the additional content, you can disable this feature. Doing so reduces the size of JMS messages and may, as a result, improve the performance of your system.
  • When Presence Server receives a presence rules authorization document, it sends a JMS message to other servers in the cluster. The authorization document is included in the JMS message by default. You can override this default to improve performance when working presence rules authorization is enabled.
  • The notification throttling mechanism allows client applications to limit the rate of notifications, to decrease the processing overhead and the network load. A significant saving may be achieved with subscriptions to resources with high notification rate, such as subscriptions to large resource lists.
  • You can configure Presence Server so that it waits to send the first NOTIFY message until it has received all of the information from a subscriber (IBM® XDMS or an external source). When notification throttling is enabled, this setting can prevent the sending of incomplete NOTIFY messages. It can also improve performance because it reduces the number of NOTIFY messages sent to the subscriber.
  • You can also disable the caching of changed documents. Doing this can reduce the number of database transactions, resulting in improved performance.

To activate and deactivate performance-related tools, follow these steps. The topic Performance metrics lists the key performance indicators that are supported by Presence Server .

  1. Open SystemConfiguration.xml with a text editor.
  2. Modify the attributes on the PMI tag to activate or deactivate PMI-based key performance indicators (KPIs).
    You can set the following attributes. Default values are shown.
    accumulationTime="1"
    The amount of time, in minutes, for which KPI data is collected. Data older than the specified time interval is discarded.
    outputToTrace="false"
    true to store KPI data in trace records so that it can be viewed in logs; false not to store it in trace records.
    outputViaSOA="false"
    true to store KPI data in a format where it can be viewed using service-oriented architecture (SOA) software; false not to store it in this fashion.
    For a complete list of the PMI-based key performance indicators that are used by Presence Server, refer to the topic Key performance indicators.
  3. Modify the documentChangeJMS tag to specify whether the contents of changed documents should be included in JMS messages.

    Set includeFullDocument="true" (the default) to include the contents of changed documents in JMS messages.

    Set includeFullDocument="false" to omit the contents of changed documents from the messages.

    A setting of true might improve performance because the documents are cached and do not need to be retrieved from the database.

    For example:
    • <documentChangeJMS includeFullDocument="true"/>
  4. Modify the authorizationChangeJMS tag to specify whether, following a change in authorization, the JMS message sent to servers in the cluster should contain the authorization document.

    Set includeFullDocument="true" (the default) to include the authorization document in the JMS message after a change in authorization.

    Set includeFullDocument="false" to omit the authorization document from the JMS message.

    A setting of true might improve performance because the documents are cached and do not need to be retrieved from the database. If you do not require the additional content, you can disable this feature. Doing so reduces the size of JMS messages and may, as a result, improve the performance of your system.

    For example:
    • <authorizationChangeJMS includeFullDocument="true"/>
  5. Modify the attributes on the throttling tag to limit the rate of SIP event notifications for one or more event packages.

    Set enable="true" to enable notification throttling; set enable="false" to disable it. By default, notification throttling is enabled.

    You can set throttling intervals for three types of event packages. Within the throttling tag, each event package is represented by a separate event tag with the following attributes:
    name=""
    String specifying the type of event package. The following values are valid:
    • presence
    • presence.winfo
    • presence.winfo.winfo
    default=""
    Default throttle interval, in seconds. A SIP notification for the specified event package will be accepted only once during this interval. The valid range is 0-3600. The default value is 5.
    minimum=""
    Minimum throttle interval, in seconds. The valid range is 0-3600. The default value is 5.
    maximum=""
    Maximum throttle interval, in seconds. The valid range is 0-3600. The default value is 600.
    For example:
    • <throttling enable="true"> <event name="presence" default="5" minimum="5" maximum="600"/> <event name="presence.winfo" default="5" minimum="5" maximum="600"/> <event name="presence.winfo.winfo" default="5" minimum="5" maximum="600"/> </throttling>
  6. On the waitForExternalInformation tag, modify the maxInterval attribute to specify how long to wait while collecting information from IBM XDMS and other external sources before notifying the client.

    maxInterval specifies the time, in seconds, to wait while collecting information from IBM XDMS and other external sources before sending a notification to the client. For group subscriptions, the time is measured after the group content is received from IBM XDMS.

    Valid values are 0-60. The default value is 15.
    Note: Avoid setting the interval too small, to avoid having notifications sent before all information has been collected. It is also recommended that you select a value of 30 or below because a subscriber may invalidate the subscription if a notification is not returned within 30 seconds.
    For example:
    • <waitForExternalInformation maxInterval="15" />
  7. Modify the documentCache tag to specify whether the contents of changed documents are saved in cache.

    Set enable="true" (the default) to cache the contents of changed documents.

    Set enable="false" to avoid caching changed documents.

    A setting of true might improve performance because the documents are cached and therefore do not need to be retrieved from the database.

    For example:
    • <documentCache enable="true"/>
  8. Save and close the file.
  9. Open ConfigurationParams.txt with a text editor.
  10. Update the following parameters for your environment:
    • cfg.system = xml_path (where xml_path is the directory location for SystemConfiguration.xml)
    • username = database_administrator_user_name
    • password = database_administrator_password
    • DB2 dbDriver = com.ibm.db2.jcc.DB2Driver
    • Oracle dbDriver = oracle.jdbc.driver.OracleDriver
    • DB2 dbConnectionString = jdbc:db2://database_host_name:database_port/database_name
    • Oracle dbConnectionString = jdbc:oracle:thin:@database_host_name:database_port:database_name
  11. Run the java command that is appropriate for your operating system:
    Important: Enter the following parameters on a single line.
    • AIXLinux java -classpath UpdateConfiguration.jar: jdbc_path CmdConfig config_path/ConfigurationParams.txt
    (where jdbc_path is the directory location for your JDBC drivers and config_path is the directory location for ConfigurationParams.txt)
    Important: JDBC drivers must be separated by a colon.
    For example:
    • AIX /usr/IBM/WebSphere/AppServer/java/bin/java -classpath UpdateConfiguration.jar:/opt/IBM/db2/V9.5/java/db2jcc.jar:/opt/IBM/db2/V9.5/java/db2jcc_license_cu.jar CmdConfig ConfigurationParams.txt
    • Linux /opt/IBM/WebSphere/AppServer/java/bin/java -classpath UpdateConfiguration.jar:/opt/IBM/db2/V9.5/java/db2jcc.jar:/opt/IBM/db2/V9.5/java/db2jcc_license_cu.jar CmdConfig ConfigurationParams.txt
  12. Restart the application:
    1. Click Applications > Application types > WebSphere Enterprise Applications.
      Note: If you are using WebSphere Application Server version 6.1.0.x, reach this window by clicking Applications > Enterprise Applications.
    2. Select the check box associated with the Presence Server.
    3. Click Stop. The Application Status column should indicate a Stopped status.
    4. Click Start. The Application Status column should indicate a Started status.



Terms of use
(C) Copyright IBM Corporation 2009. All Rights Reserved.