求职答题框架五、性能测试调优

如何优化线程池配置?

线程池核心参数包括 corePoolSize、maximumPoolSize、keepAliveTime、workQueue、threadFactory 和 rejectionHandler。 执行流程是先用核心线程,再进队列,队列满后扩到最大线程数,仍处理不了就走拒绝策略。

面试

答题框架

当前只提供答题框架,不代表已经完成事实与工程边界复核。

这题可以按「结论 -> 原理 -> 场景 -> 风险」来答,重点放在求职面试里的可落地理解。 答题要点: 1. 线程池核心参数包括 corePoolSize、maximumPoolSize、keepAliveTime、workQueue、threadFactory 和 rejectionHandler。 2. 执行流程是先用核心线程,再进队列,队列满后扩到最大线程数,仍处理不了就走拒绝策略。 3. 生产调优要按任务类型区分:CPU 密集关注核心数,IO 密集关注等待时间;同时监控队列长度、活跃线程数、拒绝数和耗时。 容易被追问: - 线上线程池打满如何排查? - 核心线程数如何估算? 注意事项: - 不要直接使用无界队列吞掉压力。 - 不要忽略拒绝策略和线程命名。

答题练习

  1. 1线程池核心参数包括 corePoolSize、maximumPoolSize、keepAliveTime、workQueue、threadFactory 和 rejectionHandler。
  2. 2执行流程是先用核心线程,再进队列,队列满后扩到最大线程数,仍处理不了就走拒绝策略。
  3. 3生产调优要按任务类型区分:CPU 密集关注核心数,IO 密集关注等待时间;同时监控队列长度、活跃线程数、拒绝数和耗时。

常见错误

  • 不要直接使用无界队列吞掉压力。
  • 不要忽略拒绝策略和线程命名。

可能追问

  • 线上线程池打满如何排查?
  • 核心线程数如何估算?

来源记录

原始来源
小林coding
来源页面
性能测试面试题
最近收录
2026-07-04
官方复核
性能测试面试题、一、Jmeter工具使用、JMeter中如何实现参数关联?比如登录token传递给下一个接口?、JMeter如何模拟多用户并发登录?、JMeter中的断言有哪几种?你常用哪种?、JMeter如何实现集合点(并发集合)?、JMeter中的线程组有哪几种?有什么区别?、JMeter如何实现阶梯式加压?、JMeter如何查看实时压测结果?、JMeter命令行模式怎么用?有什么优势?、JMeter如何模拟弱网环境?、JMeter如何处理Cookie和Session?