Use JMeter test WebSphere performance

xiaoxiao2021-03-05  22

Use JMeter test WebSphere performance

Author: Greg Herringer [IBM]

Foreword

This document describes how to deploy Apache Open Source Tools JMeter to test the responsiveness of the middleware solution based on IBM WebSphere Application Server and WebSphere Branch Transformation Toolkit (BTT). By designing performance testing, changes in concurrent user load can be simulated, and these user loads use a variety of interactive financial exchange (IFX) request messages. If your project's performance test budget is limited, and your solution uses an XML message, the experience in this article is ended in this article can help you plan your performance test strategy.

1. Performance test challenge for high visibility projects

A financial institution's recent project needs to deliver a middleware infrastructure that supports a list of growth applications that require access to the core financial system. The direction of the architecture is to require all core financial system requests through the intermediate solution, which uses XML-based IFX message standards. Figure 1 shows the middleware infrastructure (bold display) related to the first application, as well as future applications and backend systems (displayed in gray).

Figure 1. Solution to be tested

To make the high visibility items to be recognized, the best performance under various loads must be demonstrated. This is especially important for response time sensitive customers, such as CRM applications in the contact center. Another problem that needs to be considered is that when a new application appears in the "front" and "behind" (later "(shown in Figure 1 showing the future implementation of the consumer credit card service system) ), You need to reuse the selected performance test methods.

No user interface

Specifies the first application using the middleware infrastructure is a deposit processing application that is scheduled to be implemented after the middleware project is completed. This means that the test team has to simulate the production load in the case where no user interface can prepare and submit the middleware request.

Limited budget

Financial institutions do not have the right toolset to support middleware performance tests. Therefore, the challenge here is to be sure to report the performance characteristics of the observed middleware, while the budget for tools and preparation remains minimally.

2. Use Jmeter to save

By studying a variety of available open source test tools, the Apache Jmeter can support the performance test requirements of the middleware. JMeter provides a GUI-based application for designing and executing a variety of reusable test programs. JMeter also supports capture test results in XML format for testing statistical analysis. These two features help test team development and documentation repeatable test results to meet the challenges of "high visibility".

Many open source test tools are designed for testing Web sites, and expect to test how to simulate user interactions with one or more pages or forms. Because the application's web interface is not available while the application is not available, the selected tool must support XML-based messages without browser interaction. JMeter's SOAP / XML request component satisfies this request.

Finally, since JMeter is the product of the Apache Software Foundation, this fact means that the project does not require license costs for commercial testing tools to meet the "limited budget".

2.1 Design test script

The goal of performance test is to submit random selection, predefined, IFX encoded request messages under various concurrent load conditions, and record the time consumption time of the response to the IFX encoding. The following five JMETER test plan components are used to prepare performance test scripts.

2.2 Test Plan

This is the main component for testing. Here, the test name is specified based on the naming agreement of the project. At the same time, select Functional Test Mode to capture a complete IFX encoding response in the test results managed by View Results Tree. Figure 2. JMeter test plan

HTTP Header Manager

This component is used to specify the value of the HTTP header required for the middleware. Each IFX encoded request sent to the middleware will include the value of these http headers

Figure 3. JMeter http header manager

Thread Group

The component is repeated in accordance with the requirements of the test plan to simulate a specific number of concurrent users. For example, simulate 5 concurrent users, you need to specify 5 Thread Group.

Figure 4. JMeter Thread Group

Note that the Thread Group component has a domain that is Number Of Threads for controlling the number of threads associated with a thread group. Since each Thread Group has a unique randomly selected IFX encoding request set (see SOAP / XML-RPC Request), decide to limit each Thread Group as a thread. If multiple threads are specified for one or more Thread Group, then the same message collection will be sent multiple times, which will violate the target of random selection criteria.

SOAP / XML-RPC Request

Repeat the component for each of the desired number of IFX encoding requests sent by each Thread Group. The actual IFX encoded request is specified in this component.

Figure 5. JMeter SOAP / XML-RPC Request

View Results Tree

The component serves two purposes. When the test is executed, the user interface displays the test process that the message is sent and received. Moreover, the component writes the test result to a file for testing.

Figure 6. Jmeter View Results Tree

The JMeter test plan is designed to simulate a variety of concurrent user loads, from a single user to a maximum of 80 concurrent users. For all test plans, the five components described above are deployed in a consistent manner, thereby simplifying performance testing.

2.3 Build a test script

Once the required JMeter component has been determined and the general test plan design has been conceived, the test script must be constructed. Fortunately, the SYSTEM INTEGRATION TEST (see Resources) has more than 300 IFX encoded model request messages and related test data can be reused. The corresponding challenge is to prepare the test script to send up to 8,000 request messages that are randomly selected (for 100 threads, each thread). These messages are randomly selected, thereby better approaching the stable state of the production conditions, and there is no request type under production conditions may be more submitted more than other types. Use the JMeter user interface separately, which means manual cut and paste messages into 8,000 SOAP / XML-RPC Request. In order to make the task further complicate, each request also requires the only RQUID according to the IFX specification of the financial institution.

2.4 Automatically create test scripts

As already mentioned, the performance test method of the project will be reused for future middleware versions. Therefore, the test team puts some energy to prepare a Java application to output JMeter XML encoded test scripts based on the specified parameter. The Java application is called Scripter, which can prepare a performance test script that has a specified number of threads and each thread has a message specified for IFX encoding, random selection by the application. The IFX encoded message is derived from a message set, which is provided in the directory specified by the Scripter's properties file. 2.5 Executive Test

JMeter is installed on a dual-channel IBM EServerTM xSeries® 360 server that has 2 GB RAM and runs Windows® 2000. Figure 7 shows the test configuration.

Figure 7. JMETER performance test configuration

When the test is executed, the IFX encoded response is recorded so that the captured MQ TIME and TOTAL TIME metrics included in the middleware response can be analyzed. JMETER TIME observed by JMeter can also be analyzed, although the number also includes network delay between the middleware and JMeter.

The test team performs three performance test cycles and improves the performance of the application by modifying and configuring adjustments after the first two cycles.

2.6 analysis results

The test team uses the Microsoft® Excel electronic data table to import test results, and perform statistical operations for the consumption time metrics described above. The result is then graphically, thereby displacing the second second-second secondary secondary secondary secondary secondary secondary secondary secondary seconds provided by most test conditions.

3. Get experience

In general, Jmeter as the performance test tool for this project is an excellent choice. The experience below provides additional details.

4. Jmeter meets our needs

JMeter is easy to install and has medium understanding complexity (see the next experience). The selected JMETER component provides a common structure for all performance test scripts. The XML coding output of the test results is a convenient feature for testing after testing because the option captures performance statistics in the response message included in the IFX encoding.

5. JMeter users should have technical capabilities

In order to properly prepare the performance test script, the script developers must understand the distributed applications that use the HTTP and XML protocols. Business users may find difficult to use various JMETER components.

Creating big scripts may require additional automation processing

Our performance test features (random message selection, concurrency, and unique values ​​included in each IFX encoded request) require an automated way to generate test scripts. Fortunately, the test team has sufficient Java technical capabilities to automate this task. This app is provided for those with similar needs.

If time (and capabilities!) Allowable, the team can also develop a new JMeter component that meets the item and submits the component to the Apache organization.

Customized performance metrics help determine problems

The JMeter application can measure the consumption time between requests that transmit IFX encoding and receive IFX encoding responses. However, this metric does not provide internal information about the potential bottlenecks present in the distributed middleware solution. The middleware development team provides additional performance metrics that will be used for host communication, and the time consumption time of message analysis is separated from the intermediate pieces used for transaction processing. These metrics are included in the IFX encoded response as an XML annotation.

About the Author:

转载请注明原文地址:https://www.9cbs.com/read-36001.html

New Post(0)