Skip to content

Using MQPMO_SYNCPOINT for every queue/topic put limits send throughput #49

@ramonsmits

Description

@ramonsmits

Describe the suggested improvement

Is your improvement related to a problem? Please describe.

Currently every queue/topic put uses MQPMO_SYNCPOINT for transaction modes.

IBM MQ does an fsync on EVERY put, this puts a lot or pressure on IO and the storage cannot batch multiple writes limiting throughput

This limits throughput during testing to roughly ~1.500msg per second.

Describe the suggested solution

By having put's done async, and block these for a number of puts (100+) or time (like 50ms) and then do a single Commit.

A quick spike with this approach resulted in significant send throughput increase. (+5x)

Additional Context

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions