ThreadPoolExecutor executor = new ThreadPoolExecutor(2, //核心线程数 5,//最大线程数 60L, //临时线程空闲时间 TimeUnit.SECONDS,//时间单位 new ArrayBlockingQueue<Runnable>(25) ...
分类:
编程语言 时间:
2020-08-06 17:06:28
阅读次数:
85
在上周三下午时,客户、业务和测试人员同时反溃生产环境登录进入不了系统,我亲自测试时,第一次登录进去了,待退出后再登录时,复现了客户的问题,场景像是请求连接被拒绝了,分析后判断是spring boot的连接数使用完了,于是重启了服务,客户访问都恢复正常。虽然问题暂时解决了,但实质原因还无法确定。根据分 ...
分类:
编程语言 时间:
2020-07-15 13:02:36
阅读次数:
92
最大并发200,100的并发递增施压,到达200后持续360秒1:this group will start:表示总共要生成的最大线程数,如图:设置为:200 个,表示总共会加载到 200个线程2:first,wait for:第一个线程从点击执行之后多长时间开始加载,如图:设置为 0 秒,表示点击 ...
分类:
编程语言 时间:
2020-07-09 10:47:44
阅读次数:
137
https://blog.csdn.net/majianxiong_lzu/article/details/90237408 jetty性能优化思路整理 http://www.sxrczx.com/pages/gordon-tech.lofter.com/post/481906_24eb191.ht ...
分类:
编程语言 时间:
2020-07-06 12:51:58
阅读次数:
140
背景:由于搞活动,有瞬时流量,好多请求被前置系统拦截。由于前置系统长时间,得不到后端的响应,就认为后端处理器繁忙,然后就拦截请求,不在放行。 根本原因: 线程池配置:20 核心线程数,最大线数也是20,阻塞队列1万。 解决办法:尝试调大最大线程数为100,但是还是没改变,原因,来的请求都先入阻塞队列 ...
分类:
其他好文 时间:
2020-07-02 23:22:36
阅读次数:
130
一、基础篇 1.线程池的参数 1> CorePoolSize 核心线程数 2> MaxPoolSize 最大线程数 3> QueueCapacity 队列容量 4> KeepAliveSecond 没有任务存活时间 5> TimeUnit 时间单位 6> rejectedExecutionHandl ...
分类:
其他好文 时间:
2020-06-05 23:23:52
阅读次数:
101
Executors Executors.newFixedThreadPool(int):创建一个固定线程数的线程池,其最大线程数跟核心线程数一样大。使用LinkBlockingQueue. public static ExecutorService newFixedThreadPool(int nT ...
分类:
编程语言 时间:
2020-05-28 21:48:05
阅读次数:
70
Semaphore介绍 Semaphore(信号量)是用来控制同时访问特定资源的线程数量,他通过协调各个线程,以保证合理的使用公共资源。 Semaphore的简单示例 使用Semaphore来简单模拟数据库连接池 public class Pool { //可同时访问资源的最大线程数 private ...
分类:
其他好文 时间:
2020-05-27 18:47:23
阅读次数:
58