如何配置可以使tomcat的并发性能达到最大?
是这样的,我们现在的项目有cs和bs,都要求同时登陆的用户可以达到1024个,cs1024个并发没问题,web容器用的是tomcat5,现在是单纯的用工具(JMeter)拟登录的请求,但是1024的并发量好像达不到,有的页面返回的是报错信息
如下:
java.net.SocketException: Connection reset
at sun.reflect.GeneratedConstructorAccessor17.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance
(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
at sun.net.www.protocol.http.HttpURLConnection$6.run(HttpURLConnection.java:1186)
at java.security.AccessController.doPrivileged(Native Method)
at sun.net.www.protocol.http.HttpURLConnection.getChainedException(HttpURLConnection.java:1180)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:877)
at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:367)
at org.apache.jmeter.protocol.http.sampler.HTTPSampler.readResponse(HTTPSampler.java:233)
at org.apache.jmeter.protocol.http.sampler.HTTPSampler.sample(HTTPSampler.java:463)
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1021)
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1007)
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:290)
at java.lang.Thread.run(Thread.java:595)
还有其他的错误信息。
我在网上看到人家说可以把tomcat配置成多实例,但我不知道怎么配,还有人说把tomcat处理请求的模式改成nio,我也不清楚具体需要改什么(我试过改Connector配置 protocol="org.apache.coyote.http11.Http11NioProtocol",启动的时候报错,好像不支持)
大家如果有什么方法的话,希望能够指点一下,不胜感激!
[解决办法]
tomcat想达到1024很难了,除非你apache+tomcat全部设置成静态页面...
[解决办法]
修改 tomcat的server.xml 文件后 把acceptCount和maxThreads设到了1024.
用工具测了下,但是测试的结果表明tomcat只能接受230左右个请求,
其余的请求直接返回java报错页面 IOException:connection reset
感觉问题不再后台,因为并发访问的一瞬间,1024个请求只剩下200多个在等待,
其余全部返回报错页面,好像是IOException:connection reset。 这个部分请求好像直接被tomcat拒绝了
[解决办法]
我也遇到过这样的问题 但是我现在也没有解决
我现在在弄tomcat域名绑定的这个玩意
过段时间估计要换服务器了
[解决办法]
这个是不是和操作系统也有关?如端口号?
[解决办法]
单台tomcat服务器测试结果