https://github.com/ibm-messaging/mqldt-c
Containerized version of mqldt
https://github.com/ibm-messaging/mqldt-c
Last synced: 2 months ago
JSON representation
Containerized version of mqldt
- Host: GitHub
- URL: https://github.com/ibm-messaging/mqldt-c
- Owner: ibm-messaging
- License: apache-2.0
- Created: 2020-02-11T15:44:52.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-12-10T18:24:33.000Z (6 months ago)
- Last Synced: 2025-01-23T23:53:00.134Z (4 months ago)
- Language: Dockerfile
- Size: 125 KB
- Stars: 2
- Watchers: 5
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# mqldt-c
This repository contains the Containerized version of mqldt.It consists of a file to create the image, mqldt binary executable and scripts to run a set of MQLDT tests.
The mqldt binary executable included was compiled in March 2024 on x64. Obviously this can be updated with one built from the mqldt repo [here](https://github.com/ibm-messaging/mqldt).
This repo is no longer built automatically by Docker Hub, but a recent image is available [here](https://quay.io/stmassey/mqldt).
To build your own image, simply clone this repository and run:
```
docker build -t mqldt .
```To pull the hosted image simply use:
```
docker pull quay.io/stmassey/mqldt
```To run a set of MQLDT tests, provide a directory on the volume you wish to test as a parameter to `docker run` and mount it at /var/mqldt:
```
docker run -itd --volume /var/dvm:/var/mqldt mqldt
```The command above mounts /var/dvm from the host into the container at mount point /var/mqldt and will result in the creation of 1GB of test files, so ensure you have enough storage available in the provided directory/fs.
To run against a larger set of files, set the envvar `MQLDT_NUMFILES`; the following runs with a 4GB set of test files:
```
docker run -itd --env MQLDT_NUMFILES=64 --volume /var/dvm:/var/mqldt mqldt
```The full set of supported environment variables are:
| Envvar | Description | Default if not set |
|-------------------------|------------------------------------------------------|--------------------|
| MQLDT_DIRECTORY | Directory to store test files | /var/mqldt |
| MQLDT_NUMFILES | Number of test files to use | 16 |
| MQLDT_FILESIZE | Size of each test file to write to (bytes) | 67108864 |
| MQLDT_DURATION | Duration of each test cycle (sec) | 60 |
| MQLDT_CSVFILE | Name of CSV file where results are logged (Results are also sent to stdout) | mqldt.csv |
| MQLDT_QM | Number of Queue Managers to simulate | 1 |If you run a simulation with more than one Queue Manager, a 128K block size will be selected and results will be measured for each queue manager up to the stated number. A maximum of 10 queue managers is currently supported. Additional directories mqldt1, mqldt2 etc. will be created within the provided MQLDT_DIRECTORY. Ensure the permissions of the provided directory support this creation and that there is sufficient space available.
```
docker run -itd --env MQLDT_QM=4 --volume /var/dvm:/var/mqldt mqldt
```
If you need to change the blocksize (from 128K) for the multi queue manager test, then use the envvar `MQLDT_BLOCKSIZE`.## OCP/Kube
A [job file](./mqldt-job.yaml) has been added as a sample for deploying mqldt into a Kubernetes environment. You would need to create a PVC (mqldt-pvc) referencing the storage that you want to test. The results will be available in the job logs.