WebSphere Commerce performance tuning

WebSphere Commerce by itself does not have too many performance tuning knobs. Consider WebSphere Commerce to be a Java EE application that consists of business logic and relies on WebSphere Application Server to provide the core function to make WebSphere Commerce perform well.

Application Server Dynamic Caching

Caching dynamic content is one of the most important ways to improve WebSphere Commerce performance. It improves both response time and throughput and reduces system loads. As a result, the site has better performance and infrastructure costs can be reduced.

Since the page layout design and the access pattern of each website is different, each application's Dynamic caching configuration must be customized and configured to maximize the benefit of dynamic caching.

Every WebSphere Commerce starter store comes with a default dynamic cache configuration file that consists of some basic rules to cache certain pages, such as Product Display. The caching rules are a good starting point to understand the potential of dynamic cache, but might not be sufficient to make the store operate in the most efficient way.

Use dynamic caching as documented in Dynamic caching.

Server-based management

If you are using server-based session management, see Session management.

HTTPS/SSL

HTTPS protocol must be used when secure transmission between the HTTP Server and the browser is required. For example, if a user ID and password are being entered through the browser. The HTTPS protocol flows HTTP traffic over the TCP/IP Secure Sockets Layer (SSL), encrypting all traffic between the client and the web server. There is a performance impact on the web server since it must handle the following extra workload:

  • Computation of encryption keys
  • Overhead on key negotiation between the server and the client
  • Encryption and decryption of the secure content as it is being transferred.
The processor usage is determined by:
  • The size of the encryption key
  • The size of the request that is being sent and received between the web server and the client.

There is a trade-off between processor performance and security/privacy. During the design of the website, carefully evaluate each page to see whether encryption is needed or not. Generally speaking, a B2B site uses more HTTPS/SSL as compared to a B2C site.

Trace and logging

Make sure that the server is not I/O bound. The WebSphere Commerce system performance might be impacted if too much file access or network access is occurring. For example, when all logging and tracing is turned on, the system uses many resources to write data to the disk instead of handling the workload.

WebSphere Commerce uses the WebSphere Application Server tracing and logging infrastructure to provide diagnostic information. This information is helpful to diagnose problems, but unnecessary tracing adds load to the system from a disk I/O perspective. The best practice is to log errors only and potentially dedicate an independent hard disk to store the logs.

The following steps describe how to turn off all the tracing:

  1. Open the WebSphere Application Server administrative console.
  2. Click Troubleshooting > Logs and Traces in the console navigation tree.
  3. Click your WebSphere Commerce Server.
  4. Click Diagnostic Trace.
  5. Clear the Enable Log check box.
  6. Save your changes and exit.

Use the latest fix pack

Eliminate the possibility of encountering performance defects that were fixed by using the WebSphere Commerce latest fix pack. For more information, see Recommended software, fixes, and settings for WebSphere Commerce Version 8.0. Also, refer to the List of available maintenance packages.