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

 

 

 

Understanding UUID

UUID นั้นต้องเรียกได้ว่ามีข้อถกเถียงกันมานานมา ในการใช้ในการเขียนโปรแกรมและการออกแบบดาต้าเบส วันนี้เราจะไปศึกษาว่ามันคืออะไร และ ในการออกแบบฐานข้อมูลมันเข้ามามีบทบาทอย่างไร UUID คืออะไร UUID ย่อมาจาก...

Read more »

วันสิ้นสุด License Perpetual ของ VMware มาถึงแล้ว รีบย้ายไป Proxmox VE กันเถอะ

ตอนที่ VMware ประกาศว่าจะออก ESXi 9 มานั้น ทุกคนในวงการก็คิดว่า มันน่าจะมาพร้อมการอัพเดทบางส่วนเหมือนทุกๆ ครั้งที่ผ่านมาเช่น การเพิ่มการสนับสนุนฮาร์ดแวร์...

Read more »

Garage ทางเลือกในการแทนที่ MinIO

MinIO นั้นเป็นซอฟต์แวร์ที่จะทำให้เราสามารถเก็บข้อมูลในลักษณะที่เป็น Object ได้ และ เรียกว่าเป็นตัวเลือกที่มีอยู่ไม่มากนักในท้องตลาดหากท่านต้องการจะสร้าง Object Storage Server เพื่อใช้ภายในองค์กร...

Read more »

Time Range Booking System

Time Range Booking คืออะไร และทำไมธุรกิจยุคใหม่จำเป็นต้องใช้ ในยุคที่ลูกค้าคาดหวัง ความรวดเร็วและความแม่นยำ มากขึ้น ระบบจองแบบเดิมที่เลือกแค่วันที่หรือรอบเวลา (slot...

Read more »

เพิ่มขีดความสามารถของ WordPress ด้วยการเชื่อมต่อ External API

WordPress คืออะไร WordPress คือระบบ CMS (Content Management System) แบบโอเพนซอร์ส ที่ใช้สำหรับสร้างเว็บไซต์โดยไม่จำเป็นต้องเขียนโค้ดเองเลย...

Read more »

Private Branding Hotel/Property Reservation System

ประเทศไทยนั้นมีจุดเด่นเรื่องสถานที่ท่องเที่ยวที่สวยงาม มีวัฒนธรรมอันยาวนาน และ ศิลปะท้องถิ่นที่มีเอกลักษณ์ รวมถึงอาหารที่ได้รับรางวัลระดับโลกมากมาย รวมถึงผู้คนที่มีจิตใจโอบอ้อมอารี และ สิ่งเหล่านั้นเองเป็นสิ่งที่ดึงดูดนักท่องเที่ยวทั่วโลกมายังประเทศไทย และมีการเติบโตของธุรกิจโรงแรมอย่างมากมายทุกประเภทไม่ว่าจะเป็น โรงแรม...

Read more »