精华内容
下载资源
问答
  • Tomcat的性能与最大并发

    万次阅读 2018-12-06 14:44:09
       当一个进程有 500 个线程...Tomcat 默认配置的最大请求数是 150,也就是说同时支持 150 个并发,当然了,也可以将其改大。  当某个应用拥有 250 个以上并发的时候,应考虑应用服务器的集群。 具体...

    转载来自:http://blog.chinaunix.net/uid-7374279-id-4470247.html

     

            当一个进程有 500 个线程在跑的话,那性能已经是很低很低了。Tomcat 默认配置的最大请求数是 150,也就是说同时支持 150 个并发,当然了,也可以将其改大。

            当某个应用拥有 250 个以上并发的时候,应考虑应用服务器的集群。
    具体能承载多少并发,需要看硬件的配置,CPU 越多性能越高,分配给 JVM 的内存越多性能也就越高,但也会加重 GC 的负担。


    操作系统对于进程中的线程数有一定的限制:
    Windows 每个进程中的线程数不允许超过 2000
    Linux 每个进程中的线程数不允许超过 1000
    另外,在 Java 中每开启一个线程需要耗用 1MB 的 JVM 内存空间用于作为线程栈之用。

    Tomcat的最大并发数是可以配置的,实际运用中,最大并发数与硬件性能和CPU数量都有很大关系的。更好的硬件,更多的处理器都会使Tomcat支持更多的并发。
    Tomcat 默认的 HTTP 实现是采用阻塞式的 Socket 通信,每个请求都需要创建一个线程处理。这种模式下的并发量受到线程数的限制,但对于 Tomcat 来说几乎没有 BUG 存在了。
    Tomcat 还可以配置 NIO 方式的 Socket 通信,在性能上高于阻塞式的,每个请求也不需要创建一个线程进行处理,并发能力比前者高。但没有阻塞式的成熟。


    这个并发能力还与应用的逻辑密切相关,如果逻辑很复杂需要大量的计算,那并发能力势必会下降。如果每个请求都含有很多的数据库操作,那么对于数据库的性能也是非常高的。
    对于单台数据库服务器来说,允许客户端的连接数量是有限制的。
    并发能力问题涉及整个系统架构和业务逻辑。
    系统环境不同,Tomcat版本不同、JDK版本不同、以及修改的设定参数不同。并发量的差异还是满大的。
    maxThreads="1000" 最大并发数 
    minSpareThreads="100"///初始化时创建的线程数
    maxSpareThreads="500"///一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程。
    acceptCount="700"// 指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理

    展开全文
  • Tomcat的性能与最大并发配置

    万次阅读 2018-06-12 23:17:05
    Tomcat 默认配置的最大请求数是 150,也就是说同时支持 150 个并发,当然了,也可以将其改大。当某个应用拥有 250 个以上并发的时候,应考虑应用服务器的集群。 具体能承载多少并发,需要看硬件的配置,CPU 越多...


    当一个进程有 500 个线程在跑的话,那性能已经是很低很低了。Tomcat 默认配置的最大请求数是 150,也就是说同时支持 150 个并发,当然了,也可以将其改大。

    当某个应用拥有 250 个以上并发的时候,应考虑应用服务器的集群。

         具体能承载多少并发,需要看硬件的配置,CPU 越多性能越高,分配给 JVM 的内存越多性能也就越高,但也会加重 GC 的负担。
         操作系统对于进程中的线程数有一定的限制:
                  Windows 每个进程中的线程数不允许超过 2000
                  Linux 每个进程中的线程数不允许超过 1000
         另外,在 Java 中每开启一个线程需要耗用 1MB 的 JVM 内存空间用于作为线程栈之用。
         Tomcat的最大并发数是可以配置的,实际运用中,最大并发数与硬件性能和CPU数量都有很大关系的。更好的硬件,更多的处理器都会使Tomcat支持更多的并发。
         Tomcat 默认的 HTTP 实现是采用阻塞式的 Socket 通信,每个请求都需要创建一个线程处理。这种模式下的并发量受到线程数的限制,但对于 Tomcat 来说几乎没有 BUG 存在了。
         Tomcat 还可以配置 NIO 方式的 Socket 通信,在性能上高于阻塞式的,每个请求也不需要创建一个线程进行处理,并发能力比前者高。但没有阻塞式的成熟。
         这个并发能力还与应用的逻辑密切相关,如果逻辑很复杂需要大量的计算,那并发能力势必会下降。如果每个请求都含有很多的数据库操作,那么对于数据库的性能也是非常高的。
         对于单台数据库服务器来说,允许客户端的连接数量是有限制的。
         并发能力问题涉及整个系统架构和业务逻辑。
         系统环境不同,Tomcat版本不同、JDK版本不同、以及修改的设定参数不同。并发量的差异还是满大的。


        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" />


    具体测试:

    服务器配置:

             单硬盘,SATA   8MB缓存

             测试服务器和loadrunner运行服务器位于同一网段--100MB网络(同一交换机)上,排除网络问题的影响

             服务器运行始终,CPU使用率非常低没有超过5% 因此虽然服务器配置低,但是不是性能瓶颈所在

             服务器运行在windowsserver 2003 sp2中文版(正版系统)

             tomcat内存的设置:1.4GBJVM+256MB的池

    [java]  view plain  copy
    1. set JAVA_HOME=C:\JAVA\JDK15  
    2. set CATALINA_OPTS=-server -Xms 1400m -Xmx1400m -XX:PermSize=256m -XX:MaxPermSize=256m  

    tomcat线程的设置:初始产生1000线程数最大支持2000线程

    [java]  view plain  copy
    1. <Connector port="80" maxHttpHeaderSize="8192"  
    2.     maxThreads="4000" minSpareThreads="1000" maxSpareThreads="2000"  
    3.     enableLookups="false" redirectPort="8443" acceptCount="2000"  
    4.     connectionTimeout="20000" disableUploadTimeout="true" />  

    需要显示的JSP页面:index.jsp

    [java]  view plain  copy
    1. <html>  
    2. <body>  
    3. test---tomcat  
    4. <%  
    5.    System.out.println("===========================");  
    6.     System.out.println("===========================");  
    7. System.out.println("===========================");  
    8.    System.out.println("===========================");  
    9.     System.out.println("===========================");     %>  
    10. </body>  
    11. </html>  

    类似于静态页面,以此来判断tomcat支持的最大的并发用户数量

    使用loadrunner设置1000并发用户数进行压力测试。每两秒钟增加一个用户,以此递增,直至1000后,然后再按照两秒钟一个用户递减直至用户数位0.

    测试结果:

    Transaction Response Time Under Load

    1可以看到在达到600用户同时在线的时候,系统响应时间为6秒钟

    100人-----响应时间0.8秒   完美

    150人-----响应时间1秒      完美

    200人-----响应时间1.5秒    响应时间有微小波动 比较完美

    250-----响应时间1.8    比较完美(此时是理想情况下最大的并发用户数量)

    280人-----开始出现连接丢失问题,连接开始不稳定

    300人-----响应时间3秒      响应时间有较大波动峰值为6秒   较差

    350人-----响应时间3秒      开始大量出现连接丢失问题 连接很不稳定

    400人-----响应时间3.8秒    连接丢失数量达到3000次以上

    450人-----响应时间4秒      连接丢失数量达到6000次以上

    500人-----响应时间4秒      连接丢失数量达到11000次以上

    550人-----响应时间6秒      连接丢失数量达到21000次以上

    600人-----响应时间6秒      连接丢失数量达到25000次以上

    600人开始系统出现异常情况,因此停止测试。测试数据到此为止。

    每秒的点击次数:

    虚拟用户递增情况

    网络流量

    测试过程中成功和失败的响应结果:


    展开全文
  • tomcat最大线程数,单台tomcat最大并发量,tomcat最大线程数的设置Connectorport="8080"maxThreads="150"minSpareThreads="25"maxSpareThreads="75"enableLookups="false"redirectPort="8443"acceptCount="100"debug=...

    tomcat最大线程数,单台tomcat最大并发量,tomcat最大线程数的设置

    Connector port="8080"

    maxThreads="150" minSpareThreads="25" maxSpareThreads="75"

    enableLookups="false" redirectPort="8443" acceptCount="100"

    debug="0" connectionTimeout="20000"

    disableUploadTimeout="true" /

    Connector port="8080"

    maxThreads="150" minSpareThreads="25" maxSpareThreads="75"

    enableLookups="false" redirectPort="8443" acceptCount="100"

    debug="0" connectionTimeout="20000"

    disableUploadTimeout="true" /

    tomcat在配置时设置最大线程数,当前线程数超过这个数值时会出错,那么有没有办法捕获到这个错误,从而在client端显示出错信息?

    2. 如何加大tomcat连接数

    在tomcat配置文件server.xml中的 Connector / 配置中,和连接数相关的参数有:

    minProcessors:最小空闲连接线程数,用于提高系统处理性能,默认值为10

    maxProcessors:最大连接线程数,即:并发处理的最大请求数,默认值为75

    acceptCount:允许的最大连接数,应大于等于maxProcessors,默认值为100

    enableLookups:是否反查域名,取值为:true或false。为了提高处理能力,应设置为false

    connectionTimeout:网络连接超时,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为30000毫秒。

    其中和最大连接数相关的参数为maxProcessors和acceptCount。如果要加大并发连接数,应同时加大这两个参数。

    web server允许的最大连接数还受制于操作系统的内核参数设置,通常Windows是2000个左右,Linux是1000个左右。tomcat5中的配置示例:

    Connector port="8080"

    maxThreads="150" minSpareThreads="25" maxSpareThreads="75"

    enableLookups="false" redirectPort="8443" acceptCount="100"

    debug="0" connectionTimeout="20000"

    disableUploadTimeout="true" /

    对于其他端口的侦听配置,以此类推。

    3. tomcat中如何禁止列目录下的文件

    在{tomcat_home}/conf/web.xml中,把listings参数设置成false即可,如下:

    tomcat最大线程数的相关网页热门搜索词

    单台tomcat最大并发量|并发2000需要几台tomcat|spring boot并发10w|tomcat多线程配置|tomcat最大连接数设置|500并发相当于多少人|最大线程数怎么设置|tomcat最大thread|一个tomcat支持多少人在线|

    本文标题:tomcat最大线程数,单台tomcat最大并发量

    http://www.jianglexinxi.cn/yanergaozhi/358554.html

    展开全文
  • 类似于静态页面,以此来判断tomcat支持的最大的并发用户数量 使用loadrunner设置1000并发用户数进行压力测试。每两秒钟增加一个用户,以此递增,直至1000后,然后再按照两秒钟一个用户递减直至用户数位0. 测试...

    服务器配置:

             单硬盘,SATA   8MB缓存

             测试服务器和loadrunner运行服务器位于同一网段–100MB网络(同一交换机)上,排除网络问题的影响

             服务器运行始终,CPU使用率非常低没有超过5% 因此虽然服务器配置低,但是不是性能瓶颈所在

             服务器运行在windowsserver 2003 sp2中文版(正版系统)

             tomcat内存的设置:1.4GBJVM+256MB的池

    1. set JAVA_HOME=C:\JAVA\JDK15  
    2. set CATALINA_OPTS=-server -Xms 1400m -Xmx1400m -XX:PermSize=256m -XX:MaxPermSize=256m  
    set JAVA_HOME=C:\JAVA\JDK15
    set CATALINA_OPTS=-server -Xms 1400m -Xmx1400m -XX:PermSize=256m -XX:MaxPermSize=256m
    

    tomcat线程的设置:初始产生1000线程数最大支持2000线程

    1. <Connector port=“80” maxHttpHeaderSize=“8192”  
    2.     maxThreads=”4000” minSpareThreads=“1000” maxSpareThreads=“2000”  
    3.     enableLookups=”false” redirectPort=“8443” acceptCount=“2000”  
    4.     connectionTimeout=”20000” disableUploadTimeout=“true” />  
    <Connector port="80" maxHttpHeaderSize="8192"
        maxThreads="4000" minSpareThreads="1000" maxSpareThreads="2000"
        enableLookups="false" redirectPort="8443" acceptCount="2000"
        connectionTimeout="20000" disableUploadTimeout="true" />
    

    需要显示的JSP页面:index.jsp

    1. <html>  
    2. <body>  
    3. test—tomcat  
    4. <%  
    5.    System.out.println(”===========================”);  
    6.     System.out.println(”===========================”);  
    7. System.out.println(”===========================”);  
    8.    System.out.println(”===========================”);  
    9.     System.out.println(”===========================”);     %>  
    10. </body>  
    11. </html>  
    <html>
    <body>
    test---tomcat
    <%
       System.out.println("===========================");
        System.out.println("===========================");
    System.out.println("===========================");
       System.out.println("===========================");
        System.out.println("===========================");     %>
    </body>
    </html>
    

    类似于静态页面,以此来判断tomcat支持的最大的并发用户数量

    使用loadrunner设置1000并发用户数进行压力测试。每两秒钟增加一个用户,以此递增,直至1000后,然后再按照两秒钟一个用户递减直至用户数位0.

    测试结果:

    Transaction Response Time Under Load

    1可以看到在达到600用户同时在线的时候,系统响应时间为6秒钟

    100人—–响应时间0.8秒   完美

    150人—–响应时间1秒      完美

    200人—–响应时间1.5秒    响应时间有微小波动 比较完美

    250人—–响应时间1.8秒    比较完美(此时是理想情况下最大的并发用户数量)

    280人—–开始出现连接丢失问题,连接开始不稳定

    300人—–响应时间3秒      响应时间有较大波动峰值为6秒   较差

    350人—–响应时间3秒      开始大量出现连接丢失问题 连接很不稳定

    400人—–响应时间3.8秒    连接丢失数量达到3000次以上

    450人—–响应时间4秒      连接丢失数量达到6000次以上

    500人—–响应时间4秒      连接丢失数量达到11000次以上

    550人—–响应时间6秒      连接丢失数量达到21000次以上

    600人—–响应时间6秒      连接丢失数量达到25000次以上

    600人开始系统出现异常情况,因此停止测试。测试数据到此为止。

    每秒的点击次数:

    虚拟用户递增情况

    网络流量

    测试过程中成功和失败的响应结果:




    博客原文:http://blog.csdn.net/hll814/article/details/50935765###;

    展开全文
  • tomcat并发配置调优

    2018-07-18 16:47:08
    tomcat并发配置调优 2017年05月18日 21:31:41 阅读数:10565 最近部署的tomcat,里面放了一个apk提供给测试人员测试,而有一天压测的时候,他们一致反馈下载不了,结果查看日志才发现如下错误:   INFO: ...
  • Tomcat的性能与最大并发(1000)

    千次阅读 2014-09-18 12:51:05
    Tomcat默认配置的最大请求数是150,也就是说同时支持150个并发,当然了,也可以将其改大。当某个应用拥有250个以上并发的时候,应考虑应用服务器的集群。具体能承载多少并发,需要看硬件的配置,CPU越多性能越高,...
  • 2- Tomcat与高并发

    千次阅读 2018-03-16 14:36:59
    操作系统对于进程中的线程数有一定的限制:Windows 每个进程中的线程数不允许超过 2000Linux 每个进程...更好的硬件,更多的处理器都会使Tomcat支持更多的并发。用户平均请求等待时间:服务器平均请求处理时间:用户...
  • Tomcat参数调优:连接数和并发数连接数实战并发处理线程数 调整实战 配置项 含义 默认 建议 注意 备注 ConnectionTimeout 连接超时 20s 减少 与程序处理能力有关,处理能力越快设置短一点没关系 到底多久提示...
  • tomcat8.5配置高并发

    2019-02-21 19:21:00
    最近部署的tomcat应用,有一天压测的时候,测试一致反馈下载不了,结果查看日志才发现如下错误: ...才惊醒这个tomcat根本知识解压就使用的,配置都没动过,肯定不能支持高并发了。所以这里给出一个高并发的配置...
  • %> 类似于静态页面,以此来判断tomcat支持的最大的并发用户数量 使用loadrunner设置1000并发用户数进行压力测试。每两秒钟增加一个用户,以此递增,直至1000后,然后再按照两秒钟一个用户递减直至用户数位0. 测试...
  • omcat默认配置的最大请求数是150,也就是说同时支持150个并发,当然了,也可以将其改大。 当某个应用拥有250个以上并发的时候,应考虑应用服务器的集群。 具体能承载多少并发,需要看硬件的配置,CPU越多性能越高,...
  • 而大部分情况下Tomcat处理请求的平均时间不会太短,有时还设计数据库操作,所以大部分情况下Tomcat最高并发就只有几百。 然后线程模型会影响Tomcat处理请求的平均时间,要么是线程太少造成CPU等待而增加了平均处理...
  • Tomcat最大并发(1000)

    2014-09-18 09:19:47
    当一个进程有 500 个线程在跑的话,那性能已经是很低很...Tomcat 默认配置的最大请求数是 150,也就是说同时支持 150 个并发,当然了,也可以将其改大 当某个应用拥有 250 个以上并发的时候,应考虑应用服务器的集群
  • 很好奇,一个tomcat 能同时支持多大的并发量 框架 java 后台工具 renren-fast v2.1.0 发布版测试 主要技术细节: springboot mysql 简单的接口,在接口中查询了一条数据库记录。 调试工具中配置的线程数 压力测试...
  • 可以在tomcat\conf\server。xml中相应地配置。 默认Connector中没有设置最大并发数:=“假”重定向端口=“8443协议=”还可以打开上述注释,修改“=”25“=”75“默认最小并发数和最大并发数,实现并发控制。假如 4核...
  • ,用的是struts+hibernate+spring开发,使用tomcat,如果该网站上线了,那我该如何设置tomcat的连接数,以及mysql服务的最大连接数这些参数?大家有什么建议吗,或者有这方面相关的资料让我参考下吗? tomcat 最大...
  • ... 一般线程数有一个公式:最佳启动线程数 = [任务执行时间 / (任务执行时间 - IO等待时间)] * CPU内核数 比如说任务执行时间是100ms IO等待时间是10ms 8核 则线程数为8...线程多少对最高并发没有直接影响,任务计算时
  • Tomcat是我们经常使用的 servlet容器之一,甚至很多线上产品都使用 Tomcat充当服务器。而且优化后的Tomcat性能提升显著,本文...即使是本文中的这个只有一个页面的超小项目,在并发达到一定程度后也会抛出以下类似异常
  • Tomcat的最大并发数是可以配置的,而且并没有限制你所配置的并发数数量,需要根据你的应用处理request所需要的带宽,CPU,内存,压力等进行配置。 还有一种说法是Tomcat的理论并发数量极限是服务器最大可用的端口数,...
  • Tomcat并发优化、内存配置、垃圾回收、宕机预防 目录   Tomcat并发优化、内存配置、垃圾回收、宕机预防 目录 序言 一、Tomcat并发优化 (1) tomcat并发参数 (2) tomcat并发配置 二、Tomcat...
  • 史上最强Tomcat8性能优化

    万次阅读 多人点赞 2019-10-25 15:33:32
    文章目录授人以鱼不如授人以渔目的服务器资源Tomcat配置优化Linux环境安装运行Tomcat8AJP连接执行器(线程池)3种运行模式部署测试用的web项目查看服务器信息部署web应用使用Apache JMeter进行性能测试下载安装修改...
  • 最强Tomcat8性能优化

    2020-10-10 09:08:33
    去发现吞吐量,平均响应时间和错误率等信息的变化,同时根据服务器的cpu和内存等信息,结合接口的业务逻辑,最好是测试使用率最高并发最大,或者是最重要的接口(比如下单支付接口),设置最优的tomcat和jvm配置参数...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 11,706
精华内容 4,682
关键字:

tomcat最高并发