Many characteristics of the network environment in which SAP Mobile Platform and Relay Servers are installed can reduce performance. Understanding what these are and which are most likely to cause problems provides some guidance in how to approach performance tuning.
The key objective in performance tuning is to identify the bottlenecks, or limiting points, in the overall system so you can increase capacity where needed.
In practice, you must iteratively test with a targeted set of loads for your business and factor in traffic patterns at different times of day, especially at peak levels. Identify the bottlenecks in the overall system and then tune to relieve one or more identified bottlenecks. This process shifts the bottleneck from one component to another in the overall system, while gaining overall performance on each tuning iteration.
If the network surrounding the Relay Servers is not saturated, your first iteration identifies the Relay Servers as the bottleneck. Determine whether the existing Relay Servers can be tuned to perform more efficiently before considering adding Relay Servers to the farm. Relay Servers might be limited in speed by the resources below.
Potential Speed Limiting Resource | Likelihood |
---|---|
Network I/O between Relay Servers and outbound enablers | Likely |
Network I/O between Relay Servers and clients | Likely |
Application pool process (IIS) and thread availability | Unlikely |
CPU (including overhead on context switching and interrupts) | Very unlikely |
Relay Servers can be limited in data volume by these resources.
Potential Data Volume Limiting Resource | Likelihood |
---|---|
Application pool process (IIS) and thread availability | Likely |
Pre-allocated shared memory of a fixed size | Likely under heavy load |
Virtual memory | Unlikely |
Nonpaged pool memory consumed by HTTPS system driver and kernel | Unlikely |
You can monitor all these resources via Windows performance monitor except shared memory consumption; you can view this in a shared memory report in the Relay Server log whenever you archive the log. Tuning these elements, except shared memory size, falls under general IIS tuning practices. Separating rs_client.dll and rs_server.dll into different application pools enables resource partitioning and makes fine-tuning possible.