kubemq-io / kubemq-Python

Python client for KubeMQ server https://kubemq.io
MIT License
23 stars 9 forks source link

Single queue is slow #20

Open kormoczi opened 2 years ago

kormoczi commented 2 years ago

Hi, I have created a simple test setup with 3 docker containers. The first container is the KubeMQ standalone docker container (based on the docker based installation, https://github.com/kubemq-io/kubemq-community), the second one is a sender and the third one is the receiver (these two based on the python-sdk-cookbook queue/single sample, https://github.com/kubemq-io/python-sdk-cookbook/blob/master/queue/single/main.py). And when I am sending messages quickly from the sender, the messages arrives to the receiver very slowly (it takes approx 5 seconds per message, most of the time). What can I do to make is faster? Or how can I find out where is the problem/bottleneck? Because from the system monitor I cannot see any problem, the CPU/memory/network are all ok, no significant load is visible. (Or is it a limitation of the kubemq-Python sdk, or the KubeMQ itself? I hope not...)

bamsutler commented 2 years ago

Hey @kormoczi. I am not affiliated with this project but just a drive-by comment as I was looking at the issues before I made a PR.

It looks like MessageQueue's signature includes a timeout that defaults to 1s.

    def __init__(self, queue_name=None, client_id=None, kubemq_address=None, max_number_of_messages=32,
                 wait_time_seconds_queue_messages=1, encryptionHeader=None):

Maybe if you lower this on the sender and receiver you will see improvements. FWIW I am using the event store and seeing less than a second between sender and receiver.