Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[jetty-dev] WebSocketClient and some performance tests

I've just committed into jetty-7 trunk a WebSocketClient class that is
a fully async and implements the same application API as the server
side.
Using this, I've been able to update the TestClient to do parallel
ping tests to get some initial performance numbers.

With my notebook (4 core i7) being both client and server (so double
the work, but fast localhost network) I've got the following results
running at around 80-90% CPU

TestClient -P echo --clients 2000 --delay 5 --count 2000 --quiet

Jetty WebSocket PING localhost:8080 (localhost/127.0.0.1:8080) 2000 clients
--- localhost websocket ping statistics using 2000 connections ---
4000000 frames transmitted, 4000000 received, 4000000 messages
transmitted, 4000000 received, time 51898ms 77074 req/s
rtt min/ave/max = 0.140/9.654/339.374 ms


TestClient -P echo --clients 5000 --delay 50 --count 2000 --quiet :

Jetty WebSocket PING localhost:8080 (localhost/127.0.0.1:8080) 5000 clients
--- localhost websocket ping statistics using 5000 connections ---
10000000 frames transmitted, 10000000 received, 10000000 messages
transmitted, 10000000 received, time 144337ms 69282 req/s
rtt min/ave/max = 0.353/22.349/535.230 ms


This has been without any significant optimisation or tuning, so they
are some nice numbers to start with!

If you are working on your own websocket application, then the
WebSocketClient is a good tool to create your own custom load tests.

I'll look at adding support to cometd soon for websocket testing (it
already has a websocket transport).


cheers


Back to the top