Утилиты для генерации сообщений MQ

При проведении нагрузочного тестирования приложений, использующих IBM MQ, часто требуется сгенерировать большое количество сообщений в очередь, что бы узнать скорость обработки сообщений приложением в периоды пиковой нагрузки. В этой статье мы рассмотрим некоторые утилиты, позволяющие быстро и просто подготовить тысячи и сотни тысяч сообщений для тестирования.

1. Утилита Q (SupportPac MA01)

Многие не знают, что у этой консольной утилиты есть возможность генерировать определенное количество сообщений. Описание этой возможности:

Пример использования:

Поместить в очередь QUEUE1 менеджера QM01 10 сообщений с Message Data “Test Message”:

echo '#!10 Test Message' | ./q -oQM01/QUEUE1

Вместо “Test Message” может быть целая xml-структура.

Если нужны разные сообщения, то можно создать файл, в котором каждое сообщение должно быть на отдельной строке, и загрузить сообщения из этого файла в очередь:

./q -m QM01 -oQUEUE1 -f/home/mqm/messages.xml -c1208 -jMQSTR -ap

При загрузке сообщений можно задать их параметры, в нашем примере мы указываем CCSID 1208, формат MQSTR и persistence.

Полное описание утилиты q доступно по ссылке.
С примером использования утилиты q можно ознакомиться в этом посте.

2. Утилита mqput2c.exe (SupportPac IH03)

В состав SupportPac IH03 входят утилиты mqputs.exe и mqput2.exe, которые  предназначены для проверки производительности приложений, использующих очереди MQ. Эти утилиты загружают сообщения из одного или нескольких файлов в память и затем используют их для создания нагрузки в виде потока сообщений, согласно параметрам из конфигурационного файла.

Разница между этими утилитами в том, что mqputs пишет сообщения и затем “засыпает” на заданный интервал, то есть mqputs нагружает приложения с заданной скоростью потока сообщений. Mqput2 проверяет глубину очереди, если количество сообщений в очереди ниже заданного, то эта утилита начинает помещать сообщения в очередь, таким образом утилита mqput2 нагружает приложения для их работы на максимальной скорости.

Для работы с не локальными менеджерами очередей есть клиентские версии утилит – mqputsc.exe и mqput2c.exe.
Перед их запуском необходимо установить переменную MQSERVER, определяющую подключение к удаленному менеджеру очередей, например:

set MQSERVER=MYCHANNEL/TCP/vm-wmq-host01(1414)

Запускаем утилиту mqputsc.exe с указанием конфигурационного файла:

mqputsc.exe -f D:\paramq.txt

Пример файла paramq.txt для генерации 10000 сообщений из файла D:\msqtoload.dat в очередь TESTQ1 менеджера QM01:

Подробное описание параметров, использование которых возможно в конфиг-файле, приведено в parmtst1.txt.

Icon of Parmtst1 Parmtst1 (3.5 KB)

3. MsgTest Utility (SupportPac MA0T)

MsgTest – это утилита, с интерфейсом командной строки, позволяющая выполнять скрипты, которые имитируют поток сообщений между приложениями, использующими IBM WebSphere MQ (WMQ).

Скрипт представляет собой XML-структуру, описывающую параметры сообщения и команды. Подробное описание элементов скрипта приведено в документе. Утилита имеет очень большие возможности для создания сценариев тестирования, мы же рассмотрим только фрагмент скрипта, позволяющий, загрузить в очередь TESTQ1 20 сообщений из подготовленных файлов:

Аналогичным образом, используя команду For, можно сгенерировать в очередь большое количество сообщений из одного файла.

4. WMQ HTTP Bridge

Это весьма интересный способ генерации нагрузки на MQ.
Напомню, что мост WMQ – HTTP позволяет связать с MQ любую среду поддерживающую HTTP. При этом работа с очередями и топиками MQ осуществляется через http-запросы POST, GET и DELETE.
Поэтому для создания большого количества сообщений в очереди, можно использовать любой инструмент для генерации http нагрузки, например JMeter или SoapUI.

24.04.2017 Update:

MQ-CPH Performance Harness

VN:F [1.9.22_1171]
Rating: 5.0/5 (2 votes cast)
Метки: , ,
Опубликовано в WebSphere MQ, Утилиты
1 комментарий на “Утилиты для генерации сообщений MQ
  1. Федор:

    Посмотрите ещё одну утилиту от IBM – https://github.com/ot4i/perf-harness
    Хотя она больше для анализа performance, но нагрузку давать может.

    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

Выбор языка: