Problem: SAP Mobile 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 SAP Control Center. The default
minimum heap size is 512MB and the default maximum heap size is 2048MB. See
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
SAP Control Center. Alternatively, you can also
decrease the stack size to save more memory. See Configuring System Performance Properties.
-
Messaging 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 SMP_HOME\Servers\UnwiredServer\Repository\Instance\com\sybase\djc\server\SocketListener\.
View messaging queue statistics in the Monitoring node of
SAP Control Center to calculate the appropriate
values and enter these in the Server
Configuration node of
SAP Control Center. See Configuring System Performance Properties.
- Replication synchronization – if replication synchronization
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 replication
synchronization server. Choose an appropriate synchronization cache size and
thread count in the Server
Configuration node of
SAP Control Center. See 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 SAP Mobile 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
SAP 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
SAP Control Center. See Configuring Communication Port Properties in SAP Control Center
for SAP Mobile Platform.
- Server host memory – if you are running
SAP Mobile Server on a host with 4GB of memory, by
default, 2GB of memory is allocated to applications, such as
SAP Mobile 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 SAP Control Center. See Data Source Performance Errors.
- SAP Mobile 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 SMP_HOME\Servers\UnwiredServer\Repository\Instance\com\sybase\djc\sql\DataSource\*.properties.
For expanded performance tuning details, especially in regards to
synchronization performance, see Performance Tuning in
System Administration.