script สำหรับทดสอบความเร็วดิสก์

Started by New User, July 20, 2026, 02:30:38 PM

Previous topic - Next topic

New User

หากเป็น Windows สามารถใช้ PowerShell script ได้เลยครับตามนี้
$sw = [System.Diagnostics.Stopwatch]::StartNew()

$fs = [System.IO.File]::Create("C:\test1.img")
$buffer = New-Object byte[] (1MB)

1..1024 | ForEach-Object {
    $fs.Write($buffer, 0, $buffer.Length)
}

$fs.Flush($true)
$fs.Close()

$sw.Stop()
$speed = 1024 / $sw.Elapsed.TotalSeconds

"Elapsed: $($sw.Elapsed.TotalSeconds) sec"
"Write Speed: $([math]::Round($speed,2)) MB/s"

หลังจากนั้น save ในชื่ออะไรก็ได้เช่น testdiskspeed.ps1

ส่วนบน Linux ใช้คำสั่งนี้ได้เลย
dd if=/dev/zero of=/tmp/test1.img bs=1G count=1 oflag=dsync

ระบบจะทดสอบการเขียนไฟล์ /tmp/test1.img มีขนาด 1G และแสดงความเร็ว
แต่ถ้าอยากทดสอบการอ่านให้ใช้คำสั่ง

dd if=/tmp/test1.img of=/dev/null bs=1G iflag=direct


หากต้องการเพิ่มขนาดไฟล์ก็ปรับตรง count ซึ่งมีคุณสมบัติเป็นตัวคูณนั่นเอง