zoukankan      html  css  js  c++  java
  • Tomcat线程数与处理速度的关系

    问题:Tomcat线程数是不是越大越好呢?

    答案肯定是否定的。

    Tomcat的处理速度跟线程数不是完全成正比的,设置不恰当会出现相反的效果。服务的负载计算包括了CPU的使用率资源等待

    第一种情况,资源等待比较少,那么系统响应时间就是限制在CPU的计算上面了。

    这时候线程数应该设置小一点,降低同一时间争抢CPU的线程数,可以提高线程效率,从而提升系统的处理能力。

    第二种情况,资源等待比较多,比如文件的读写或者请求数据库等。

    这时候线程数就要增加一些,这样子才能提高处理的请求个数,从而提高系统的处理能力。

    现实,当线程比较多的时候,cpu在线程切换时消耗的时间随着线程数量的增加越来越大,从而导致系统的处理能力降低。

    connectionTimeout="30000"

    redirectPort="8443"

    maxThreads="600" acceptCount="800"/>

    maxThreads:tomcat起动的最大线程数,即同时处理的任务个数,默认值为200

    acceptCount:当tomcat起动的线程数达到最大时,接受排队的请求个数,默认值为100

    acceptCount一般跟maxThreads设置差不多大就可以了,具体还是需要看访问高峰期,排队的请求是否多,是否会出现timeout请求比较多,进行对应的调整。

    总结

    因此,线程数没有固定的值,需要通过不断地测试和调整、优化才能找到最适合的值。

    如果设的过小,可以保证接收的请求较快相应,但是处理的同时处理的请求个数有限,超过的请求可能就直接被拒绝了。

    如果设的过大,就会出现大量超时的现象,也有可能出现java虚拟机资源不够用 ,或者系统文件句柄不够用的情况。

    一个tomcat处理不过来我们可以多开几个啊!你们觉得呢?

  • 相关阅读:
    DS18B20读数错误排除
    一个自增计数的问题
    SQLServer2005删除log文件和清空日志的方案
    英语课件快要到期问题的解决
    msp430板子接485接口的气体传感器问题及处理
    修复Windows XP右键没有新建菜单问题
    linux和windows共享文件
    打开office word excel弹出visual studio 2008
    iar 问题
    Windows中 RabbitMQ安装与环境变量配置
  • 原文地址:https://www.cnblogs.com/fjping0606/p/10309701.html
Copyright © 2011-2022 走看看