These tips and best practices can enhance the performance of your CRM WebClient user interface in a client-server network environment. Learn strategic and valuable pointers that will help you avoid network performance pitfalls.
Key Concept
A network performance bottleneck refers to a situation that negatively affects end user satisfaction (e.g., slow download time for browser-based applications and client request response time). A bottleneck can result from the incapability of one or more components of the network infrastructure (e.g., bandwidth and network equipments) to support the performance, efficiency, and productivity of the system as a whole. As a browser-based front-end application in the SAP CRM system landscape, the performance of the CRM WebClient user interface is largely dependent on the performance of the underlying network topology.
With increasing globalization and business complexity, companies need to be able to connect to a centralized system from a wide range of locations. The SAP system is well poised to meet this business requirement with the CRM WebClient user interface (CRM WebClient UI), which supports business transactions for marketing, sales, and service. However, conducting business with the CRM WebClient UI can be challenging if the network infrastructure struggles with network latency, bandwidth inadequacy, traffic, and congestion. These problems in turn lead to performance issues such as reduced response time, network connection fluctuation, prolonged Web page download time, and so on. It is expedient to understand the basics of network connections to know how to identify and address network performance issues in the SAP CRM system landscape.
I’ll discuss factors that can influence the network performance of the CRM WebClient UI and provide best practices for achieving optimal network performance while processing transactions via the CRM WebClient UI. The best practices I cover include:
- Activate HTTP compression
- Adequate bandwidth provisioning
- Reduce the number of round trips
- Effective HTTP load distribution
- Activate Web caching
- Controlled activation of UI features
Note
This article applies to SAP CRM 2007 and SAP CRM 7.0.
Activate HTTP Compression
In the SAP CRM system landscape, the CRM WebClient UI acts as a client and requests data from the SAP NetWeaver Application Server (SAP NetWeaver AS) via standard browsers based on the HTTP. The HTTP is responsible for communication control between the HTTP client (the Web browser) and the HTTP server (the Web server). It’s useful when you need to send data across a slow network. As you may know, it’s a best practice to compress data on the server side and decompress the data on the client side. HTTP 1.1 supports compression and is a core requirement for using the CRM WebClient UI. HTTP compression helps reduce the total size of data transferred over the network via the CRM WebClient UI, which leads to a reduced network load and increased network performance.
It is important to appropriately configure compression-related profile parameters to see the benefits of the functionality, especially when it comes to network performance optimization. The profile parameters that play an important role in HTTP compression include:
- ict/disable_compression: The activation (or deactivation) of compression for an instance is controlled by this profile parameter. Ensure that compression is not disabled on the SAP CRM server side.
- ict/exclude_compression: This profile parameter defines the file patterns or extensions to exclude from compression. The default values include: *.zip, *.cs, *.rar, *.arj, *.z, *.gz, *.tar, *.lzh, *.cab, *.hqx, *.ace, *.jar, *.ear, *.war, *.css, *.pdf, *.js, and *.g. File extensions such as .zip, .jar, and .pdf are not taken into consideration for compression.
- ict/min_compression_size: This parameter defines the data volume (in bytes) from which a compression should be performed
You can obtain the current settings of these profile parameters by executing the ABAP reports RSPFRAR or RSPARAM with transaction SA38 or transaction SE38.
Adequate Bandwidth Provisioning
Bandwidth is the amount of data that can be transferred from one point to another within a given period of time. Inadequate bandwidth can greatly impair network performance. If you transfer large data sets over the network, you could experience a prolonged transfer time. In such a scenario, you need to increase the size of the available bandwidth to eradicate this performance bottleneck.
When you plan your network infrastructure, make provisions for a safety margin. The capacity and use of the network connection are critical factors that affect how end users assess the overall performance of the SAP CRM system. Hence, it is a best practice that you not plan your total network use to be greater than 75%. Calculating the appropriate bandwidth required in an SAP environment can be challenging because of the many dependencies, such as network environment (local area network [LAN] or wide area network [WAN]) and network equipment (e.g., switches, routers, and firewalls).
You can use the following formula as a guide for calculating the required bandwidth for the best performance of the CRM WebClient UI: C = X * N * D * 0.25. In this formula:
- C is the bandwidth in Kbit/seconds that is needed for the CRM WebClient UI
- X is the amount of data per dialog step in kilobytes
- N is the number of active users (independent of the number of sessions)
- D is the average number of dialog steps per minute per user
- The numeric component, approximately 0.25, is calculated as 8 (bit/byte) * 1.25 (protocol overhead) * 1/60 (min/s) * safety factor 1.57 (response time, peak load, different technologies)
Another performance-related benefit for the CRM WebClient UI is the prioritization of the traffic type by defining effective Quality of Service (QoS) for HTTP. This is particularly true when the native LAN in which the client works is different from the LAN where SAP NetWeaver AS resides, and the different LANs are connected via WAN. QoS helps control the allocation of bandwidth to competing application traffic (e.g., printer, mail, Web access, and file transfers) on a priority basis.
Reduce the Number of Round Trips
The round trip time (RTT), also known as the ping time, is defined as the communication cycle between the CRM WebClient UI (the client) and the SAP NetWeaver AS (server). The RTT is about twice as long as the latency time. Latency is defined as the time it takes to send a request from the client to the server or vice versa. The RTT forms the basis for measuring latency. You can use the SAP network diagnosis program NIPING to measure the average RTT.
Note
For more information about NIPING, refer to SAP Note 500235.
Aside from network bandwidth, the RTT also affects network response time. Usually, different network technologies have different RTTs. For example, a 100 megabit LAN, 56K modem, terrestrial WAN, and satellite connection have RTTs of less than 10 milliseconds (ms), 250 ms, 250 ms (or higher), and up to 600 ms, respectively. In the SAP CRM system landscape, an average of 1.2 round trips per user interaction step is possible.
Slow network response time often happens when the number of round trips from the client to the server for every screen increases. In this case, it is a best practice to reduce the number of roundtrips by deactivating the browser back support in your browser application. You can do this by following menu path CRM Implementation Guide > UI Framework > Technical Role > Definition > Define Technical Profile and checking the Disable Browser Back Support check box (Figure 1).

