Slow performance of 'Client Sends Message' operation
Opened this issue · 0 comments
dzvancuks commented
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.