blog

Getting started using Nastel’s MQSpeedtest for IBM MQ

Nastel Technologies®
March 11, 2019

Nastel has a free download available here called AutoPilot MQSpeedtest for IBM MQ. The purpose of the MQSpeedtest utility is to measure various times related to queue manager message flow. Much like traditional sonar technology, this is completed by sending a ping which is picked up by the target and echoed back. By measuring the time spent it can determine various characteristics of the message path. In IBM MQ terms, it sends messages to a listening application which replies with a response to those messages. MQSpeedtest captures various times along the message path as well as the round-trip times.

By default, the echo application can be the IBM MQ Command Server but, for users that do not have administrative permission to use this, Nastel also provide a Speedtest echo application.

The following are some basic configurations that can be implemented using MQSpeedtest:

Single queue manager:

  • determine if the queue manager is up and responding
  • determine standard throughput for a (set of) queues
  • compare the behavior of different queue configurations such as using persistent versus non-persistent messages.

Multiple queue managers:

  • Identify slowdowns in inter-queue manager communication
  • Identify queue managers that contribute to delays
  • Identify differences in behaviours of different queue managers
  • Verify that a path from one sending application to the receiving application is properly configured.

These diagrams show the configurations that I have tested so far. There are also multi-hop options that I will try in the future.

To test the single queue manager scenario, I ran the following from a Windows command console as an administrator:

mqsonar SYSTEM.ADMIN.COMMAND.QUEUE QMA

It gave the following output:

Pinging QMA(SYSTEM.ADMIN.COMMAND.QUEUE) using 36 byte 10(msgs) batch....
Statistics for queue QMA(SYSTEM.ADMIN.COMMAND.QUEUE) :
Summary Performance Indicators :
        MINIMUM_ROUND_TRIP       (0.0250 sec/msg)
        MAXIMUM_ROUND_TRIP       (0.0280 sec/msg)
        AVERAGE_ROUND_TRIP       (0.0266 sec/msg)
        AVERAGE_PROPAGATION_TIME (0.0240 sec/msg)
        AVERAGE_REFLECTION_TIME  (0.0026 sec/msg)
        MESSAGES_SENT            (10)
        CONFIRMED_EXPIRIES       (0)
        CONFIRMED_DELIVERIES     (0)
        CONFIRMED_ARRIVALS       (0)
        CONFIRMED_EXCEPTIONS     (0)
        REPORTS_RECEIVED         (0)
        RESPONSES_RECEIVED       (10)
        MESSAGES_RECEIVED        (10)
        BYTES_SENT               (360)
        BYTES_RECEIVED           (360)
        RESPONSE_REQUEST_RATIO   (100.0000%)

General Performance Indicators :
        TOTAL_PUT_TIME           (0.0000 sec)
        TOTAL_GET_TIME           (0.0280 sec)
        AVERAGE_PUT_RATE         (10000.0000 msg/sec [360000.00 bytes/sec])
        AVERAGE_GET_RATE         (357.1429 msg/sec [12857.14 bytes/sec])
        PUT_GET_RATE_RATIO       (2800.0000% [28.00])

Message Performance Indicators :
        GROSS_ROUND_TRIP_RATE    (714.2857 msg/sec [25714.29 bytes/sec])
        EFFECTIVE_ROUND_TRIP_RATE(714.2857 msg/sec)
        CONFIRMATION_OVERHEAD    (0.0000% [0.00])
        AVERAGE_ARRIVAL_RATE     (0.0000 msg/sec])
        AVERAGE_DELIVERY_RATE    (0.0000 msg/sec])
        AVERAGE_MSG_LATENCY      (0.0000 sec]) WITH QDEPTH(0)
        MAXIMUM_MSG_LATENCY      (0.0000 sec]) WITH QDEPTH(10)

        TOTAL_BATCH_TIME         (0.1630 sec)
        TEST_COMPLETION_CODE     (0)

Pinging QMA(SYSTEM.ADMIN.COMMAND.QUEUE) completed with RC(0)

To test the two queue manager scenario, I ran the following from a Windows command console as an administrator:

mqsonar RTOQMBPCF QMA

which gave the following output:

Pinging QMA(RTOQMBPCF) using 36 byte 10(msgs) batch....

Statistics for queue QMA(RTOQMBPCF) :

