Skip to content

Slow performance of 'Client Sends Message' operation #84

@dzvancuks

Description

@dzvancuks

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions