当前位置: 首页 > 知识库问答 >
问题:

增加tomcat 7中的并发连接数

符献
2023-03-14

想知道如何在Tomcat7中增加并发连接的数量。我做了一些研究,并从apache文档中发现,将值设置为acceptCount、maxConnections和增加maxThreads就可以做到这一点,但当尝试时,我只能提交1000个请求中的500个。下面是server.xml文件中的代码片段-

      <Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
       maxThreads="2000" acceptCount="1000" maxConnections="1000"
       scheme="https" secure="true"
       keystoreFile="certs/tomcat.keystore" keystorePass="xxxxxxxx"
       clientAuth="false" sslProtocol="TLS" server="Apache" />

谢了,西里什。

共有1个答案

韩楷
2023-03-14

创建大量线程1并接受大量请求并不意味着您的服务器将能够处理这些请求

如果您有N个线程,并且只有M个物理处理器/核,那么每个线程将获得1个处理器(如果M>=N)和一个平均M/N处理器(如果M )。假设在1个线程上运行N个请求,每个请求占用 R秒的CPU时间。运行一个请求的平均运行时间 tt=Min(R,R*N/M)秒。很明显,随着 n(活动线程和活动请求的数量)的增加,每个单独请求的平均运行时间 t成比例地增加。

除此之外,如果您有很多线程,它们都将使用内存,并且都将争夺对共享数据结构或数据库的访问权。所有这些额外的资源使用和争用正在以各种方式增加整个系统的管理费用。

1-实际上,将线程数量增加到1000并不意味着您将能够接受1000个请求。如果有数百个线程处于可运行状态,那么Tomcat的侦听器线程(调用serversocket.accept())可能会出现CPU不足,无法跟上请求到达率。

2-您将需要对系统进行一些性能调优,但如果降低它甚至进一步提高性能,我也不会感到惊讶。它将取决于您的硬件、应用程序和(我希望)您的后端数据库。

 类似资料:
  • 我需要你帮忙解决这个问题 这是我在linux服务器上的的结果 现在这是我的MongoDB的结果 我想将MongoDb连接增加到10000个。 我尝试过不同的选择,比如我的mongod1。形态 这也是在启动mongodb的时候 但是什么都没用,都失败了,请让我知道如何在我的情况下将连接数增加到10000,提前谢谢。

  • 我将我的项目部署到weblogic,我意识到我的连接没有关闭,因为weblogic服务器超载了。 我把它们修好了。但我仍然有同样的问题。在weblogic监控中,活动连接数正在增加,但在数据库(Oracle)中,此连接无效。

  • 问题内容: MySQL数据库的每个套接字的默认连接数均为100,但我正在寻找任何方法来增加MySQL数据库的套接字连接数> 100。 问题答案: 如果您需要在不重新启动MySQL的情况下增加MySQL连接数,请执行以下操作 这些设置将在MySQL重新启动时更改。 对于永久更改,请在my.cnf中添加以下行,然后重新启动MySQL

  • 如何增加超时,以便在处理响应之前,请求不会超时? Spring Boot中的Tomcat设置: 每秒的请求在15秒的过程中被提升到300,所有的请求都在下面的gatling(蓝色)中看到。 这是由于使用工作线程为300个请求提供服务。 控制器是在SpringMVC中编写的,它返回,执行异步请求处理,因此在处理响应后将恢复响应。 但即使是设置为高位1200000即将结束时有很多503(红色) 加特林

  • 这是我的改型类的实例:

  • Http 协议是目前互联网应用最广泛的网络通信协议,在服务端编程中大量使用 Http+JSON 作为 RPC 服务。实际上 Http 协议有一个缺陷就是无法支持单连接并发,必须是请求应答式的。调用 Http 接口时一般使用 TCP 短连接方式。 Http 1.1版本虽然支持了Keep-Alive,在一定程度上解决了短连接的问题,服务调用方和被调方可以使用Keep-Alive来维持TCP长连接,降低