也可 CPU核数2 ,要看JDK版本,及CPU配置(服务器CPU有超线程)。18来增加并行计算,想线程数 = CPU内核线程数2
网络、 磁盘 IO (与 DB、缓存 ),一旦IO,线程就等待,结束才执行。 多设线程数 ,等待时去做其它事,提高效率。
线程上下文切换有代价。IO密集型公式: 线程数 = CPU核心数/(1-阻塞系数) 阻塞系数一般08~09, 双核CPU理想线程数20 , 动态线程池看压测情况 。
思路:CPU、IO密集型的情况。压测得合理参数配置。线程池动态调整。
CPU 密集 :减少上下文切换,核心线程数5,队列长100,最大线程数和核心线程数一致。
IO 密集: 分配一点核心线程数,更好利用 CPU,核心线程数 8,队列长100,最大线程池10
上面都是理论上的值。从核心线程数5 开始压测,对比结果,确定合适设置。极限:核心线程数和最大线程数都是 4,队列96,刚好100 请求
>您好,很高兴为您解答。
在现有文件系统下进行优化:
linux内核和各个文件系统采用了几个优化方案来提升磁盘访问速度。但这些优化方案需要在我们的服务器设计中进行配合才能得到充分发挥。
文件系统缓存
linux内核会将大部分空闲内存交给虚拟文件系统,来作为文件缓存,叫做page cache。在内存不足时,这部分内存会采用lru算法进行淘汰。通过free命令查看内存,显示为cached的部分就是文件缓存了。
如何针对性优化:
lru并不是一个优秀淘汰算法,lru最大的优势是普适性好,在各种使用场景下都能起到一定的效果。如果能找到当前使用场景下,文件被访问的统计特征,针 对性的写一个淘汰算法,可以大幅提升文件缓存的命中率。对于>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)