-----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-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org