成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

為什么說IO密集型業(yè)務(wù),線程數(shù)是CPU數(shù)的2倍?

開發(fā)
I/O請(qǐng)求的速度,要遠(yuǎn)低于CPU運(yùn)行的速度。大部分I/O請(qǐng)求,在發(fā)起之后,就進(jìn)入等待狀態(tài),這個(gè)等待狀態(tài)不會(huì)浪費(fèi)CPU,所以一臺(tái)機(jī)器在同一時(shí)刻支持的I/O請(qǐng)求,可以很多。

I/O密集型業(yè)務(wù),線程數(shù)量要設(shè)置成 CPU 的 2 倍!

也不知道這是哪本書的坑爹理論,現(xiàn)在總有一些小青年老拿著這樣的定理來說教。說的信誓旦旦,毋庸置疑,仿佛是權(quán)威的化身。討論時(shí)把這樣的理論當(dāng)作前提,真的是受害不淺。

但可惜的是,這樣的理論站不住腳。我只需要一個(gè)簡(jiǎn)單的反問,它就不攻自破:

Tomcat的默認(rèn)線程數(shù)是多少呢?

它既不是 CPU 的 2 倍,也不是什么其他數(shù)值。在某些高并發(fā)的服務(wù)中,它的核心線程數(shù),可能達(dá)到數(shù)千甚至上萬。對(duì)于一個(gè)Tomcat來說,它處理的大多數(shù)都是I/O密集型的業(yè)務(wù),可以說是最好的實(shí)踐場(chǎng)景。

要明白這個(gè)線程數(shù)設(shè)置的玄機(jī),就必須了解I/O請(qǐng)求的特點(diǎn)。I/O請(qǐng)求不僅僅指的是磁盤讀寫,在互聯(lián)網(wǎng)服務(wù)中更多指的是網(wǎng)絡(luò)I/O請(qǐng)求。

I/O請(qǐng)求的速度,要遠(yuǎn)低于CPU運(yùn)行的速度。大部分I/O請(qǐng)求,在發(fā)起之后,就進(jìn)入等待狀態(tài),這個(gè)等待狀態(tài)不會(huì)浪費(fèi)CPU,所以一臺(tái)機(jī)器在同一時(shí)刻支持的I/O請(qǐng)求,可以很多。

如果I/O請(qǐng)求的速度比較快,和CPU的耗時(shí)對(duì)等的時(shí)候,我們把處理I/O的線程數(shù),設(shè)置成 CPU 的 2倍,是合理的。但現(xiàn)實(shí)中并沒有這么多如果,我們要處理秒成千上萬的I/O請(qǐng)求,注定了它的耗時(shí)要比CPU多的多。

像RPC組件,比如Dubbo服務(wù)端,也會(huì)設(shè)置一個(gè)比較大的線程數(shù)(比如600);Feign這種就更不用多說了,短連接意味著更多線程數(shù)的支持。這都是些最佳實(shí)踐。

雖然I/O線程數(shù)量增多,會(huì)造成非常頻繁的上下文切換,進(jìn)而影響效率。但在互聯(lián)網(wǎng)應(yīng)用中,它卻是一個(gè)優(yōu)秀的解決方案。

更優(yōu)秀的解決方式也有,那就是使用協(xié)程。協(xié)程是用戶態(tài)的線程,是對(duì)普通線程更細(xì)粒度的劃分。它是在用戶態(tài)運(yùn)行的,由用戶自行調(diào)度,所以也就避免了頻繁的上下文切換問題。

但協(xié)程在Java中還不成熟,它依然是Golang語言的誘人特性。使用Golang開發(fā)的Web服務(wù),可以采用更少的線程來支持大量I/O密集型的請(qǐng)求。

綜上所述,標(biāo)題的表述并不正確,而且錯(cuò)的離譜。

作者簡(jiǎn)介:小姐姐味道  (xjjdog),一個(gè)不允許程序員走彎路的公眾號(hào)。聚焦基礎(chǔ)架構(gòu)和Linux。十年架構(gòu),日百億流量,與你探討高并發(fā)世界,給你不一樣的味道。

責(zé)任編輯:武曉燕 來源: 小姐姐味道
相關(guān)推薦

2025-02-24 09:00:00

CPUI/O密集型任務(wù)

2020-09-07 07:33:01

NodejsCPU密集型

2023-08-09 09:03:49

CPU密集型運(yùn)算

2018-03-22 09:16:06

密集型場(chǎng)景SSD

2021-07-20 08:12:55

CPU核數(shù)線程數(shù)

2011-11-11 09:11:09

云計(jì)算HPC集群

2020-09-09 16:20:16

區(qū)塊鏈比特幣數(shù)字貨幣

2019-06-04 15:18:30

Web ServerNginx中間件

2012-10-08 09:45:22

數(shù)據(jù)密集型處理系統(tǒng)

2022-06-27 14:01:31

LZ4 分析數(shù)據(jù)密集型壓縮算法

2024-02-26 08:28:24

Java線程CPU

2012-12-14 11:00:02

VDI桌面虛擬化

2011-11-14 13:29:22

移動(dòng)應(yīng)用開發(fā)移動(dòng)開發(fā)移動(dòng)互聯(lián)網(wǎng)

2012-12-17 11:20:51

VDI桌面虛擬化

2023-09-18 08:01:06

Spring管理Mybatis

2021-02-23 08:02:23

線程volatileinterrupt

2021-04-22 07:47:46

Linux進(jìn)程管理

2010-04-14 15:30:41

Oracle數(shù)據(jù)庫(kù)

2022-03-14 08:33:09

TypeScriptJavaScript前端

2020-07-03 14:05:26

Serverless云服務(wù)商
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 国产精品178页 | 国产伦精品一区二区三区高清 | 成人免费观看视频 | 亚洲成人免费视频在线 | 亚洲福利一区二区 | 99精品视频在线 | 欧美视频第三页 | 国产精品久久久久久婷婷天堂 | 免费一区在线 | 欧美日韩亚洲国产综合 | 国产xxx在线观看 | 福利久久 | 久久新| 国产福利小视频 | 岛国二区 | 国产精选一区 | 欧美日韩亚洲国产综合 | 亚洲电影一区二区三区 | 美女天堂在线 | 99精品电影| 91亚洲国产成人久久精品网站 | 国产日韩欧美中文字幕 | 99色视频| 一区二区在线免费观看 | 亚洲永久免费 | 麻豆精品国产91久久久久久 | 国产成人综合网 | 国产精品一区二 | 免费看欧美一级片 | 久久久久久国产精品三区 | 国产精品片aa在线观看 | 久久国产婷婷国产香蕉 | 隔壁老王国产在线精品 | 日韩久久成人 | 特级黄一级播放 | 国产精品久久久久久久久久久久 | 老头搡老女人毛片视频在线看 | 狠狠伊人 | 男女精品久久 | 国产精品不卡一区二区三区 | 国产精品69毛片高清亚洲 |