Uploaded image for project: 'AMQ Broker'
  1. AMQ Broker
  2. ENTMQBR-5053

AMQ Performance Tests

    • Icon: Epic Epic
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • None
    • testing
    • None

      Currently AMQ brokers doesn't have proper performance regression tests nor any baseline for each specific version if not the one of the opiske's Maestro tool or our version of https://github.com/softwaremill/mqperf (thanks to the effort of dlenoch@redhat.com).

      The former is not maintained from long time and won't play nice with the RH performance team load generator (https://github.com/Hyperfoil/Hyperfoil), while the latter is focused on the test case for the https://softwaremill.com/mqperf/ blog post.
      There's some value to maintain a version of the mqperf benchmark in our Ci for public exposure, but, both from an engineering perspective and for customer engagement we need a proper reproducible set of performance tests that we could share with customers and use to check regression before any broker release or significant changes.

      This epic is about:

      • implement tools to compose performance test use cases/scenarios: these "building blocks" could be used by engineer/community users to run simple tests in their local environment too eg in the form of existing Artemis CLI commands
      • run the performance test scenarios on the RH Performance Team CI (or on our Messaging QE CI)
      • collect results and telemetry to both capture regressions and share it with users/customers

      The 2 client protocols under tests are AMQP and CORE and we're interested first in building simple scenarios until testing more complex one, matching specific customers use cases.

      Simple scenario involves:

      • non-durable, durable messages
      • transactions
      • paging
      • large messages
      • multiple/single producers/consumers/subscribers
      • different size of messages
      • response under load ie target throughput benchmarks and all-out benchmarks
      • message load balancing tests (multi broker)
      • replication (multi broker)
      • mirroring (multi broker)

      Candidate customer scenarios:

      • send/receive durable messages while paging
      • multi protocol tests eg producer with protocol X, consume with protocol Y
      • mqtt scalability tests
      • ...

            Unassigned Unassigned
            fnigro Francesco Nigro
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: