Website performance tuning

There are four steps for evaluating performance of an HCL Commerce website that is based on Transaction server.

  • Identifying the workload
  • Data monitoring and analysis
  • Top-down tuning approach
  • Closed-loop cycle

Identifying the workload

The workload defines how the performance of a system is evaluated. A workload should have the following characteristics:

  • Measurable: A metric that can be quantified, such as throughput and response time.
  • Reproducible: The same results can be reproduced when the same test is run multiple times.
  • Static: The same results can be achieved no matter how long you execute the run.
  • Representative: The workload realistically represents the stress to the system under normal operating considerations.

Data monitoring and analysis

Improving performance is always a matter of identifying where the bottleneck is, and changing your system configuration to avoid it. Monitoring system performance and identifying problems are the most essential skills to ensure good performance of the system. All tools have strengths and weaknesses. Some tools might alter the flow and the timing of the applications, but they provide information to the developer and the system administrator, such as Rational Application Developer's Profiling function. Other tools have minimal impact on the overall system but provide little information, or offer specific information that might not be helpful to identify the source of the problem.

Top-down tuning approach

To save time, adopt a top-down approach by changing the system level first, followed by the application level, and then to the programming level. By removing the inefficiencies from the top level, the underlying problems at the lower level might be minimized.

Levels Tuning
System

More processors with faster speed
More Memory
Faster Network
Faster Disk
Operating system level configuration

Application

Web server configuration
Application server configuration
Commerce application configuration
database configuration

Programming

HCL Commerce programming guideline
Java performance tips

The system level consists of components such as processors, memory subsystem, network configuration, and disk subsystem. Bottlenecks at this level are easier to identify and address by modifying the hardware configuration or operating system level optimization.

Closed-loop cycle

The closed-loop cycle is a method for implementing the top down tuning approach. This method prescribes the way to gather and analyze data, come up with ideas for resolving issues, implement enhancements, and test results. The process is driven by data, and the results from one iteration of the loop drive the next iteration of the loop.
Diagram showing closed loop cycle as described in the preceding paragraph.

A closed-loop cycle must be done in a controlled environment where each change is documented and can be undone later. In theory, after many iterations, since only the enhancements with positive test results are being used, the overall HCL Commerce site's performance will improve.