Unwired Server Messaging Performance Tuning Reference

Use this table to quickly ascertain which runtime properties you can adjust to tune messaging performance.

The majority of messaging tuning revolves around Unwired Server configuration:
Recommendations Generally Suitable for 64-bit Production Servers
Property Function Default Production Recommendation
Number of inbound queue* The concurrent number of threads that service package(s) requests from devices. If the processor of either the messaging database or the Unwired Server is excessively high, you can throttle the number of requests and limit contention for resources using this setting. Low settings decrease parallelism; high settings may cause undue contention for resources. 5 per cluster 100 per cluster in a 2-node cluster
Number of outbound queue* The number of outbound queues between Unwired Platform and Messaging Services. Messages from these queues are eventually persisted, by the JmsBridge component into a per-device queue belonging to the Messaging Services. Subscription requests can generate a large number of outbound messages and temporarily cause backups in the queues. Since multiple devices can share the same output queue, larger number of queues can reduce delay getting the messages to the intended devices. 25 per cluster 100 per cluster in a 2-node cluster
Check interval for package Specifies whether the interval system should check for a package to see if there are changes to be pushed to the devices. Align this setting when the cache is being refreshed or updated. If the cache is refreshed every 4 hours, the check interval should also be 4 hours. However, if the cache is only updated via DCN, align the update frequency with the DCN interval accordingly. The check/push generation algorithm is scheduled to be enhanced in future versions. 10 minutes 10 minutes
Number of push processing queues* Number of queues (threads) that execute the change detection function (download SQL execution) to determine if there are changes to be pushed to the device. The number of queues determines the maximum concurrency for change detection. All packages shared the same set of push processing queues. 25 per cluster 25 per cluster in a 2-node cluster.
JVM minimum heap size The minimum memory allocated to the differencing and cache management functions of the server. 512MB 2GB
JVM maximum heap size The maximum memory allocated to the differencing and cache management functions of the server. 2GB 6GB
* Cluster-affecting property