ทดสอบ IOPS ด้วย KDiskMark

Published on August 18, 2025
ทดสอบ IOPS ด้วย KDiskMark

หากพูดถึง CrystalDiskMark ก็ต้องบอกว่าเป็นที่รู้จักกันในโลกของ Windows กันมา พอสมควรแล้ว เพราะถูกใช้กันอย่างกว้างขวางในการทดสอบ IOPS บน Disk/SSD แต่วันนี้เราจะพาไปรู้จักกับ โปรแกรมอีกตัวหนึ่งบนโลกของ opensource ซึ่งคือ KDiskMark ซึ่งทำงานเหมือนกับ CrystalDiskMark ไม่แตกต่างกัน แต่แค่คนละ แพลตฟอร์มเท่านั้นเอง

IOPS คืออะไร
IOPS (Input/Output Operations Per Second) หรือแปลตามตัวเลยก็หมายถึง จำนวนการทำงานอ่าน/เขียนข้อมูลต่อวินาที ของอุปกรณ์จัดเก็บข้อมูล ทั้ง HDD, SSD, SAN และ NVMe

Input/Output operation = การอ่านหรือเขียนข้อมูลขนาดหนึ่งครั้ง
Per Second = นับจำนวนครั้งที่อุปกรณ์สามารถทำงานเหล่านี้ได้ใน 1 วินาที

หรือสรุปเลยก็คือ
IOPS = “ความเร็วในการทำงานของดิสก์ ว่าสามารถอ่าน/เขียนข้อมูลกี่ครั้งต่อวินาที”

แล้วทำไม IOPS จึงสำคัญ

เพราะมันใช้วัด ประสิทธิภาพของ Storage เพื่ออย่างน้อยเราจะได้รู้ว่า เราได้ใช้งานตามสเปคที่กำหนด โดยยิ่ง IOPS สูง ก็หมายถึง การตอบสนองของระบบเร็วขึ้น และทำให้โปรแกรมหรือฐานข้อมูลโหลดข้อมูลเร็วขึ้นนั่นเอง เพราะการตอบสนองที่เร็วนั้นสำคัญมากกับ ระบบฐานข้อมูล, Virtual Machine, Web server & App Server ในปัจจุบัน

ประเภทของ I/O

1. Sequential I/O หรือ อ่าน/เขียนข้อมูลต่อเนื่องเป็นลำดับ ซึ่งอยู่ใน HDD จะทำได้ดีเพราะหัวอ่านไม่ต้องเคลื่อนมาก
2. Random I/O หรือ อ่าน/เขียนแบบกระจาย (ไม่ต่อเนื่อง) จะทำงานได้ดีใน SSD เพราะเป็นอิเล็กทรอนิกส์ HDD

เรามาดูตัวเลขคร่าวๆ กัน
SSD สามารถทำ 100,000 IOPS (4K random read)
HDD 7200rpm ทำได้ประมาณ 100–200 IOPS (4K random read)
เราจะเห็นได้ว่า HDD นั้นทำงานได้ต่ำมาก หากเทียบกับ SSD

หมายเหตุ: IOPS สูงสุดไม่จำเป็นต้องเท่ากับความเร็ว (MB/s)
ยกตัวอย่างเช่น IOPS 100,000 กับ ขนาดข้อมูล 4KB 100,000 × 4 KB ≈ 400 MB/s
เมื่อขนาดบล็อกใหญ่ขึ้น MB/s สูง จะทำให้ IOPS ลด

1. Sequential Read / Sequential Write (Seq Read / Seq Write)
ความหมาย: ความเร็วในการอ่านหรือเขียนไฟล์ขนาดใหญ่แบบ ต่อเนื่อง
หน่วย: MB/s
ซึ่งจะมีผลกับ การคัดลอกไฟล์ขนาดใหญ่ การอ่าน/เขียนวิดีโอ, ISO, หรือ backup file
ตัวอย่าง: Seq Read = 500 MB/s ดิสก์อ่านไฟล์ใหญ่ต่อเนื่องได้ 500 MB ต่อวินาที
2. Random Read / Random Write (Rand Read / Rand Write)
ความหมาย: ความเร็วในการอ่านหรือเขียน แบบกระจาย (ไม่ต่อเนื่อง)
หน่วย: MB/s หรือ IOPS (ขึ้นอยู่กับการตั้งค่า)
มีผลกับ Database, VM, OS, แอปพลิเคชันที่อ่าน/เขียนไฟล์เล็ก ๆ หลาย ๆ ไฟล์
ตัวอย่าง: Rand Write = 50 MB/s ดิสก์สามารถเขียนไฟล์เล็ก ๆ กระจายได้เร็วประมาณ 50 MB ต่อวินาที

