思考:网络性能优化:网络 -- cpu -- 线程数 -- 单个任务耗时 qps 并发如果理清楚上述概念和它们之间的关系,那么优化会毫无章法;线程越多,利用上的线程越多,cpu的idle会约低,只到cpu低得不能再低,一般情况下,可以可劲用(idle为10%你遇到过吗?);单个任务处理越快,qps和 ...
分类:
编程语言 时间:
2019-06-19 20:17:26
阅读次数:
170
发一个可伸缩线程池大小的线程池。 当任务不多时候,不开那么多线程,当任务多的时候开更多线程。当长时间没任务时候,将线程数量减小到一定数量。 ...
分类:
编程语言 时间:
2019-06-15 00:22:49
阅读次数:
214
在一篇文章《离线安装mysql数据库》,讲解了离线安装mysql数据库的过程,本文将讲解mysql数据库的主从配置方法。mysql数据库进行主从配置后,可以实现数据库的备份、同时应用也可以实现读写分离,提高应用的并发量。 在一篇文章《离线安装mysql数据库》,讲解了离线安装mysql数据库的过程, ...
分类:
数据库 时间:
2019-06-13 18:50:57
阅读次数:
133
性能压测的情况下,起初随着用户数的增加,QPS会上升,当到了一定的阀值之后,用户数量增加QPS并不会增加,或者增加不明显,同时请求的响应时间却大幅增加。这个阀值我们认为是最佳线程数。 为什么要找最佳线程数: 1.过多的线程只会造成,更多的内存开销,更多的CPU开销,但是对提升QPS确毫 ...
分类:
编程语言 时间:
2019-06-13 13:24:00
阅读次数:
126
今天做了一个需求要求登录系统后记录所有人的所有操作,由于该类型操作任务量小但是却很多,所以想到了用线程池,实现异步操作,避免同步操作影响性能。选择了spring的线程池基于xml配置文件进行配置。线程数和队列项目实际情况进行配置 Java提供了4钟线程池: newCachedThreadPool n ...
分类:
编程语言 时间:
2019-06-12 23:19:16
阅读次数:
239
这里的代码是为了引入一个问题:线程安全 运行结果如下: 本机器参考线程数:4total times10000000线程调用的counter2:9964868 为什么会少呢?是因为线程操作相同的变量++的时候i,++的过程中,无法操作,也就会漏掉本次操作,造成所谓“线程安全问题” ...
分类:
编程语言 时间:
2019-06-07 22:54:49
阅读次数:
106
CPU的核心数N和每个核心M的线程数的查询方法:https://jingyan.baidu.com/article/2a138328efdb44074a134fc5.html 如果应用程序中出现了死循环(infinite loop),则该死循环所在线程的CPU占用率为1/N*M。如N=4,M=2,则 ...
分类:
其他好文 时间:
2019-06-05 15:17:39
阅读次数:
98
线程到达栅栏时调用await方法被阻塞,只有线程数据达到栅栏设置的阈值时,栅栏放行,所有线程继续执行......
分类:
编程语言 时间:
2019-06-04 14:41:43
阅读次数:
118
增加并发: 默认scrapy开启的线程数为32个,可以适当进行增加,在seeting配置文件中修改councurrent_requests设置为100 降低日志等级: 在运行scrapy运行时,会有大量日志输出,为了减少cpu的使用率,可将日志等级设置为log输出设置为error或者info级别 禁 ...
分类:
其他好文 时间:
2019-06-04 12:34:27
阅读次数:
132
线程池是一种重复利用既有线程的池化技术 ,它大量减少了线程的创建初始化过程,也可以防止海量线程创建占尽资源的风险。 任务提交过程 学习使用线程池的使用,我们都大概知道这样一个过程,如图: 这个是一个Runnable实例提交到线程池的过程,大体分为4个步骤: 1)判断当前线程数量是否小于核心线程数量, ...
分类:
其他好文 时间:
2019-05-31 23:14:12
阅读次数:
129