溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么用VB.NET測試硬盤速度

發(fā)布時(shí)間:2021-07-02 17:09:15 來源:億速云 閱讀:123 作者:chen 欄目:大數(shù)據(jù)

這篇文章主要講解了“怎么用VB.NET測試硬盤速度”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“怎么用VB.NET測試硬盤速度”吧!

前日在用SiSoftware Sandra 2004測試硬盤性能時(shí)突發(fā)其想,用自己熟悉的VB.NET測試行不行呢?具體怎么做呢?

我們最感興趣的是硬盤在最大負(fù)荷下持續(xù)的讀取和寫入速度。為了能夠比較準(zhǔn)確的測出平均速度,我決定采用先寫入一個(gè)1GB的文件再讀取出來的辦法??紤]到不要讓更多的任務(wù)花在循環(huán)上,我首先建立起一個(gè)足夠大的緩沖區(qū),然后往磁盤寫入這個(gè)緩沖的內(nèi)容,從而使硬盤達(dá)到最大的負(fù)荷??紤]到Windows的讀取機(jī)制,硬盤測試不太準(zhǔn)確,此程序的讀取部分只能在第一次運(yùn)行時(shí)使用,運(yùn)行次數(shù)越多測試也不準(zhǔn)確,而寫入測試多次運(yùn)行以后依然能夠保持準(zhǔn)確性?,F(xiàn)在就開始動(dòng)手。

在VB.NET中創(chuàng)建了一個(gè)控制臺(tái)工程TestHarddisk,然后在Sub Main中寫入下列程序。

Sub Main()
Dim I As Int32
Dim f As New FileStream("E:BigFile.big", FileMode.Create)
Dim fw As New BinaryWriter(f)
Dim fr As New BinaryReader(f)
Dim Size As Int32 = 1024 * 1024 * 1024 - 1? 'File size = 1GB
Dim bufSize As Int32 = 30 * 1024 * 1024? 'Buffer Size = 30MB
Dim jLast As Int32 = bufSize - 1
Dim j As Int32
Dim Bytes(bufSize) As Byte
Dim StartWrite As Date = Date.Now
Console.WriteLine("Write Start at {0}", StartWrite)
Console.WriteLine("Creating...")
For I = 0 To Size Step bufSize '1GB
fw.Write(Bytes)
Next
Dim EndWrite As Date = Date.Now
Dim TimePassed As TimeSpan = EndWrite.Subtract(StartWrite)
Console.WriteLine("Write End at {0}", EndWrite)
Console.WriteLine("Time passed:{0}", TimePassed)
Console.WriteLine("Speed:{0}", 1000 / TimePassed.TotalSeconds)
fw.Flush()
Dim StartRead As Date = Date.Now
Console.WriteLine("Read Start at {0}", StartRead)
Console.WriteLine("Reading")
For I = 0 To Size Step bufSize
Bytes = fr.ReadBytes(bufSize)
Next
Dim EndRead As Date = Date.Now
TimePassed = EndRead.Subtract(StartRead)
Console.WriteLine("Read End at {0}", EndRead)
Console.WriteLine("Time passed:{0}", TimePassed)
Console.WriteLine("Read speed:{0}", 1000 / TimePassed.TotalSeconds)
Console.ReadLine()
fw.Close()
End Sub

現(xiàn)在測試。

硬件配置:

Athlon 2500+(running at 1.8G)

EPOX 8RDA3+ nForce2主板

512DDR 400(running at 400MHz)

ATA100 Seagate 7200.7 80GB 2MB

軟件配置:

Windows 2003 Server Standard Edition

全套最新的WHQL驅(qū)動(dòng)程序

Visual Studio 2003,編譯選擇Realse模式,打開所有優(yōu)化選項(xiàng)。

第一次運(yùn)行測試得寫入速度43MB/s,第二次測得42MB/s,第三次41MB/s與Sisoftware測試得的結(jié)果43MB/s相差不大,達(dá)到了理想的效果。然而讀取測試就變態(tài)了,第一次64MB/s,與Sissoftware測試多了5MB/s左右,第二次達(dá)到了1096MB/s,第三次 1123MB/s,這和Windows的磁盤緩沖機(jī)制有關(guān),看來作用還是蠻大的,當(dāng)然,建議讀取測試在重起電腦以后進(jìn)行。

感謝各位的閱讀,以上就是“怎么用VB.NET測試硬盤速度”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)怎么用VB.NET測試硬盤速度這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI