In our perf lab tests for a trading system we have gone up to around
10,000 concurrent connections and up to 20-40k messages per second
with sub-10 millisecond latency on web sockets on a single server
before things start breaking down (in this case the data is generated
on another machine so the server is only connecting the web sockets to
a message bus, it does not have any additional processing load).

To get to that we had to navigate a number of bottlenecks such as
threads switching, GC, serialization overhead and a number of other
perf issues, but unless you plan on running heavy loads I don't think
you need to worry about a few hundred connections. After setting up
the connection, a web socket does not have a much more overhead than a
normal socket, so on a "big enough box" your will most likely be I/O-
bound.

Our clients log in via a REST HTTP API, and get a web socket URI in
the login response so we can easily spread the load over multiple WS
servers if necessary.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to