Figure 1
Customizing setting for the indicator Disable Browser Back Support
Activating the HTTP 1.1 protocol is a prerequisite for using the CRM WebClient UI. This is also a best practice because HTTP 1.1 offers performance benefits for browser-based applications, especially in the areas of persistent connection and HTTP pipelining. This means it sends multiple requests without waiting for a response, thereby reducing round-trip delays and enhancing performance. Furthermore, persistent connection ensures that transmission control protocol/Internet protocol (TCP/IP) connections are left open between consecutive operations, which helps you avoid the cost associated with multiple opens and closes. HTTP pipelining leads to improved CRM WebClient UI performance, particularly improved page loading times compared to high latency connections.
It is also important to ensure that network equipments (e.g., routers, switches, and firewalls) do not change HTTP 1.1 protocol to HTTP 1.0 protocol because it is backward compatible. You should change HTTP 1.1 protocol to HTTP 1.0 protocol in the event that network equipments cannot use HTTP 1.1 for communication. Activate HTTP 1.1 in your Web browser (in my example, Microsoft Internet Explorer) by checking the appropriate box, Use HTTP 1.1, after following menu path Microsoft Internet Explorer > Tools > Internet Options > Advanced (Figure 2).

Figure 2
HTTP 1.1 setting in Microsoft Internet Explorer
Another best practice to avoid performance bottlenecks is to ensure that, when using the CRM WebClient UI, you do not keep the server side TCP/IP sockets open for a long period of time. You can control this by properly setting the parameter keep_alive_timeout in the Internet Communication Manager (ICM) and SAP Web Dispatcher. This parameter, which relates to the HTTP 1.1 functionality, defines the time interval within which the network connection remains open after a request successfully processes. You do not have to reestablish the TCP/IP connection if it is receiving new requests.
Achieving an optimal setting for the keep_alive_timeout parameter can be challenging. As a guide, you should set the value of the keep_alive_timeout profile parameter high enough that the network connection does not have to be reestablished for requests sent in quick succession, but low enough that the number of unused open TCP/IP connections is not unnecessarily high. Setting this profile parameter to an optimal value ensures that the network infrastructure does not continue to establish and terminate network connections.
For SAP Web Dispatcher, define the keep_alive_timeout parameter in the profile file of the SAP Web Dispatcher (e.g., sapwebdisp.pfl). For ICM, define it via the parameter icm/server_port_<xx> with the option <timeout> in seconds. It is important to note that the value -1 deactivates the timeout functionality, while the value 0 means that the value is picked from the setting defined in the profile parameter icm/keep_alive_timeout. SAP recommends setting the keep_alive_timeout parameter to the same value in the ICM and the SAP Web Dispatcher.
Effective HTTP Load Distribution
Optimal load distribution, or balancing, also helps reduce network performance bottlenecks. It is a best practice to use the SAP Web Dispatcher when operating browser-based applications such as the CRM WebClient UI. In fact, SAP recommends using the SAP Web Dispatcher (as opposed to SAP Message Server) for HTTP load distribution to help increase network performance.
SAP Web Dispatcher is a component of SAP NetWeaver 7.0 (on which SAP CRM 2007 and SAP CRM 7.0 are based). Architecturally, SAP Web Dispatcher sits between the browser and the SAP NetWeaver AS. When a user makes HTTP requests to the SAP NetWeaver AS, the SAP Web Dispatcher distributes and sends the client requests to the appropriate SAP NetWeaver AS based on the capacity of that server. This capacity for ABAP and Java is dependent on the number of dialog work processes and the number of server processes, respectively.
Activate Web Caching
Web caching offers network performance improvement for browser-based applications such as the CRM WebClient UI in terms of increased response time. Caching stores recently accessed content in a buffer, thereby reducing the time needed to access the same content on the server. It helps free up server resources for the processing of other client requests.
The supported browsers for the CRM WebClient UI (Microsoft Internet Explorer and Mozilla Firefox) offer caching capabilities. In fact, SAP recommends that your system check for newer versions of stored pages automatically or every time you start the browser. In Microsoft Internet Explorer, configure the setting by following menu path Microsoft Internet Explorer > Tools > Internet Options > General > Temporary Internet Files > Settings (Figure 3).

