[
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