国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Linux > 正文

linux用dd測試磁盤速度例子

2024-08-27 23:58:33
字體:
供稿:網(wǎng)友

首先要了解兩個特殊的設(shè)備:

/dev/null:回收站、無底洞

/dev/zero:產(chǎn)生字符

Ø 測試磁盤寫能力

time dd if=/dev/zero of=/test.dbf bs=8k count=300000

因為/dev//zero是一個偽設(shè)備,它只產(chǎn)生空字符流,對它不會產(chǎn)生IO,所以,IO都會集中在of文件中,of文件只用于寫,所以這個命令相當(dāng)于測試磁盤的寫能力.

Ø 測試磁盤讀能力

time dd if=/dev/sdb1 of=/dev/null bs=8k

因為/dev/sdb1是一個物理分區(qū),對它的讀取會產(chǎn)生IO,/dev/null是偽設(shè)備,相當(dāng)于黑洞,of到該設(shè)備不會產(chǎn)生IO,所以,這個命令的IO只發(fā)生在/dev/sdb1上,也相當(dāng)于測試磁盤的讀能力。

Ø 測試同時讀寫能力

time dd if=/dev/sdb1 of=/test1.dbf bs=8k

這個命令下,一個是物理分區(qū),一個是實際的文件,對它們的讀寫都會產(chǎn)生IO(對/dev/sdb1是讀,對/test1.dbf是寫),假設(shè)他們都在一個磁盤中,這個命令就相當(dāng)于測試磁盤的同時讀寫能力.

下面直接介紹幾種常見的DD命令,先看一下他的區(qū)別~

  1. dd bs=64k count=4k if=/dev/zero of=test 
  2. dd bs=64k count=4k if=/dev/zero of=test; sync 
  3. dd bs=64k count=4k if=/dev/zero of=test conv=fdatasync 
  4. dd bs=64k count=4k if=/dev/zero of=test oflag=dsync 

這四條DD命令區(qū)別在于內(nèi)存中寫緩存的處理方式.

1.dd bs=64k count=4k if=/dev/zero of=test

沒有加任何參數(shù),dd默認(rèn)的方式不包括“同步(sync)”命令。也就是說,dd命令完成前并沒有讓系統(tǒng)真正把文件寫到磁盤上。所以以上命令只是單純地把這128MB的數(shù)據(jù)讀到內(nèi)存緩沖當(dāng)中(寫緩存[write cache])。所以你得到的將是一個超級快的速度。因為其實dd給你的只是讀取速度,直到dd完成后系統(tǒng)才開始真正往磁盤上寫數(shù)據(jù),但這個速度你是看不到了。所以如果這個速度很快,沒有什么作用。

實際運行結(jié)果:

268435456 bytes (268 MB) copied, 1.3529 seconds, 198 MB/s

2.dd bs=64k count=4k if=/dev/zero of=test; sync

和前面1中的完全一樣。分號隔開的只是先后兩個獨立的命令。當(dāng)sync命令準(zhǔn)備開始往磁盤上真正寫入數(shù)據(jù)的時候,前面dd命令已經(jīng)把錯誤的“寫入速度”值顯示在屏幕上了。所以你還是得不到真正的寫入速度。

實際運行結(jié)果:268435456 bytes (268 MB) copied, 0.522815 seconds, 513 MB/s

3.dd bs=64k count=4k if=/dev/zero of=test conv=fdatasync

加入這個參數(shù)后,dd命令執(zhí)行到最后會真正執(zhí)行一次“同步(sync)”操作,所以這時候你得到的是讀取這128M數(shù)據(jù)到內(nèi)存并寫入到磁盤上所需的時間,這樣算出來的時間才是比較符合實際使用結(jié)果的。

實際運行結(jié)果:268435456 bytes (268 MB) copied, 2.8046 seconds, 95.7 MB/s

4.dd bs=64k count=4k if=/dev/zero of=test oflag=dsync

加入這個參數(shù)后,dd在執(zhí)行時每次都會進(jìn)行同步寫入操作。也就是說,這條命令每次讀取64k后就要先把這64k寫入磁盤,然后再讀取下面這64k,一共重復(fù)128次。這可能是最慢的一種方式了,因為基本上沒有用到寫緩存(write cache)。

