Tomcat线程池原理

参数解释

maxThreads:最大线程数,tomcat能创建来处理请求的最大线程数(默认值200个线程,1个线程处理1个请求)
acceptCount:最大等待队列数,请求并发大于tomcat线程池的处理能力,则被放入等待队列等待被处理(默认值100,超过此数tomcat直接拒绝)
connectionTimeout:客户端和8080服务器建立连接的超时时间,单位:毫秒,设置为0表示永不超时,这样设置有隐患的,通常可设置为30000毫秒

线程池原理

场景1


当同时并发的请求数<200,tomcat启动的线程则不会达到maxThreads,故8080服务进1个请求,就出1个线程对接,过程即 客户端–A--C

场景2


当同时并发的请求数>200,tomcat启动的线程则会达到maxThreads,故8080服务进1个请求,tomcat会把此请求放入等待队列,等待空闲线程

场景3


当同时并发的请求数>200,acceptCount排队数>100,故8080服务进1个请求,tomcat会直接拒绝此请求,返回connection refused

总结

maxThreads值不断上升原因

1、并发请求量大
2、代码有瓶颈造成占用的线程不能释放

acceptCount值不断上升原因

1、并发请求量大,已达到maxThreads值
2、代码有瓶颈造成占用的线程不能释放

connectionTimeout

网络或被测服务压力大

connection refused

并发请求量大于maxThreads+acceptCount总和

Tomcat线程池原理相关推荐

  1. Tomcat线程池监控及线程池原理分析

      目录         一.背景         二.tomcat线程池监控         三.tomcat线程池原理         四.总结 一.背景 我们都知道稳定性.高可用对于一个系统来讲 ...

  2. python3 线程池源码解析_5分钟看懂系列:Python 线程池原理及实现

    概述 传统多线程方案会使用"即时创建, 即时销毁"的策略.尽管与创建进程相比,创建线程的时间已经大大的缩短,但是如果提交给线程的任务是执行时间较短,而且执行次数极其频繁,那么服务器 ...

  3. Java多线程闲聊(四):阻塞队列与线程池原理

    Java多线程闲聊(四)-阻塞队列与线程池原理 前言 复用永远是人们永恒的主题,这能让我们更好地避免重复制造轮子. 说到多线程,果然还是绕不开线程池,那就来聊聊吧. 人们往往相信,世界是存在一些规律的 ...

  4. Java 并发编程——Executor框架和线程池原理

    Java 并发编程系列文章 Java 并发基础--线程安全性 Java 并发编程--Callable+Future+FutureTask java 并发编程--Thread 源码重新学习 java并发 ...

  5. JAVA线程池原理以及几种线程池类型介绍

    在什么情况下使用线程池? 1.单个任务处理的时间比较短      2.将需处理的任务的数量大 使用线程池的好处: 1.减少在创建和销毁线程上所花的时间以及系统资源的开销      2.如不使用线程池, ...

  6. java线程池_Java多线程并发:线程基本方法+线程池原理+阻塞队列原理技术分享...

    线程基本方法有哪些? 线程相关的基本方法有 wait,notify,notifyAll,sleep,join,yield 等. 线程等待(wait) 调用该方法的线程进入 WAITING 状态,只有等 ...

  7. C++线程池原理及创建(转)

    C++线程池原理及创建(转) 来自http://www.cnblogs.com/cpper-kaixuan/p/3640485.html 本文给出了一个通用的线程池框架,该框架将与线程执行相关的任务进 ...

  8. java 线程池的理解_JAVA线程池原理的理解

    线程池原理基础理解: 线程池初始化规定个数的线程,然后这些线程一直运行,并且监控线程队列,只要线程队列被添加进线程,那么线程池不断从队列中取出线程运行.直到队列中的线程为空.实例代码如下: packa ...

  9. Java高并发编程详解系列-线程池原理自定义线程池

    之前博客的所有内容是对单个线程的操作,例如有Thread和Runnable的使用以及ThreadGroup等的使用,但是对于在有些场景下我们需要管理很多的线程,而对于这些线程的管理有一个统一的管理工具 ...

  10. dict实现原理 python_5分钟看懂系列:Python 线程池原理及实现

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理 概述 传统多线程方案会使用"即时创建, 即时销毁"的策略.尽管与创建进程相比,创 ...

最新文章

  1. linux 找回gpt分区,linux – 修复graid mini磁盘上损坏的GPT分区
  2. 浅析数据中心电气系统检测与认证
  3. VIO Estimator::processIMU 函数
  4. C# 值类型和引用类型
  5. 计算机内存的基本储存单元,计算机信息存储单元的结构解析
  6. 操作系统——I/O设备
  7. c语言修改注册表函数,用C语言实现修改注册表
  8. 深入浅出MFC学习笔记(第三章:MFC六大关键技术之仿真:命令传递) .
  9. 重磅:GB/T 35273-2020《信息安全技术个人信息安全规范》最新解读
  10. 小程序中实现token过期重新登录再重新请求业务接口
  11. npy/npz/pkl/csv长字符串存储
  12. JavaScript的toast
  13. 输入输出系统 ——I/O方式(程序查询、程序中断、DMA方式)
  14. 微信公众号网页版,获取用户code时出现跨域问题的解决办法之一
  15. python工程师需要掌握什么技能_从事Python工程师具体需要掌握哪些技能
  16. Debian备份与还原
  17. Sqli-labs Less7
  18. neovim图标显示乱码,utf8字体显示乱码(Windows10和Centos安装nerd-fonts)
  19. Bit、Byte、KB
  20. 京东研发团队 - 领域驱动设计(DDD)实践

热门文章

  1. 苹果耳机无线真假测试软件,辨别苹果耳机真伪,看完这篇就够了
  2. 前端基础练习项目——网页版扫雷
  3. 无穷大8字型曲线方程
  4. Acme CAD Converter 2019简体中文直装破解版
  5. Axure RP 9(附授权码+安装教程)
  6. DreamweaverCS6手把手教你安装并破解
  7. 评中级工程师职称计算机,评中级工程师职称及注意事项
  8. 使用MATLAB的trainNetwork设计一个简单的LSTM神经网络
  9. 计算机,通信职称考试,2017年通信工程师考试科目介绍
  10. 天天生鲜项目——用户收货地址页