MarketSquare/Rammbock

Slow performance of 'Client Sends Message' operation

Opened this issue · 0 comments

Is there a way to improve performance of 'Client Sends Message'?

I have a test where I would like to stress test server. It it should not be like specialized equipment for such tests, just send several hundred messages at the same time. I have 2 solutions, one using Rammbock/Python and another using Golang

The Rammbock looks the following

    FOR    ${counter}    IN RANGE    ${500}
        Client Sends Message    name=${socket}    header:seq:${counter}
    END

Results:
FOR ${counter}    IN RANGE    ${500}  
Start / End / Elapsed:	20240610 13:08:12.109 / 20240610 13:08:19.522 / 00:00:07.413

Each iteration:
00:00:00.016ITERATION ${counter} = 0  
Start / End / Elapsed:	20240610 13:08:12.111 / 20240610 13:08:12.127 / 00:00:00.016
00:00:00.015KEYWORD Rammbock . Client Sends Message   name=${socket}    header:seq:${counter}

Each message takes 16 ms. When I compare it with Go solution it takes only 2 ms per message. So Rammbock is 8 times slower.

Question is following. Is there a way to optimize Rammbock performance? I believe most time is spent on message construction. Perhaps there is a way to pre-cache messages before sending? Task is to send bunch of messages asap to the server.