Summary Performance Indicators :
        MINIMUM_ROUND_TRIP       (0.0000 sec/msg)
        MAXIMUM_ROUND_TRIP       (0.0030 sec/msg)
        AVERAGE_ROUND_TRIP       (0.0015 sec/msg)
        AVERAGE_PROPAGATION_TIME (0.0000 sec/msg)
        AVERAGE_REFLECTION_TIME  (0.0025 sec/msg)
        MESSAGES_SENT            (10)
        CONFIRMED_EXPIRIES       (0)
        CONFIRMED_DELIVERIES     (0)
        CONFIRMED_ARRIVALS       (0)
        CONFIRMED_EXCEPTIONS     (0)
        REPORTS_RECEIVED         (0)
        RESPONSES_RECEIVED       (10)
        MESSAGES_RECEIVED        (10)
        BYTES_SENT               (360)
        BYTES_RECEIVED           (360)
        RESPONSE_REQUEST_RATIO   (100.0000%)

General Performance Indicators :
        TOTAL_PUT_TIME           (0.0010 sec)
        TOTAL_GET_TIME           (0.0040 sec)
        AVERAGE_PUT_RATE         (10000.0000 msg/sec [360000.00 bytes/sec])
        AVERAGE_GET_RATE         (2500.0000 msg/sec [90000.00 bytes/sec])
        PUT_GET_RATE_RATIO       (400.0000% [4.00])

Message Performance Indicators :
        GROSS_ROUND_TRIP_RATE    (4000.0000 msg/sec [144000.00 bytes/sec])
        EFFECTIVE_ROUND_TRIP_RATE(4000.0000 msg/sec)
        CONFIRMATION_OVERHEAD    (0.0000% [0.00])
        AVERAGE_ARRIVAL_RATE     (0.0000 msg/sec])
        AVERAGE_DELIVERY_RATE    (0.0000 msg/sec])
        AVERAGE_MSG_LATENCY      (0.0000 sec]) WITH QDEPTH(0)
        MAXIMUM_MSG_LATENCY      (0.0000 sec]) WITH QDEPTH(10)

        TOTAL_BATCH_TIME         (0.0380 sec)
        TEST_COMPLETION_CODE     (0)

Pinging QMA(RTOQMBPCF) completed with RC(0)

Many other options are also available. It can run as a client too.

MQSpeedtest statistics can be captured in a CSV file and used to produce a spreadsheet of historical data. For example, you can capture data on a daily basis, and append the results to an existing file each day.

Example parameters:

1. -fmqsonar.csv

Writes a header and a single result line to msqsonar.csv.

2. -fmqsonar.csv -a

Appends only a result line to mqsonar.csv.

3. -fmqsonar.csv -a -d60

Appends a header and a result line every 60 seconds to msqsonar.csv.

You can import this file into Excel or other spreadsheet to produce charts such as the figure below.

The tool can also be integrated with Nastel’s AutoPilot and XRay products for real time availability monitoring and historical trend analysis.

Next Article in Series – Using Nastel’s MQSpeedtest To Test MQ Performance In A Multi-Hop Architecture

If you would like to see the original blog, click here

 

Nastel Technologies is the global leader in Integration Infrastructure Management (i2M). It helps companies achieve flawless delivery of digital services powered by integration infrastructure by delivering Middleware Management, Monitoring, Tracking, and Analytics to detect anomalies, accelerate decisions, and enable customers to constantly innovate, to answer business-centric questions, and provide actionable guidance for decision-makers. It is particularly focused on IBM MQ, Apache Kafka, Solace, TIBCO EMS, ACE/IIB and also supports RabbitMQ, ActiveMQ, Blockchain, IOT, DataPower, MFT and many more.

 

The Nastel i2M Platform provides:

  • Secure self-service configuration management with auditing for governance & compliance
  • Message management for Application Development, Test, & Support
  • Real-time performance monitoring, alerting, and remediation
  • Business transaction tracking and IT message tracing
  • AIOps and APM
  • Automation for CI/CD DevOps
  • Analytics for root cause analysis & Management Information (MI)
  • Integration with ITSM/SIEM solutions including ServiceNow, Splunk, & AppDynamics

Comments

Write a comment
Leave a Reply
Your email address will not be published. Required fields are marked *
Comment * This field is required!
First name * This field is required!
Email * Please, enter valid email address!
Website

Register to Download

Subscribe

Schedule a Meeting to Learn More

Become an Expert

Schedule a Demo