我正在 Tomcat 服务器上开发一个 struts2 项目。
我尝试将来自客户端的 6000 请求发布到我的服务器 API。但是我的服务器 API 只接受大约 2000 多个请求。其他 4000 个失败。
我收到来自客户的消息如下:
java.net.ConnectException: Connection refused
我的 server.xml 有配置:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="1000000" maxThreads="50000" keepAliveTimeout="3200000" minSpareThreads="10000" acceptCount="13000" maxIdleTime="1000000"
redirectPort="8443" />
有没有人有解决方案让我的服务器 API 可以获取所有客户端请求?
请帮帮我! 谢谢
最佳答案
我不知道这是否会导致您的问题,但您的配置值似乎太高了!
- maxThreads=50000 表示使用所有线程时超过 15 GB 内存(win32)!
- minSpareThreads=10000 表示启动时大约 3 GB 的内存消耗 (win32)!
- keepAliveTimeout=3200000 表示如果客户端未使用/关闭,连接将保持打开状态 >53 小时!
- maxIdleTime=1000000 表示未使用的线程在被销毁之前最多可继续存在 16 小时!
关于java - 如何接受来自客户的许多请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18977477/