java - 如何接受来自客户的许多请求

标签 java tomcat

我正在 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/

相关文章:

tomcat - 带有 Tomcat 错误 : GSSException: Failure unspecified at GSS-API level (Mechanism level: Checksum failed) 的 SPNEGO

eclipse - 尝试在 tomcat 上部署我的 Web 应用程序的 war 文件时出现 HTTP 状态 404 错误

java - 每 10 分钟调用一次函数

java - 无法创建其他布局版本

java - 0 使用图书馆项目时返回获取资源的 ID

java - 相等测试顺序会影响 Java 的性能吗?

java - struts中的文件上传

spring - 为 CAS 客户端使用 Spring Security 时出现 401 错误

java - 神秘的 Content-Disposition header 案例

java - 我无法从其他 Intent 将项目添加到我的 RecyclerView