Unwired Server Replication Tuning Reference

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

Recommendations Generally Suitable for 64-bit Production Servers
Property Function Default Production Recommendation
Thread count Controls the concurrent number of threads that service devices for synchronization. This setting controls the amount of CPU used by the Unwired Platform and CDB tiers. If the processor of either the CDB or the Unwired Server is excessively high, you can use this setting to throttle the number of requests and limit contention for resources. Low settings decrease parallelism; high settings may cause undue contention for resources. 10 per server For a 2-node cluster, use 12 for each node. For a single node, use 24.
Synchronization cache size The maximum amount of memory the server uses for holding table data related to device users, network buffers, cached download data, and other structures used for synchronization. When the server has more data than can be held in this memory pool, the data is stored on disk. 50MB 1GB
JVM minimum heap size The minimum memory allocated to the differencing and cache management functions of the server. 64MB Sybase recommends that the value not exceed 700MB, or Unwired Server is unable to start.
JVM maximum heap size The maximum memory allocated to the differencing and cache management functions of the server.
Choose the heap size carefully, otherwise you may have issues with Unwired Server startup. Choose a JVM setting that is appropriate for your:
  • Server hardware configuration (for example, 64 bit/32 bit, RAM size, VM size).
  • Size of objects and encoding. Because Unwired Server uses base64 as default binary encoding, it causes a 3-factor growth from the original size. For example, 1M after encoding to base64, uses around 3M memory. For multiple concurrent users, the memory would be multiplied. So we need to calculate the maximum heap size based of server based on above information.
256MB For a 64-bit operating system, Sybase recommends 1 gigabyte for a normal configuration, but 2 gigabyte for a stress configuration (which can vary depending on what RAM is available).
Note: The synchronization differencing algorithms are a key feature of replication; this technology runs in the JVM. You must provide adequate memory to these components. If these algorithms are memory starved, the JVM spends an inordinate amount of time garbage collecting memory, and synchronizations back up in the internal queues. You can monitor process memory usage with tools like SysInternal’s Process Explorer to determine the actual amount of memory in use by Unwired Platform, and adjust the JVM heap size accordingly