ทดสอบ 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 แสดงประสิทธิภาพเต็ม

 

 

 

ทำความรู้จักกับ Open vSwitch

วันนี้เราจะพาท่านไปทำความรู้จักกับ Open vSwitch หนึ่งในโปรเจ็กต์ซอฟต์แวร์ ที่เป็นองค์ประกอบหรือว่า จิ๊กซอว์สำคัญในการทำ Software Defined Networking (SDN)...

Read more »

Ruijie Virtual Switching Unit VSU

Virtual Switching Unit หรือ VSU เป็นเทคโนโลยีที่ทำให้เราสามารถรวม switch ตั้งแต่ 2 ตัวขึ้นไป...

Read more »

Big Improvements in FreeBSD 15.0

FreeBSD มีต้นกำเนิดมาจาก ระบบปฏิบัติการ UNIX ของมหาวิทยาลัย UC Berkeley โดยเ BSD ก็ย่อมาจาก...

Read more »

ทำความรู้จัก pgModeler และการติดตั้งบน Ubuntu 25.04

เนื่องจากการได้รับนิยมอย่างสูงของ PostgreSQL ทำให้ นักพัฒนาหลายคน ก็จะมองหาเครื่องมือที่จะมาช่วยให้การทำงานกับฐานข้อมูลนั้นง่าย เร็ว และ สะดวกขึ้น วันนี้เราพาไปดูเครื่องมือตัวหนึ่งที่ได้รับความนิยมใช้อย่างกว้างขวาง และ...

Read more »

ทำความรู้จักกับ Open Container Initiative OCI

ใน Proxmox VE 9.1 ที่เพิ่งเปิดตัวมาได้ไม่นานนี้ มีฟีเจอร์หนึ่งที่สร้างความฮือฮามากคือ การสนับสนุน OCI และ ทำให้หลายคนเริ่มต้องการเข้าใจว่ามันคืออะไร...

Read more »

IncusOS และ Incus สู่ยุคใหม่ของการจัดการ VM และ Container

IncusOS คืออะไร IncusOS เป็นดิสโทร Linux แบบ immutable หรือ Linux ที่ระบบไฟล์เปลี่ยนไม่ได้...

Read more »