Skip to Content
Author's profile photo Bernd Franz

Test Tool for High Availability Environments

Short Description

The purpose of the test tool is to check the behavior of high availability (HA) environments with SAP Web AS ABAP under load. The impact of HA-relevant events on the system is tested and documented. This includes the availability of system components, the impact of throughput and response time, and a check of the semantical correctness of the test results.

On this page and in the attached documents, the tool is referred to as High Availability Test Tool or, in short, as HA Test Tool.

For more information about the tool, see the fact sheet and the following presentation.


Usage of the HA Test Tool

The tool can be used according to the end user license agreement (EULA) that you have to accept when downloading the software. The tool is no standard SAP commercial software and is provided free of charge for your convenience only.

Note that the tool is not for productive use.


News

Version 2.14 is available now. It is fully compatible with the version 2.13. Only the client side of the tool has changed, the server side remains on version 2.13.

In version 2.14 no major new functionality was introduced. It contains improvements for the usage of the HTTP protocol. Additionally, the display of the graphical summary with different browsers was enhanced.

Version 2.13 introduces variable event call parameters. Especially, if similar tests on several systems are done, this will help to reduce the number event property files.

In version 2.12 an HTML-based graphical summary of the test run is generated additionally.

ℹ To view the graphical summary, you need to download version 3.5.x of the open source library d3.min.js. The library is provided by d3js.org. You can use one of following links to download the library:

Don’t use version 4 of d3.min.js. It contains incompatible changes.

See an example of an HTML-based graphical summary:

HTMLOutput.jpg

 

How to get the HA Test Tool

The following download includes the programs, data and documentation of the tool.

FAQ

  1. General
    1. Reporting feedback, problems or questions
    2. Getting bug fixes, updates, and new versions
  2. Getting started
    1. Quick start
    2. HA partners
  3. During usage
    1. Message ‘There is already a test running for that class’
    2. Naming of test runs
    3. Varying test runs
    4. Increasing the load on the server

1.1 Reporting feedback, problems or questions

As said above, the tool is no standard SAP commercial software. Feedback, problems or questions can be reported in the “Comments” section of this page.

1.2 Getting bug fixes, updates, and new versions

SAP is not obliged to offer bug fixes, updates, and new versions. SAP will provide them at its sole discretion. 

2.1 Quick start

If you are new to the HA Test Tool, chapter 1.2 (Quick Start) of the documentation describes how you make the first steps with the tool.

2.2 HA partners

Solutions of companies partnering with SAP are typically used to assure high availability of SAP systems. These companies often know the HA Test Tool. It is for example used in the test suite of SAP’s HA certification. Therefore, you can ask your HA partner for assistance in using the HA Test Tool in your HA environment. 

3.1 Message ‘There is already a test running for that class’

The HA Test Tool does not allow that several tests using the same test class run in parallel. However, it is possible that the message occurs although no test is currently running for this test class. This can occur if a previous test run ended irregularly and it was not possible to mark the test as ‘finished’ on the server side. The test class can be unlocked by starting a test run with the property ‘specialaction=CleanAdminData’. For details, see the provided property template files or chapter 5.1.1.2 of the documentation.

3.2 Naming of test runs

A unique name must be assigned to each test run. This name is used to create the output directory for the test run. The start timestamp of the test is used as default (YYYYMMDDHHMMSS), but the name can be explicitly set with the property ‘testrunid’.

3.3 Varying test runs

Sometimes a series of test runs has to be conducted by varying just a few test properties. To avoid ending up with many different property files, the varying properties can be specified directly on the command line in addition to the property file that contains the properties with constant values.

3.4 Increasing the load on the server

Basically, you can increase the number of simulated users, the call frequency per user or, depending on the test class, the load put on the server by a single call. Details are described in chapter 9.3 (Scalability Guidelines) of the documentation.

 

Assigned Tags

      2 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Paul Hernandez
      Paul Hernandez

      Great tool.

      We have some Use cases where the HA Test Tool does not receive data from the SAP/application server in 60 seconds and then the HA Test Tool closes the connection (despite TCP retransmitting packets to the SAP/application server).

      We get COMM_ERRs with SAP_CMKEEPALIVE mentioned in the associated Java exception (part of it below).  How can we eliminate or configure this apparent 60 second time-out and avoid the HA Test Tool from closing socket and let TCP retransmission run its course and possible close the socket?  Thanks.

      2019-10-17 07:32:46.609 COMM_ERR ******* Start of error log entry *******
      CPIC-CALL: SAP_CMKEEPALIVE on convId: 39791778
      no SAP ErrInfo available
      com.sap.conn.jco.JCoException: (102) JCO_ERROR_COMMUNICATION: CPIC-CALL: SAP_CMKEEPALIVE on convId: 39791778

      ....

      Caused by: >RfcIoException:
      message: CPIC-CALL: SAP_CMKEEPALIVE on convId: 39791778
      no SAP ErrInfo available
      Return code: RFCIO_ERROR_DEALLOCATED (10)<

      at com.sap.conn.rfc.engine.RfcIoOpenCntl.ab_rfcread(RfcIoOpenCntl.java:689)
      at com.sap.conn.rfc.engine.RfcGet.rfcget_gethead(RfcGet.java:454)
      ... 12 more

      Author's profile photo Bernd Franz
      Bernd Franz
      Blog Post Author

      Hi Paul,

      the timeout of about 1 minute is the intended behavior for JCo/RFC. There is no JCo or RFC parameter to influence that duration.

      But it is possible to affect the behavior of the CPIC layer via OS environment variables. There is a variable called CPIC_NO_NICHECK. It defines the number of CPIC pings sent out after which at least one acknowledgment must be returned before the connection is considered aborted. The default value is 5. This explains a time-out of 50-60 seconds since such a ping goes out every 10 seconds. You could, for example, set CPIC_NO_NICHECK = 30, which will expand the delay to about 30 *10 = 300 seconds.

      Best regards
      Bernd