tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christopher Schultz <ch...@christopherschultz.net>
Subject Re: attempting to achieve 100K concurrent websocket connections on Tomcat 7.0.48 NIO
Date Fri, 01 Nov 2013 22:11:01 GMT
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Bob,

Just a quick note: with NIO, you should not need 100k threads to serve
100k connections. Can a single process even request 100k threads from
the OS under your current environment?

- -chris

On 11/1/13, 6:00 PM, Bob DeRemer wrote:
> QUESTION: I'm looking for some advice on what Tomcat NIO connector
> settings to use to support 100K concurrent websocket connections.
> Hopefully I  can reach this goal through a combination of Tomcat
> NIO Connector settings, and Server 2008 R2 configuration [if
> needed].
> 
> BACKGROUND: We're scale testing our websocket application and
> looking to see how many concurrent websocket connections we can get
> on a single Tomcat instance - with the goal being 100K.  I've
> provided the test landscape details at the bottom - all VERY BIG
> EC2 instances over 10 GB network, so memory, CPU and network do not
> appear to be the problem when monitoring.
> 
> PROBLEM: The problem we are running into is that we can't seem to
> establish even 50K connections into Tomcat.  At some point, we
> start getting connect failures, similar to the following:
> 
> Couldn't connect java.io.EOFException: null at
> org.apache.tomcat.websocket.WsWebSocketContainer.processResponse(WsWebSocketContainer.java:570)
> ~[tomcat7-websocket.jar:7.0.48-dev] at
> org.apache.tomcat.websocket.WsWebSocketContainer.connectToServer(WsWebSocketContainer.java:317)
> ~[tomcat7-websocket.jar:7.0.48-dev] Wrapped by:
> javax.websocket.DeploymentException: The HTTP request to initiate
> the WebSocket connection failed at
> org.apache.tomcat.websocket.WsWebSocketContainer.connectToServer(WsWebSocketContainer.java:344)
> ~[tomcat7-websocket.jar:7.0.48-dev]
> 
> I'm hoping that someone may be able to advise what changes we might
> make to the following Tomcat NIO connector setting that will allow
> upwards of 100K websocket connections:
> 
> <Connector port="80" 
> protocol="org.apache.coyote.http11.Http11NioProtocol" 
> connectionTimeout="20000" maxConnections="100000" 
> maxThreads="100000" redirectPort="8443" />
> 
> 
> TEST LANDSCAPE:
> 
> The test landscape is all Windows Server 2008 R2 boxes running in
> EC2 and the Test Client environment:
> 
> Our test client is a multi-threaded java client that makes use of
> the JSR356 ClientEndpoint functionality.  We're creating 40K+
> websocket connections from a single test client machine.  The test
> client is Server 2008 R2 and we have configured it to allow 50K
> ephemeral ports, so we should be able to establish 40K+ outbound
> websocket connections.
> 
> Server environment:
> 
> *         EC2 instance (cc2.8xlarge) (60 GB, 10 GB network, 16
> vCPUs)
> 
> *         Server 2008 R2
> 
> *         Tomcat 7.0.48 (trunk)
> 
> *         Java 1.7.0_45
> 
> 
> Thanks, Bob
> 
> http://www.thingworx.com<http://www.thingworx.com/> Skype:
> bob.deremer.thingworx O: 610.594.6200 x812 M: 717.881.3986
> 
> 
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.15 (Darwin)
Comment: GPGTools - http://gpgtools.org
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQIcBAEBCAAGBQJSdCb1AAoJEBzwKT+lPKRYZYEP/0kLnRF3f8BIw9KhIbf+uv1d
Gr5MyMkx3HBpgEHw36hUfoiEEKE06mHfff3DRP9troCs6h8VovS/4jk1ti6NU1Kh
FPVTF0FHiNC1kRtyvvw2avCJMSHYSnAUArDKkwO6wydTVsyTmGOPlL7u99Ad7ZMK
kQV6adZNtBWqoMvDKJSCgtvHAva7UYZvL/jjC6mK1AcSj8MVD0xdGaH9BmS1pt8u
JJhAtEvPQsiWizKb2sNAegFB5MIx6Q2xPR5ZRTDm8CkGXndpTnqdg6I3SeXCjrA1
dN8AuuhyFhsv3Ff06B5bWNggu4/utaG6h+dXQJDAE7/257YIaXQ0MM7QUm/HkldG
ZRU7Nse5Y47WEXMMpVW0XpFhyCSqChaQSAJZ+caXm/VE3+beI9A5drX4fXuga1Ja
euwpkm5PNvXTHdMchWP1iQLs7mVbrwsZ9mnMhXgPqUYY3OxHjl1lBWJ5i9QdQLFj
XZIC290HxbZeaR4RS10lu33aNPDbkQkjju14GeA+8CpKt2t9Vpu8ENkv6V/zhzTC
oSJkwaoLpSY5dxofrBYnHcHqo43SLypTxg3cuI14+qvcBRwJ7zBPJ6FKepz3dR4M
YsE6L3D/mJiFGl4cudAxhueeUrjPHFyYZ052L1tBGbiCVqDCmx6TpETcsqoWIbc3
oZqI3b4iZFPuaWGnTf8z
=kO9m
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Mime
View raw message