Jas*_*son 8 spring tomcat spring-boot spring-websocket
我正在使用spring-boot测试服务器.但是,我在测试过程中遇到了一些问题.
我的测试是服务器使用了多少内存来增加Web套接字会话(客户端数量).
1,000个客户(小于9000个会话)没有进行测试的问题.但是,当我尝试测试10k连接时,服务器连接几乎达到10,000.(有时创建会话直到9990,有时候9988,9996这样,不是特定限制套接字的数量)之后,它只是停止创建会话,没有错误只是没有回应.
如果某些客户端超时并释放连接,则等待连接的其他客户端可以获得连接.
'环境'tomcat:8.0.36 spring-boot:1.3.3 java:1.8
对于解决方案,我试过了
增加堆大小.
我在application.porperties中设置了server.tomcat.max-thread = 20000.
我对这个问题很好奇.如果你们都知道这个问题并有想法,请告诉我原因.谢谢.
Tomcat - maxThreads vs maxConnections
尝试将maxConnections属性设置为10000以上.
来自doc:
服务器在任何给定时间接受和处理的最大连接数.达到此数量后,服务器将接受但不处理另一个连接.此附加连接将被阻止,直到正在处理的连接数低于maxConnections,此时服务器将再次开始接受和处理新连接.请注意,一旦达到限制,操作系统仍可以接受基于acceptCount设置的连接.默认值因连接器类型而异.对于BIO,缺省值是maxThreads的值,除非使用Executor,在这种情况下,缺省值将是执行程序中maxThreads的值.对于NIO,默认为
10000.对于APR/native,默认为8192.请注意,对于Windows上的APR/native,配置的值将减小到1024的最大倍数,小于或等于maxConnections.这是出于性能原因而完成的.如果设置为值-1,则禁用maxConnections功能并且不计算连接.
有一个spring boot,tomcat max-connection属性,需要在application.properties文件中设置
server.tomcat.max-connections= # Maximum number of connections that the server will accept and process at any given time.
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9454 次 |
| 最近记录: |