WebSphere brand IBM WebSphere IP Multimedia Subsystem Connector, Version 6.2

Adjusting heap size for subscription database handling

You can adjust your heap size for subscription database handling by changing the maximum heap size in WebSphere® Application Server.

About this task

The purging thread is intended to periodically remove subscription entries that have expired in the database. The proper handling is for an application to subscribe for an Ro Reauthorization Notification immediately before it starts using a session ID and then unsubscribing for that session ID once the authorization session has finished. If the application does not unsubscribe and the subscriptionDuration interval has passed, then that subscription entry is a candidate for deletion by the purging thread.

The purging thread does not run by default. If a subscriptionPurgingInterval is configured, the purging thread will run repeatedly with a delay of the purgingInterval in between runs. The purging thread retrieves all expired subscriptions in the subscription table and deletes them each pass. If the table is very large, and the number of expired subscriptions is expected to be very large, then the configured heap size must also be very large to handle these large reads.

While the heap size varies depending on the mix of application data and IMS Connector data that is present, the following basic guidelines will help you determine the size of heap that is required:
  • Each subscription record varies in size, but a reasonable estimate is a 550 byte entry. If you expect the system to be able to purge 1,000,000 entries at a time, then you must add 550 MB of heap to your existing heap to handle this surge in entries. Likewise, if you expect to purge 2,000,000 entries at a time, you must add 1100 MB of heap space to the existing heap.
  • Purging a table where more than 2,000,000 entries are expired should be handled through an independent database script where the script periodically deletes all entries that are expired through an SQL query.
Note: For information about changing the maximum heap size, see the "Java virtual machine settings" topic, located in the Reference section, in the WebSphere Application Server 7.0 Information Center.

If you wish to continue to use the purging thread for large queries, you should make the subscriptionPurgingInterval as small as possible (e.g., 30 seconds). This has the affect of processing the expired entries more frequently; consequently, the number of entries to be purged at a time is less. If entries expire at a faster rate than they can be removed, then the number of expired entries will grow indefinitely. The result will be that the heap space will be eventually exhausted and an out of memory condition will occur.




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