3 Queue Depth / Threads
KDiskMark ทดสอบหลาย Queue Depths (QD) และ Threads
Queue Depth = จำนวนคำสั่ง I/O รอประมวลผลพร้อมกัน
Threads = จำนวนการทดสอบ I/O พร้อมกัน
ยิ่ง QD หรือ Threads สูงใน SSD, NVMe จะแสดงประสิทธิภาพได้เต็มมากขึ้น
HDD ไม่ค่อยดีเมื่อ QD สูง เพราะหัวอ่านต้องเคลื่อนมาก เพราะมันก็กลไกหรือ mechanic

4 Block Size (ขนาดบล็อก)
KDiskMark สามารถเลือก 4KB, 512KB, 1MB ฯลฯ
4KB เพื่อจำลอง workload แบบฐานข้อมูล/VM (ไฟล์เล็ก)
1MB+ หรือมากกว่า เพื่อ จำลอง workload แบบคัดลอกไฟล์ใหญ่

ให้เราคิดว่าเมื่อขนาดบล็อกเล็ก IOPS สำคัญกว่า MB/s
แต่เมื่อ ขนาดบล็อกใหญ่ จะทำให้ MB/s สำคัญกว่า IOPS

5 ความแตกต่างระหว่าง MB/s และ IOPS
MB/s ปริมาณข้อมูลต่อวินาที (เหมาะกับ sequential)
IOPS จำนวนคำสั่งต่อวินาที (เหมาะกับ random)

 

ตารางสรุป

ตัววัด ดีต่อ หมายความว่า
Seq Read / Write ไฟล์ใหญ่ต่อเนื่อง ความเร็วสูง จะทำให้ copy ไฟล์ใหญ่เร็ว
Rand Read / Write ไฟล์เล็ก/ฐานข้อมูล ความเร็วสูง จะดีสำหรับ database/VM ตอบสนองเร็ว
Block Size เล็กหรือใหญ่ เล็ก IOPS สำคัญ, ใหญ่ MB/s สำคัญ
Queue Depth / Threads จำนวนงานพร้อมกัน สูงใน SSD/NVMe แสดงประสิทธิภาพเต็ม

 

 

 

Introduction to Cilium CNI

Cilium CNI คือระบบเครือข่ายสำหรับ Kubernetes ที่ล้ำสมัยมาก โดยใช้เทคโนโลยีระดับเคอร์เนลของ Linux ที่เรียกว่า eBPF แทนการใช้...

Read more »

KubeVirt vs VMware

บทนำ KubeVirt และ VMware ต่างก็ใช้รัน Virtual Machine เหมือนกัน แต่ วิธีการทำงาน...

Read more »

แนะนำให้รู้จักกับ Scale Computing

รู้จักกับ Scale Computing และแพลตฟอร์ม Scale Computing HC3 สำหรับผู้ที่กำลังจะย้ายจาก VMware ไปสู่ระบบ...

Read more »

Thin-LVM vs LVM เปรียบเทียบสถาปัตยกรรมและประสิทธิภาพการเขียนข้อมูล

สำหรับผู้ที่ใช้งาน Proxmox VE และ มีการใช้งาน Local Storage ซึ่งเป็น LVM และ...

Read more »

การอ่านค่าและตีความค่าด้านประสิทธิภาพใน Proxmox VE 9

ทำความเข้าใจเกี่ยวกับการวัดค่าต่างๆ ใน Proxmox VE 9 Proxmox VE 9 เป็นแพลตฟอร์ม virtualization...

Read more »

ทำความเข้าใจเกี่ยวกับ NIC Bonding ใน Linux และ Proxmox VE

สำหรับการเพิ่มความเร็วและ Redundancy ใน Proxmox VE โดยเฉพาะกับระบบเครือข่ายนั้น แน่นอนว่าจะเกี่ยวกับเรื่องของ Network โดยตรง วันนี้เราเลยพาไปพบกับบทความเกี่ยวกับเรื่องการทำ...

Read more »