From 70cef27dbec365bd7e226842178d54151b862aa4 Mon Sep 17 00:00:00 2001 From: Joel Martin Date: Wed, 19 Jan 2011 15:25:44 -0600 Subject: [PATCH] Add latency test and browser latency test results. --- docs/latency_results.txt | 84 +++++++++++ tests/echo.py | 2 +- tests/latency.html | 295 +++++++++++++++++++++++++++++++++++++++ tests/latency.py | 1 + tests/load.html | 2 +- websocket.py | 3 +- 6 files changed, 384 insertions(+), 3 deletions(-) create mode 100644 docs/latency_results.txt create mode 100644 tests/latency.html create mode 120000 tests/latency.py diff --git a/docs/latency_results.txt b/docs/latency_results.txt new file mode 100644 index 0000000..d39d505 --- /dev/null +++ b/docs/latency_results.txt @@ -0,0 +1,84 @@ +Old web-socket-js (9e7663771), 2000 byte payload, 10ms delay + +Chrome 8.0.552 - native WebSockets + Packets sent: 2998 + Packets Received: 2998 + Average Latency: 1.84 + 40 Frame Running Average Latency: 1.90 + Minimum Latency: 1.00 + Maximum Latency: 10.00 + +firefox 4.0b9 - WebSockets enabled + Packets sent: 3011 + Packets Received: 3011 + Average Latency: 6.45 + 40 Frame Running Average Latency: 6.08 + Minimum Latency: 5.00 + Maximum Latency: 119.00 + +--- + +firefox 4.0b9 - no WebSockets + Packets sent: 3024 + Packets Received: 3020 + Average Latency: 80.59 + 40 Frame Running Average Latency: 60.15 + Minimum Latency: 10.00 + Maximm Latency: 348.00 + + +firefox 3.6.10 - no WebSockets + Packets sent: 2777 + Packets Received: 2775 + Average Latency: 34.89 + 40 Frame Running Average Latency: 24.50 + Minimum Latency: 10.00 + Maximum Latency: 208.00 + + +Opera 11 - no Websockets + Packets sent: 3012 + Packets Received: 3011 + Average Latency: 380.87 + 40 Frame Running Average Latency: 341.90 + Minimum Latency: 28.00 + Maximum Latency: 2175.00 + + - average starts at around 290ms + - time for each 1000 packets: 23s, 38s, 65s + +------------------------------------------------------------ + +New web-socket-js (9e7663771), 2000 byte payload, 10ms delay + +firefox 4.0b9 - no WebSockets + Packets sent: 3088 + Packets Received: 3087 + Average Latency: 16.71 + 40 Frame Running Average Latency: 16.80 + Minimum Latency: 7.00 + Maximum Latency: 75.00 + + - First 1000 sent in 13 seconds + - Second 1000 sent in 12 seconds + - Third 1000 sent in 12 seconds + +firefox 3.6.10 - no WebSockets + Packets sent: 3100 + Packets Received: 3099 + Average Latency: 17.32 + 40 Frame Running Average Latency: 16.73 + Minimum Latency: 6.00 + Maximum Latency: 72.00 + +Opera 11 - no WebSockets + Packets sent: 3007 + Packets Received: 3007 + Average Latency: 465.91 + 40 Frame Running Average Latency: 147.95 + Minimum Latency: 12.00 + Maximum Latency: 9143.00 + + - average starts at around 28ms + - time for each 500 packets: 13s, 16s, 25s, 37s, 50s, 72s + - also start seeing sent, receive lags around 1200 packets diff --git a/tests/echo.py b/tests/echo.py index 3787f3c..fce121f 100755 --- a/tests/echo.py +++ b/tests/echo.py @@ -84,7 +84,7 @@ if __name__ == '__main__': server = WebSocketEcho( listen_port=listen_port, - verbose=True, + #verbose=True, cert='self.pem', web='.') server.start_server() diff --git a/tests/latency.html b/tests/latency.html new file mode 100644 index 0000000..aedecf5 --- /dev/null +++ b/tests/latency.html @@ -0,0 +1,295 @@ + + + + WebSockets Latency Test + + + + + + + + + + + + Host:   + Port:   + Encrypt: +
+ Payload Size:   + Send Delay (ms):   +   + +

+ + + + + + + + + + + + + + + + + + + + +
Packets sent:
Packets Received:
Average Latency:
40 Frame Running Average Latency:
Minimum Latency:
Maximum Latency:
+ +
+ Messages:
+ + + + + + + diff --git a/tests/latency.py b/tests/latency.py new file mode 120000 index 0000000..3ae4d96 --- /dev/null +++ b/tests/latency.py @@ -0,0 +1 @@ +echo.py \ No newline at end of file diff --git a/tests/load.html b/tests/load.html index c56c4c7..b1e1b32 100644 --- a/tests/load.html +++ b/tests/load.html @@ -1,7 +1,7 @@ - WebSockets Test + WebSockets Load Test diff --git a/websocket.py b/websocket.py index 1ed21d2..aeb5063 100755 --- a/websocket.py +++ b/websocket.py @@ -312,7 +312,8 @@ Connection: Upgrade\r def poll(self): """ Run periodically while waiting for connections. """ - self.msg("Running poll()") + #self.vmsg("Running poll()") + pass def do_SIGCHLD(self, sig, stack): self.vmsg("Got SIGCHLD, ignoring")