Figure 3
Cache setting in Microsoft Internet Explorer
SAP also recommends that you use SAP Web Dispatcher as a Web cache if you have more than one application server with one ICM. You can activate caching in the SAP Web Dispatcher by defining a URL prefix and cache directory via the profile parameter icm/HTTP/server_cache_0.
Controlled Activation of UI Features
Although the flexibility and capability to personalize the CRM WebClient UI is laudable, it can also lead to increased network traffic and consequently impair the network performance of the CRM WebClient UI if it is not properly controlled. Uncontrolled activation of UI features (e.g., column width adjustment) can lead to adverse network performance implications. Therefore, it is important to control these features by enabling fast performance mode with fewer UI features. You can do this by following menu path Personalize > Personalize Layout. Under Performance Settings, check the box labeled Enable fast performance mode with fewer UI features (Figure 4).

Figure 4
Choose the fast performance mode
Note
For more information about this subject, refer to the sizing guide available on SAP Service Marketplace at
https://websmp106.sap-ag.de/netweaver > SAP NetWeaver > SAP NetWeaver in Detail > Solution Life-Cycle Management > Hardware Sizing > Sizing Guidelines > Solutions and Platforms > Front-end Network Requirements for SAP Solutions. (Sort the documents by name to find this guide easily.)
Kehinde Eseyin
Kehinde Eseyin is a security architect. He holds a bachelor’s degree in computer science. He has about 12 years of IT security, governance framework, IS risk, and compliance experience gained by working in numerous global organizations. Over the years, he has demonstrated competencies in security design, information assurance, cyber security, data privacy, threat and vulnerability management, penetration testing, business architecture, project management, IT audit, IS controls framework, and identity and access management.
You may contact the author at eseyinok@gmail.com.
If you have comments about this article or publication, or would like to submit an article idea, please contact the editor.