线程池工作流程: 1、如果正在运行的线程数量小于 corePoolSize,那么马上创建线程运行这个任务 2、如果正在运行的线程数量大于或等于 corePoolSize,那么将这个任务放入队列 3、如果这时候队列满了,而且正在运行的线程数量小于 maximumPoolSize,那么还是要创建非核心线 ...
分类:
编程语言 时间:
2020-07-29 00:47:33
阅读次数:
96
前言 在默认情况下,jmeter 发送每个请求之间是没有延时的,如果采用默认方式,如果线程数足够大,瞬间就会将服务器压死。再则在实际的业务过程中,请求之间是有一定时间的停顿的所以在请求之间设置合理的延时是必须的,也是更接近用户真实业务情况。在 jmeter 中,定时器组件提供了系列不同类型的延时控制 ...
分类:
其他好文 时间:
2020-07-27 15:40:14
阅读次数:
52
线程数据不安全现象 from threading import Thread n = 0 def add(): for i in range(500000): global n n += 1 def sub(): for i in range(500000): global n n -= 1 t_l ...
分类:
编程语言 时间:
2020-07-26 15:44:32
阅读次数:
64
Semaphore Semaphore 字面意思是信号量的意思,它的作用是控制访问特定资源的线程数目。应用场景:资源访问,服务限流。 Semaphore 实现AbstractQueuedSynchronizer的方法与ReentrantLock一样 Semaphore构造方法 public Sema ...
分类:
其他好文 时间:
2020-07-18 22:55:40
阅读次数:
108
压测设置 线程数:并发数量,能跑多少量。具体说是一次存在多少用户同时访问 Rame-Up Period(in seconds):表示在多长时间内启动完上述的线程数。 循环次数:这个设置不会改变并发数,可以延长并发时间。总请求数=线程数*循环次数 调度器:设置压测的启动时间、结束时间、持续时间和启动延 ...
分类:
其他好文 时间:
2020-07-17 19:44:02
阅读次数:
87
1.Elasticsearch 在部署时,对 Linux 的设置有哪些优化方法? 1、64 GB 内存的机器是非常理想的, 但是 32 GB 和 16 GB 机器也是很常见的。少于 8 GB 会适得其反。 2、如果你要在更快的 CPUs 和更多的核心之间选择,选择更多的核心更好。多个内核提供的额外并 ...
分类:
其他好文 时间:
2020-07-16 21:21:28
阅读次数:
56
在上周三下午时,客户、业务和测试人员同时反溃生产环境登录进入不了系统,我亲自测试时,第一次登录进去了,待退出后再登录时,复现了客户的问题,场景像是请求连接被拒绝了,分析后判断是spring boot的连接数使用完了,于是重启了服务,客户访问都恢复正常。虽然问题暂时解决了,但实质原因还无法确定。根据分 ...
分类:
编程语言 时间:
2020-07-15 13:02:36
阅读次数:
92
配置文件 Redis最大的一个特点就是它的配置文件行数非常多,加上注释大概一千三四百行,里面有大量的配置可以供我们进行设置。其实关于Redis的配置我们之前也提到过,比如:开启多线程、设置线程数、数据结构内部存储元素的数量限制等等,那么下面我们就来介绍一下Redis配置文件中一些其它的常见配置项。 ...
分类:
其他好文 时间:
2020-07-14 00:17:55
阅读次数:
130
种类 Executors.newCachedThreadPool ?定义:无界线程池,可自动回收 ?缺点:涌入大量任务时会大量创建线程 Executors.newFixedThreadPool ?定义:线程池中的线程数固定大小,超出的线程会在队列中等待 ?缺点:任务数量过大效率不高 Executor ...
分类:
编程语言 时间:
2020-07-13 18:42:05
阅读次数:
76
1.Executors 提供四种线程池 1.1创建固定线程数目的线程池 创建使用固定线程数的FixedThreadPool,适用于为了满足资源管理的需求,而需要限制当前线程数量的应用场景,它适用于负载比较重的服务器。 public static ExecutorService newFixedThr ...
分类:
编程语言 时间:
2020-07-10 00:14:32
阅读次数:
77