這篇文章主要介紹“服務(wù)器硬盤的概念是什么”,在日常操作中,相信很多人在服務(wù)器硬盤的概念是什么問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”服務(wù)器硬盤的概念是什么”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!
成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),蓬安企業(yè)網(wǎng)站建設(shè),蓬安品牌網(wǎng)站建設(shè),網(wǎng)站定制,蓬安網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,蓬安網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
順序 和 隨機(jī)
磁盤的順序訪問(wèn)和隨機(jī)訪問(wèn)是怎么定義的呢?如果一次IO操作起始的邏輯塊地址logical block address (LBA)緊挨著上一次IO操作的終止 LBA,就是順序訪問(wèn),否則就是隨機(jī)訪問(wèn)。下邊這個(gè)圖比較形象(https://en.wikipedia.org/wiki/IOPS)。
邏輯地址是程序中認(rèn)識(shí)的塊地址,編號(hào)順序遞增。除了 LBA 還有 PBA(物理塊地址),一般邏輯和物理地址會(huì)有一個(gè)對(duì)應(yīng)關(guān)系。物理地址就是數(shù)據(jù)在磁盤上的實(shí)際地址了。
Throughput
吞吐率,是指順序從磁盤讀取數(shù)據(jù)時(shí)候,能達(dá)到的最大傳輸速度,通常單位是 MB/s。衡量大數(shù)據(jù)量的傳輸效率基本都用吞吐率。這個(gè)應(yīng)該是單線程統(tǒng)計(jì)的。
latency
是一次操作的耗時(shí),一般指發(fā)送請(qǐng)求到返回結(jié)果的時(shí)間,從磁盤角度看,不僅包括定位數(shù)據(jù),還包括數(shù)據(jù)傳輸?shù)臅r(shí)間。latency這個(gè)詞本身并沒(méi)有規(guī)定要訪問(wèn)多大的數(shù)據(jù)量。
IOPS
IOPS是每秒執(zhí)行的操作數(shù)量,一般測(cè)的是隨機(jī)訪問(wèn),各種硬盤廠商聲稱硬盤的IOPS相當(dāng)高,但是實(shí)際用的時(shí)候不是那么回事。因?yàn)檫@個(gè)東西依賴latency和工作負(fù)載,比如一次操作訪問(wèn)數(shù)據(jù)量的大小,等待隊(duì)列中的讀寫請(qǐng)求數(shù)等。1998年 Intel 公布了一個(gè)開源的測(cè)IOPS的工具,叫 Iometer,說(shuō)你們都別自己玩了,咱們統(tǒng)一都用這個(gè)比,就是定了個(gè) benchmark,現(xiàn)在一般都用這個(gè)測(cè)。
HDD
HDD 就是 Hard Disk Drive,硬盤驅(qū)動(dòng)器,也就是普通的機(jī)械硬盤,通過(guò)磁頭讀寫數(shù)據(jù)。HDD 的隨機(jī)訪問(wèn)和順序訪問(wèn)是有區(qū)別的,之前寫過(guò)一篇相關(guān)話題的文章,索引 vs 全表掃描,今天再?gòu)?fù)習(xí)一下。
把磁盤看成一個(gè)光盤,上邊有一個(gè)磁頭用來(lái)寫東西,就像鋼筆頭一樣,要在一個(gè)位置寫東西,需要先將磁頭移動(dòng)到那個(gè)位置,這個(gè)操作叫seek(旋轉(zhuǎn)+尋道),接下來(lái)就是將數(shù)據(jù)順序?qū)懴氯ィ╳rite)。寫完數(shù)據(jù)之后磁頭自動(dòng)向后移動(dòng),如果繼續(xù)挨著寫就不需要 seek 了。
舉個(gè)例子,以一個(gè)漢字為單位,那么順序?qū)懸痪湓?“小孩兒你好呀”,只需要將磁頭 seek 一次到“小”要寫的位置,然后 write “小”,接下來(lái)直接把“孩兒你好呀” 一個(gè)個(gè) write 到后邊就可以了,這些字在磁盤上都存在了一起。隨機(jī)寫就是把這幾個(gè)字分開存,互相不挨著。那么共需要 6 次 seek,6次 write。順序?qū)懣偸潜入S機(jī)寫要好的,因?yàn)殡S機(jī)寫多了 5 次 seek 的時(shí)間。
一個(gè) HDD 的 seek 耗時(shí)是 10ms,吞吐率是 100MB/s,也就是每秒能 write 100MB 的數(shù)據(jù)。那么以 1KB 為單位,純 write 這 1KB 的數(shù)據(jù)只需要 10us ,是seek 的 1/1000。 可以看到 seek 是很不友好的。
那你說(shuō)好,我都順序?qū)懖痪秃昧耍挥?seek 不行嗎。這就需要看具體場(chǎng)景了。舉個(gè)例子,在微信聊天,找到好友的對(duì)話框叫 seek,輸入文字發(fā)送是 write,當(dāng)你同時(shí)跟一個(gè)妹子聊天,并且跟一個(gè)基友對(duì)罵時(shí)候,你能不 seek 嗎。
由于HDD 可以覆蓋寫,所以 LBA 和 PBA 是一一對(duì)應(yīng)的,連續(xù)的邏輯地址也對(duì)應(yīng)了連續(xù)的物理地址,所以有隨機(jī)訪問(wèn)和順序訪問(wèn)的區(qū)別。
SSD
SSD 是固態(tài)硬盤,solide-state drive,超快的那種。下圖是 Intel 給出的一款 SSD 的性能指標(biāo)
順序訪問(wèn)和隨機(jī)訪問(wèn)本來(lái)就沒(méi)啥可比性,取決于每次隨機(jī)訪問(wèn)的數(shù)據(jù)量大小。所以他這也沒(méi)用同一個(gè)單位。
為啥寫的慢呢,得看 SSD 的結(jié)構(gòu)了,SSD 是個(gè)三層次,最高層是 NAND Flash,每個(gè) NAND Flash 里有多個(gè) Block ,Block 里又包括很多 Page,SSD 的特點(diǎn)就是讀和寫都要以 Page 為單位,最少一個(gè) Page。通常一個(gè) Page 是 4k 或 8k。不能覆蓋寫 page,要覆蓋必須清空那個(gè) page 所在的 Block。亦或者要先將這個(gè) page 所在塊的數(shù)據(jù)移動(dòng)到另一個(gè)被擦除的 block里。所以寫比較麻煩。
因?yàn)檫@些結(jié)構(gòu)的設(shè)計(jì),SSD 上連續(xù)的一段 LBA 不一定對(duì)應(yīng)連續(xù)的 PBA ,SSD 用一個(gè)閃存轉(zhuǎn)換層 Flash Translation Layer(FTL)將這個(gè)映射管理起來(lái)了。所以,SSD 的順序?qū)懞碗S機(jī)寫沒(méi)有區(qū)別??梢援?dāng)成 SSD 都是隨機(jī)訪問(wèn)數(shù)據(jù)的。
到此,關(guān)于“服務(wù)器硬盤的概念是什么”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!