Troubleshooting Unwired Server Performance Issues

Problem: Unwired Server exhibits performance issues.

Explanation: The performance configuration may not be properly tuned to optimize system operation.

Solution: Ensure that all applicable performance-related settings are properly configured.
  • Java heap size – when the garbage collection log indicates high activity and the JVM memory allocation pool heap size remains close to the maximum, you may need to reconfigure the maximum and minimum heap sizes. You can enable garbage collection tracing by setting the "JVM options" property. Set appropriate maximum and minimum heap sizes in the Server Configuration node (Performance Configuration tab) of Sybase Control Center. The default minimum heap size is 512MB and the default maximum heap size is 2048MB. See Sybase Control Center online help > Configure > Configuring Unwired Platform > Unwired Server > Server Properties > General Server Ports > Configuring System Performance Properties.
  • Java thread stack size – if you see a StackOverflowError, you may need to increase the default stack size from 400KB. Set an appropriate Java thread stack size in the Server Configuration node of Sybase Control Center. Alternatively, you can also decrease the stack size to save more memory. See Sybase Control Center online help > Configure > Configuring Unwired Platform > Unwired Server > Server Properties > General Server Ports > Configuring System Performance Properties.
  • Messaging-based synchronization (MBS) – if there are large numbers of MBS clients and response times or queue counts are high, consider increasing the inbound and outbound messaging queue counts. These numbers control the number of message queues used for incoming and outgoing messages between the messaging-based synchronization application and the server. If you increase either of these values, ensure you also increase the maxThreads property of in the <hostname>_iiop1.properties file, located in <UnwiredPlatform_InstallDir>\UnwiredPlatform\Servers\UnwiredServer\Repository\Instance\com\sybase\djc\server\SocketListener\.

    View messaging queue statistics in the Monitoring node of Sybase Control Center to calculate the appropriate values and enter these in the Server Configuration node of Sybase Control Center. See Sybase Control Center online help > Configure > Configuring Unwired Platform > Unwired Server > Server Properties > General Server Ports > Configuring System Performance Properties.

  • Replication-based synchronization (RBS) – if RBS client application performance does not meet the desired level and the CPU or memory settings are not causing this issue, consider increasing the synchronization thread count and cache size for the RBS server. Choose an appropriate synchronization cache size and thread count in the Server Configuration node of Sybase Control Center. See Sybase Control Center online help> Configure > Configuring Unwired Platform > Unwired Server > Server Properties > Replication > Configuring Replication-Based Synchronization Properties.
  • Cache database (CDB) – if the CDB server is slow, consider increasing the CDB thread count to allow for more parallel threads to serve incoming requests from the Unwired Server nodes. See Changing the Cache Database Server Thread Count. Also consider tuning the number of client connections that are saved in the CDB connection pool. Configure this in the 'default' domain by modifying the 'default' data source pool size property in Sybase Control Center. Repeat this change on all nodes in the cluster.
  • Data change notification (DCN) listener threads – if there are a large number of concurrent requests and processing times for those requests do not meet requirements, consider increasing the number of DCN listener threads. Set an appropriate number of listener threads in the Server Configuration node of Sybase Control Center. See Sybase Control Center online help > Configure > Configuring Unwired Platform > Unwired Server > Server Properties > General Server Ports > Configuring Communication Port Properties.
  • Server host memory – if you are running Unwired Server on a host with 4GB of memory, by default, 2GB of memory is allocated to applications, such as Unwired Server. If performance issues persist after you have adjusted the aforementioned settings, consider starting Windows with a "/3GB" switch. See http://technet.microsoft.com/en-us/library/bb124810(EXCHG.65).aspx.
  • Platform connections – for JDBC connections, consider setting the maximum connection pool size to restrict the size of the pool. You can set this value in Sybase Control Center. See Data Source Performance Errors or Sybase Control Center for Sybase Unwired Platform > Configure > Configuring Unwired Platform Connections.
  • Sybase Unwired Platform connection settings to the backend EIS – for JDBC connections to the backend database, you can add options such as maxPoolSize=<no. of pool size> to the connection cache property files, located in <UnwiredPlatform_InstallDir>\Unwired Platform\\Servers\UnwiredServer\Repository\Instance\com\sybase\djc\sql\DataSource\*.properties.

For expanded performance tuning details, especially in regards to synchronization performance, see Synchronization Model Performance Tuning in the System Administration guide.

For more information, see System Administration guide > Environment Setup > Unwired Server > Server Performance Tuning.