實際運行結(jié)果:268435456 bytes (268 MB) copied, 3.40069 seconds,78.9 MB/s

一般來說,第四種方法是最嚴(yán)格的,可以模擬數(shù)據(jù)庫的插入操作,所以很慢,也是用來測試vps硬盤性能標(biāo)準(zhǔn)的一條標(biāo)桿,一般來說測試結(jié)果,如果超過10M,對正常建站就無影響。超過50M,就是非常給力狀態(tài),看了這個vps硬盤性能非常的好,DD速度達(dá)到了78.9MB/s。

在這幾條命令中,bs=64k表示同時讀入/輸出的塊大小為64k個字節(jié),count=4k表示拷貝塊的個數(shù)為4000個,如果測試再嚴(yán)格一點,我們運行1G數(shù)據(jù)量的DD:

dd if=/dev/zero of=test bs=64k count=16k oflag=dsync

表示每個塊大小為64k個字節(jié),測試16k個數(shù)量的塊,實際測試結(jié)果:

1073741824 bytes (1.1 GB) copied, 18.9098 seconds, 56.8 MB/s

寫到這里,我覺得利用DD命令測試硬盤應(yīng)該很清楚了,通常我們測試用第四條命令即可,當(dāng)然DD越快并不能代表服務(wù)器的性能好壞,普通硬盤的服務(wù)器執(zhí)行DD命令結(jié)果在30M左右就不錯了,另外,執(zhí)行DD命令測試硬盤IO性能,對硬盤的損害很大,不建議多次或長時間嘗試!

例子,首先要了解兩個特殊的設(shè)備:

/dev/null:回收站、無底洞

/dev/zero:產(chǎn)生字符

time有計時作用,dd用于復(fù)制,從if讀出,寫到of,if=/dev/zero不產(chǎn)生IO,因此可以用來測試純寫速度。同理of=/dev/null不產(chǎn)生IO,可以用來測試純讀速度,bs是每次讀或?qū)懙拇笮?即一個塊的大小,count是讀寫塊的數(shù)量.

測/data目錄所在磁盤的純寫速度:

  1. [root@nagios ~]# time dd if=/dev/zero of=/var/test bs=8k count=1000000 
  2. 1000000+0 records in 
  3. 1000000+0 records out 
  4. 8192000000 bytes (8.2 GB) copied, 52.5749 seconds, 156 MB/s 
  5. real 0m55.841s 
  6. user 0m0.507s 
  7. sys 0m15.706s 

##紅色部分是因為使用了time命令才顯示的,因此需要time命令來計算復(fù)制的時間.

測/data目錄所在磁盤的純讀速度:

  1. [root@nagios ~]# time dd if=/var/test of=/dev/null bs=8k 
  2. 1000000+0 records in 
  3. 1000000+0 records out 
  4. 8192000000 bytes (8.2 GB) copied, 49.0088 seconds, 167 MB/s 
  5. real 0m49.025s 
  6. user 0m0.559s 
  7. sys 0m6.383s 

測讀寫速度:

  1. [root@nagios ~]# time dd if=/dev/zeroof=/tmp/test bs=64k 
  2. 125000+0 records in 
  3. 125000+0 records out 
  4. 8192000000 bytes (8.2 GB) copied, 129.239 seconds, 63.4 MB/s 
  5. real 2m9.251s  //Vevb.com 
  6. user 0m0.114s 
  7. sys 0m21.494s 

看來這個測試結(jié)果還不錯,嘿嘿.

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 新竹市| 视频| 鄂托克前旗| 黎川县| 枣阳市| 广水市| 海宁市| 丹凤县| 丰都县| 准格尔旗| 庄河市| 陆河县| 南开区| 彭州市| 舟山市| 胶南市| 滨海县| 淮南市| 崇左市| 扶绥县| 平顶山市| 社旗县| 将乐县| 曲麻莱县| 玉屏| 大悟县| 天祝| 林州市| 万山特区| 绥棱县| 兴海县| 德庆县| 莫力| 巩留县| 宁安市| 芷江| 河曲县| 邵阳市| 竹北市| 多伦县| 广昌县|