精华内容
下载资源
问答
  • Tomcat并发数配置

    千次阅读 2016-12-29 15:30:30
    配合做压力测试的时候,有时候提高并发数的时候 莫名的出现服务器卡顿现象,服务器拒绝连接,前端出现502 Bad Gateway等错误信息,而后端服务器日志确没有错误提示。 可能原因是tomcat高并发下连接数设置问题,或者...

    配合做压力测试的时候,有时候提高并发数的时候 莫名的出现服务器卡顿现象,服务器拒绝连接,前端出现502 Bad Gateway等错误信息,而后端服务器日志确没有错误提示。
    可能原因是tomcat高并发下连接数设置问题,或者没有设置,采用默认的。
    解决方法增加tomcat连接数 


    在tomcat配置文件server.xml中的配置中,和连接数相关的参数有: 
    minProcessors:最小空闲连接线程数,用于提高系统处理性能,默认值为10 
    maxProcessors:最大连接线程数,即:并发处理的最大请求数,默认值为75 
    acceptCount:允许的最大连接数,应大于等于maxProcessors,默认值为100 
    enableLookups:是否反查域名,取值为:true或false。为了提高处理能力,应设置为false 
    connectionTimeout: 网络连接超时,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为30000毫秒。 其中和最大连接数相关的参数为maxProcessors和acceptCount。如果要加大并发连接数,应同时加大这两个参数。 web server允许的最大连接数还受制于操作系统的内核参数设置,通常Windows是2000个左右,Linux是1000个左右。 
    如: 
      <Connector   port="8080"   
          maxThreads="150"     
          minSpareThreads="25"     
          maxSpareThreads="75"   
          acceptCount="100"   
          />   
      maxThreads="150"     表示最多同时处理150个连接   
      minSpareThreads="25"     表示即使没有人使用也开这么多空线程等待   
      maxSpareThreads="75"     表示如果最多可以空75个线程,例如某时刻有80人访问,之后没有人访问了,则tomcat不会保留80个空线程,而是关闭5个空的。   
        
      acceptCount="100"   当同时连接的人数达到maxThreads时,还可以接收排队的连接,超过这个连接的则直接返回拒绝连接。


     设置如下


    <Connector URIEncoding="UTF-8" 
               port="10000" 
               acceptCount="500"
               maxThreads="2000"
               minSpareThreads="200"           
               protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" />


    acceptCount对暂时无法执行的请求进行队列保存,超出设置则拒绝连接。
    测试发现无法限制住最大并发数,所有请求都可以依次执行,每次有1个线程执行(maxThreads=1)
    最大并发数如果过大,大于acceptCount值好几倍,会随机出现连接被拒绝。

    展开全文
  • tomcat并发数

    2017-12-21 17:43:00
    Tomcat的最大并发数是可以配置的,实际运用中,最大并发数与硬件性能和CPU数量都有很大关系的。更好的硬件,更多的处理器都会使Tomcat支持更多的并发。  Tomcat默认的HTTP实现是采用阻塞式的Socket通信,每个请求...

    Tomcat的最大并发数是可以配置的,实际运用中,最大并发数与硬件性能和CPU数量都有很大关系的。更好的硬件,更多的处理器都会使Tomcat支持更多的并发。

      Tomcat默认的HTTP实现是采用阻塞式的Socket通信,每个请求都需要创建一个线程处理,当一个进程有500个线程在跑的话,那性能已经是很低很低了。Tomcat 默认配置的最大请求数是150,也就是说同时支持150个并发。具体能承载多少并发,需要看硬件的配置,CPU 越多性能越高,分配给JVM的内存越多性能也就越高,但也会加重GC的负担。当某个应用拥有 250 个以上并发的时候,应考虑应用服务器的集群。操作系统对于进程中的线程数有一定的限制:

    1. Windows 每个进程中的线程数不允许超过 2000

    2. Linux 每个进程中的线程数不允许超过 1000

    3. 在Java中每开启一个线程需要耗用1MB的JVM内存空间用于作为线程栈之用,此处也应考虑。

    maxThreads="1000" 最大并发数 

    minSpareThreads="100"///初始化时创建的线程数

    maxSpareThreads="500"///一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程。

    acceptCount="700"// 指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理

     

    配置实例:

    <Connector port="8080" protocol="HTTP/1.1"   minSpareThreads="100"   maxSpareThreads="500"      maxThreads="1000"   acceptCount="700" 

                   connectionTimeout="20000"
                   redirectPort="8443" />

    转载于:https://www.cnblogs.com/zongyl/p/8081735.html

    展开全文
  • 查看tomcat 并发数

    2020-09-19 14:20:48
    查看tomcat并发连接有两个方式: 方式1:通过tomcat自带的管理控制台查看: 启动tomcat后,在浏览器输入:http://localhost:8888/manager/status 8888是自己的端口号 用的是 tomcat 8.5.56 tomcat7以后需要...

    查看tomcat并发连接数有两个方式:

    方式1:通过tomcat自带的管理控制台查看:

    启动tomcat后,在浏览器输入:http://localhost:8888/manager/status   8888是自己的端口号

    用的是 tomcat 8.5.56

    tomcat7以后需要账号登录,配置账号需要进入tomcat目录下的conf路径下tomcat-user.xml文件进行修改:

    打开tomcat-users.xml加上如下代码到 </tomcat-users> 节点内就ok了

     <role rolename="manager-gui"/>
      <role rolename="manager-script"/>
      <role rolename="manager-jmx"/>
      <role rolename="manager-status"/>
      <user username="root" password="123456" roles="manager-gui,manager-script,manager-jmx,manager-status"/>

     

    配置完之后访问 就Ok了

    linux 系统 配置如上  tomcat 访问 直接报403

    默认情况下,只能通过与Tomcat在同一台计算机上运行的浏览器访问Manager。根据提示信息,需要修改manager的status.xml文件,该文件在 tomcat/webapps/manager/META-INF目录下

    修改地址访问限制  tomcat/webapps/manager/META-INF/context.xml

    <Context antiResourceLocking="false" privileged="true" >
      <Valve className="org.apache.catalina.valves.RemoteAddrValve"
             allow="^.*$" />
      <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
    </Context>

    然后在访问

    访问Host Manager

    还是出现了403不允许连接,默认也只是运行本地连接,这时根据提示信息,需要修改Host Manager的context.xml文件。该文件在tomcat/webapps/host-manager/META-INF目录下。
    3、修改地址访问限制:tomcat/webapps/host-manager/META-INF/context.xml
    更改之前的设置,只容许本机访问:

    <Context antiResourceLocking="false" privileged="true" >
      <Valve className="org.apache.catalina.valves.RemoteAddrValve"
             allow="^.*$" />
      <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
    </Context>

    总结:tomcat默认是关闭管理界面的访问权限的,若需要访问需要在在tomcat安装目录下的conf/tomcat-users.xml配置文件中增加用户和用户角色。同时tomcat默认只能在本机访问管理界面,若要远程访问,需要修改tomcat/webapps/host-manager/META-INF/context.xml文件(该文件和虚拟主机管理有关)和tomcat/webapps/manager/META-INF/context.xml配置文件(该文件和服务器管理和项目部署相关)。

    展开全文
  • tomcat并发配置

    千次阅读 2013-10-05 22:43:39
    之前在做tomcat的最大并发量测试,现总结如下: tomcat默认的连接是线程阻塞的,即protocol配置为"HTTP/1.1"。那么tomcat的最大连接就受maxThreads和account的限制, maxThreads是最大的线程,account是...

    之前在做tomcat的最大并发量测试,现总结如下:

    tomcat默认的连接是线程阻塞的,即protocol配置为"HTTP/1.1"。那么tomcat的最大连接数就受maxThreads和account的限制,

    maxThreads是最大的线程数,account是线程等待数,当连接数量达到maxThreads时,就把多余的连接放入account中。当连接数大于maxThreads+account时,连接被拒绝。maxThreads的默认值是200,account的默认值是100。

    通过修改maxThreads和account的值可以增加tomcat的最大连接数。但是这个数值还受限于系统的最大句柄数。要是项目需要的并发量超过了系统的最大句柄数,那就只能修改系统的最大句柄数。Linux的默认最大句柄数是1024.

    tomcat的线程连接还可以设置为线程非阻塞,即 protocol="org.apache.coyote.http11.Http11NioProtocol"  

    那么tomcat的最大连接数就是系统的最大句柄数。当配置为Nio时,不要加上maxThreads account等属性,否则会报错!



    转自:http://hi.baidu.com/latjo/blog/item/f939e925a76c88064d088d63.html

    Tomcat从5.5版本开始,支持以下四种Connector的配置分别为:

     

    <Connector port="8081" protocol="org.apache.coyote.http11.Http11NioProtocol"                           connectionTimeout="20000" redirectPort="8443"/>

    <Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000"

                   redirectPort="8443"/>

    <Connector executor="tomcatThreadPool"

                   port="8081" protocol="HTTP/1.1"

                   connectionTimeout="20000"

                   redirectPort="8443" />

    <Connector executor="tomcatThreadPool"

                   port="8081" protocol="org.apache.coyote.http11.Http11NioProtocol"

                   connectionTimeout="20000"

                   redirectPort="8443" />

     

    我们姑且把上面四种Connector按照顺序命名为 NIO, HTTP, POOL, NIOP

     

    为了不让其他因素影响测试结果,我们只对一个很简单的jsp页面进行测试,这个页面仅仅是输出一个Hello World。假设地址是 http://tomcat1/test.jsp

     

    我们依次对四种Connector进行测试,测试的客户端在另外一台机器上用ab命令来完成,测试命令为: ab -c 900 -n 2000 http://tomcat1/test.jsp,最终的测试结果如下表所示(单位:平均每秒处理的请求数):

     

    NIO HTTP POOL NIOP

    281 65 208 365

    666 66 110 398

    692 65 66 263

    256 63 94 459

    440 67 145 363

    由这五组数据不难看出,HTTP的性能是很稳定,但是也是最差的,而这种方式就是Tomcat的默认配置。NIO方式波动很大,但没有低于280 的,NIOP是在NIO的基础上加入线程池,可能是程序处理更复杂了,因此性能不见得比NIO强;而POOL方式则波动很大,测试期间和HTTP方式一 样,不时有停滞。

     

    由于linux的内核默认限制了最大打开文件数目是1024,因此此次并发数控制在900。

     

    尽管这一个结果在实际的网站中因为各方面因素导致,可能差别没这么大,例如受限于数据库的性能等等的问题。但对我们在部署网站应用时还是具有参考价值的。

    展开全文
  • Tomcat并发数优化

    2017-03-08 17:05:53
    我们可以去Tomcat 的官网看一下相关的资料这里写链接内容 在Connector的属性配置中,相关描述是这样的If more simultaneous requests are received than can be handled by the currently available request ...
  • Tomcat并发数优化和设置

    千次阅读 2016-07-06 15:12:46
     请注意:很抱歉,在tomcat6在默认的配置选项中是没有把NIO功能打开。所以很多正在使用Tomcat6的朋友们本以为能快活的使用上NIO。 而NIO则是使用单线程(单个CPU)或者只使用少量的多线程(多CPU)来接受Socket,而由...
  • Tomcat并发数优化总结

    2015-09-22 10:53:29
    web应用的并发提升,除了负载均衡。在小企业中也可以通过一些软件的上的设置来进行一些优化。下面是一些在服务器上修改tomcat参数的优化方法,非常简单实用!... 请注意:很抱歉,在tomcat6在默认的配置选项
  • Tomcat内存,并发数配置

    万次阅读 2011-11-28 13:45:45
    D:\Program Files\Apache Software Foundation\Tomcat 5.5\bin\tomcat5w.exe java 选项卡 Initial memory pool: 初始话的Java虚拟机内存大小, Maxinum memory pool: Java虚拟机可使用的最大内存, Thread ...
  • tomcat并发配置

    2020-05-19 15:01:19
    1.直接下载的tomcat是bio模式,而且是线程比较少,只能支撑几百个并发,现在线上需要支持4000的并发,则需要调整server.xml中的参数。 <Executor name="myTomcatThreadPool" # 配置tomcat共享线程池的名称 ...
  • linux系统下 tomcat设置maxthreads为1000。...问题1:tomcat配置protocal="HTTP/1.1" 应该是一个线程处理一个请求吧,为什么能建立那么多的连接呢? 问题2:修改macthreads大小,为何对测试结果几乎无影响。
  • 未来属于那些相信梦想,并愿意为之付诸行动的人在做一个关于秒杀系统的模块,进行Jmeter压测性能的时候发现tomcat并发上不去,深入原因找到可供优化的地方,力求最大性能。发现并发容器问题对单接口进行6000线程压测...
  • 查看tomcat 并发连接

    千次阅读 2019-02-15 13:39:13
    查看tomcat并发连接有两个方式: 方式1:通过tomcat自带的管理控制台查看: 启动tomcat后,在浏览器输入:http://127.0.0.1:8080/manager/status tomcat7以后需要账号登录,配置账号需要进入tomcat目录下的conf...
  • tomcat并发配置调优

    2018-07-18 16:47:08
    tomcat并发配置调优 2017年05月18日 21:31:41 阅读:10565 最近部署的tomcat,里面放了一个apk提供给测试人员测试,而有一天压测的时候,他们一致反馈下载不了,结果查看日志才发现如下错误:   INFO: ...
  • ... 安装目录下 eg: D:\Program Files\Apache Software Foundation\Tomcat 5.5\bin\tomcat5w.exe java 选项卡 Initial memory pool: 初始话的Java虚拟机内存大小,Maxinum ...
  • 1.并发配置: 在tomcat中conf下的server.xml文件中节点进行配置 maxThreads:最大的并发请求,当cpu利用率高的时候,不宜增加线程的个数,当cpu利用率不高,大部分是io阻塞类的操作时,可以适当增加该值。 ...
  • web应用的并发提升,除了负载均衡。在小企业中也可以通过一些软件的上的设置来进行一些优化。下面是一些在服务器上修改tomcat参数的优化方法,非常简单实用!... 请注意:很抱歉,在tomcat6在默认的配置...
  • tomcat配置文件server.xml中的<Connector … />配置中,和连接相关的参数有: minProcessors:最小空闲连接线程,用于提高系统处理性能,默认值为10 maxProcessors:最大连接线程,即:并发处理的最大...
  • Tomcat并发优化、内存配置、垃圾回收、宕机预防 目录   Tomcat并发优化、内存配置、垃圾回收、宕机预防 目录 序言 一、Tomcat并发优化 (1) tomcat并发参数 (2) tomcat并发配置 二、Tomcat...
  • 查看tomcat并发连接

    2019-01-13 19:44:11
    方式1:通过tomcat自带的管理控制台查看: ...tomcat7以后需要账号登录,配置账号需要进入tomcat目录下的conf路径下tomcat-user.xml文件进行修改: 打开tomcat-users.xml加上如下代码到 </tomcat-users> 节...
  • 可以在控制台的启动信息里看见,默认状态下没有被打开nio配置,启动时的信息,如下: 2010-2-1 12:59:40 org.apache.coyote.http11.Http11Protocol init 信息: Initializing Coyote HTTP/1.1 on http-8080 2010-2-...
  • 1:配置executor属性打开/conf/server.xml文件,在Connector之前配置一个线程池: 重要参数说明:name:共享线程池的名字。这是Connector为了共享线程池要引用的名字,该名字必须唯一。默认值:None;namePrefix:在...
  • Tomcat最大并发数

    2019-10-11 09:04:17
    如何设置提高并发数 修改catalina.sh: rem 以下配置为JVM参数调优 set JAVA_OPTS= -server rem 以服务器模式启动,启动速度慢,但更稳定,性能更好 -Xms8192M rem 由于本机内存为16G,这里就设置成8G(实际并未...
  • 【性能优化】查看tomcat 并发连接

    万次阅读 2018-06-27 11:30:04
    查看tomcat并发连接有两个方式:方式1:通过tomcat自带的管理控制台查看:启动tomcat后,在浏览器输入:http://11.8.130.129:8080/manager/statustomcat7以后需要账号登录,配置账号需要进入tomcat目录下的conf...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 696
精华内容 278
关键字:

tomcat并发数配置