เมื่อพูดถึง ประสิทธิภาพของระบบจัดเก็บข้อมูล ส่วนใหญ่เรามักจะดูกันแค่ความเร็วในการอ่านข้อมูล (Read Speed) และความเร็วในการเขียนข้อมูล (Write Speed) แต่หากต้องการจะทราบถึงประสิทธิภาพที่แท้จริงของมัน ก็มีอีก 3 ค่าพื้นฐานที่ควรให้ความสำคัญด้วย นั่นคือ ค่าความหน่วงเวลา (Latency), การดำเนินการอินพุตเอาต์พุตต่อวินาที (Input Output Operation Per Second - IOPS) และปริมาณงาน (Throughput)
Latency, IOPS และ Throughput เป็นตัวชี้วัดสำคัญ ที่ใช้ในการวัดประสิทธิภาพการจัดเก็บข้อมูลสำหรับ ฮาร์ดดิสก์ไดร์ฟ (HDD), อุปกรณ์เก็บข้อมูลแบบ SSD รวมไปถึง เครือข่ายเก็บข้อมูลความเร็วสูง (SAN)
อย่างไรก็ตาม ตัวชี้วัดทั้งสามสิ่งนี้ วัดสิ่งที่แตกต่างกัน และมีปัจจัยหลายอย่างที่ต้องพิจารณาสำหรับแต่ละตัว ในบทความนี้จะพาคุณผู้อ่านไปทำความเข้าใจพวกมันให้มากขึ้นกัน ...
Latency หมายถึง ระยะเวลาที่ใช้สำหรับการดำเนินการ "รับเข้า/ส่งออก" (Input/oOutput - I/O) แบบครบวงจร โดยเป็นช่วงเวลาระหว่างการส่งคำขอ I/O ไปยัง Elastic Block Store (EBS) จนถึงตอนได้รับการยืนยันจาก EBS ว่าการอ่าน หรือเขียน I/O เสร็จสมบูรณ์
Latency ถูกวัดเป็นหน่วยเวลา โดยค่า Latency ที่ต่ำกว่า จะแสดงถึงระยะเวลาการทำธุรกรรมที่รวดเร็วขึ้น นอกจากนี้ ยังมีปัจจัยอื่นที่อาจส่งผลต่อค่า Latency อีก ได้แก่ ขนาดบล็อก (Block Size) และ Queue Length (จำนวนคำขอการทำธุรกรรมที่รอการดำเนินการ) โดย Queue Length มีหน้าที่กำหนดว่าคำขอ I/O จะสามารถเข้าแถวรอได้กี่คำขอ
Input Output Operations Per Second - IOPS หรือที่ออกเสียงว่า "อาย-ออป" คือ การวัดจำนวนการดำเนินการอ่าน และเขียนข้อมูล (Input/Output Operations) ที่อุปกรณ์จัดเก็บข้อมูลสามารถดำเนินการได้ภายในหนึ่งวินาที ซึ่งเป็นมาตรฐานสำหรับประเมินประสิทธิภาพของอุปกรณ์จัดเก็บข้อมูล เช่น SSD, HDD, Flash Drive และ อุปกรณ์จัดเก็บข้อมูลแบบเครือข่าย (NAS)
คำว่า "Input" หมายถึงข้อมูลที่ส่งเข้าสู่ระบบคอมพิวเตอร์ผ่านอุปกรณ์ภายนอก เช่น คีย์บอร์ดหรือเมาส์ ในขณะที่ "Output" คือผลลัพธ์หรือการตอบสนองจากการประมวลผลข้อมูลที่ได้รับจากการ Input
ภาพจาก : https://applech2.com/archives/20200211-amorphousdiskmark-v2-5-update.html
Input ถูกนับว่าเป็นการดำเนินการแบบ "Read" (อ่าน) เนื่องจากคอมพิวเตอร์กำลังอ่านข้อมูล และนำเข้าสู่หน่วยความจำของระบบ ส่วน Output ถูกนับว่าเป็นการดำเนินการแบบ "Write" (เขียน) เนื่องจากคอมพิวเตอร์กำลังถ่ายโอนข้อมูลโดยการเขียนข้อมูลไปยังที่อื่น
การคำนวณ IOPS ค่อนข้างซับซ้อน เนื่องจากมีปัจจัยหลายอย่างที่ต้องนำมาพิจารณาร่วมด้วย เช่น ประเภทของไดรฟ์ โดย SSD และ HDD ที่มีขนาดเท่ากัน ก็จะมีการคำนวณที่แตกต่างกัน รวมถึงประเภทของ RAID ในชุดไดรฟ์ก็ส่งผลต่อ IOPS เช่นกัน โดย RAID บางประเภท อาจมีการสูญเสียประสิทธิภาพ เช่น RAID 6 ที่มีการสูญเสียมากกว่า RAID 0 เนื่องจากต้องกระจายข้อมูล (Parity) ไปยังดิสก์ทั้งหมด
โดยทั่วไป สูตรในการคำนวณ IOPS คือ
(Total Reads + Write Throughputs) / Time (in seconds) |
ลักษณะของ IOPS ที่พบเห็นได้บ่อยที่สุดจะมีดังนี้
การวัดผล | คำอธิบาย |
---|---|
Total IOPS | จำนวนรวมของการดำเนินการ I/O ต่อวินาที (เมื่อทำการทดสอบทั้งการอ่านและเขียน แบบผสมผสาน) |
Random Read IOPS | จำนวนเฉลี่ยของการดำเนินการ I/O การอ่านแบบสุ่มต่อวินาที |
Random Write IOPS | จำนวนเฉลี่ยของการดำเนินการ I/O การเขียนแบบสุ่มต่อวินาที |
Sequential Read IOPS | จำนวนเฉลี่ยของการดำเนินการ I/O การอ่านแบบลำดับต่อวินาที |
Sequential Write IOPS | จำนวนเฉลี่ยของการดำเนินการ I/O การเขียนแบบลำดับต่อวินาที |
สำหรับ HDD ค่า Random IOPS จะขึ้นอยู่กับเวลาที่อุปกรณ์จัดเก็บข้อมูลใช้ในการค้นหาแบบสุ่ม ในขณะที่สำหรับ SSD ค่า Random IOPS จะขึ้นอยู่กับตัวควบคุมภายใน และความเร็วในการเชื่อมต่อกับหน่วยความจำของอุปกรณ์จัดเก็บข้อมูลนั้น ๆ
ค่า Sequential IOPS มักแสดงถึงแบนด์วิธสูงสุดที่อุปกรณ์จัดเก็บข้อมูลสามารถจัดการได้ โดยส่วนใหญ่ Sequential IOPS จะถูกรายงานในรูปแบบตัวเลขเมกะไบต์ต่อวินาที (Megabytes per Second)
Throughput คือ การวัดจำนวนหน่วยข้อมูล ที่ระบบสามารถประมวลผลจัดการการดำเนินการอ่าน และเขียนข้อมูลแบบต่อเนื่องได้ภายในระยะเวลาที่กำหนด โดยทั่วไป Throughput มักถูกวัดในหน่วยบิตต่อวินาที (bit/s หรือ bps) แต่ก็อาจวัดในหน่วยไบต์ต่อวินาที (8 บิตต่อ 1 ไบต์) หรือแพ็กเก็ตข้อมูลต่อวินาที (p/s หรือ pps) ได้เช่นกัน
ภาพจาก : https://www.simplyblock.io/blog/iops-throughput-latency-explained/
ระบบจัดเก็บข้อมูลของคอมพิวเตอร์ ไม่ว่าจะ SSD หรือ HDD เป็นส่วนที่ถือว่าทำงานได้ค่อนข้างช้า เมื่อเปรียบเทียบกับส่วนสำคัญอื่น ๆ เช่น หน่วยประมวลผลกลาง (CPU) หรือ หน่วยความจำของการ์ดจอ (GDDR) หน่วยความจำ GDDR สามารถถ่ายโอนข้อมูลได้ถึง 19–21 กิกะบิตต่อวินาที (Gbit/s) แต่ในทางกลับกัน อุปกรณ์จัดเก็บข้อมูลส่วนใหญ่ ถ้าเป็น HDD สามารถประมวลผลข้อมูลได้เพียงไม่กี่ร้อยเมกะไบต์ต่อวินาที (MB/s) ถ้าเป็น SSD ก็อยู่ในช่วง 3,500 - 7,000 MB/s ทำให้การทำงานของคอมพิวเตอร์ ส่วนใหญ่ต้องรอข้อมูลจากอุปกรณ์จัดเก็บข้อมูลนานกว่าส่วนอื่น ๆ
เมื่อพูดถึงค่าการวัด MB/s หรือ GB/s มันก็หมายถึง ความเร็วในการถ่ายโอนข้อมูล หรือ Throughput นั่นเอง แต่ความเร็วในการถ่ายโอนข้อมูลไม่ใช่ปัจจัยสำคัญเพียงอย่างเดียวของประสิทธิภาพอุปกรณ์จัดเก็บข้อมูล แท้จริงแล้ว ความสำคัญอยู่ที่ระยะเวลาที่ใช้ก่อนที่การถ่ายโอนข้อมูลจะเริ่มขึ้น ซึ่งเรียกว่า Latency การถ่ายโอนข้อมูลที่ช้าอาจลดประสิทธิภาพ แต่ระยะเวลาที่รอให้ข้อมูลเริ่มเคลื่อนย้าย ก็มีผลกระทบต่อประสิทธิภาพของอุปกรณ์จัดเก็บข้อมูลอย่างมากเช่นกัน
อีกหนึ่งปัจจัยที่สำคัญไม่แพ้ Latency คือ ความถี่ที่อุปกรณ์จัดเก็บข้อมูลสามารถถ่ายโอนข้อมูลได้ ซึ่งวัดได้จากจำนวนการดำเนินการ Input (I) หรือ Output (O) ต่อวินาที หรือที่เรียกว่า IOPS ซึ่งถือเป็นค่าที่สำคัญอย่างยิ่งต่อประสิทธิภาพของอุปกรณ์จัดเก็บข้อมูล
ภาพจาก : https://flashdba.com/2013/04/08/the-fundamental-characteristics-of-storage/
|
แอดมินสายเปื่อย ชอบลองอะไรใหม่ไปเรื่อยๆ รักแมว และเสียงเพลงเป็นพิเศษ |