IOPS (อังกฤษ: Input/Output Operations Per Second) หรือ จำนวนปฏิบัติการ อินพุต/เอาต์พุต ต่อวินาที อ่านออกเสียง ไอ-ออปส์ ใช้เป็นมาตรวัดประสิทธิภาพการทำงานของหน่วยเก็บข้อมูลทางคอมพิวเตอร์ อาธิเช่น ฮาร์ดดิสก์ และโซลิดสเตตไดรฟ์ ดังเช่นเครื่องมือในการวัดประสิทธิภาพอื่น ๆ ปริมาณ IOPS ไม่ได้รับประกันถึงการใช้งานจริงในชีวิตประจำวัน เป็นเพียงการวัดเชียงเปรียบเทียบเท่านั้น

การวัด IOPS จะมีค่าต่างกันมากหากกำหนดวิธีการทดสอบต่างกัน ปัจจัยที่มีผลเช่นรูปแบบการเข้าถึงข้อมูลแบบต่อเนื่องหรือแบบสุ่ม ขนาดของบล็อกข้อมูลในการอ่าน-เขียน และการทดสอบหากเน้นการเขียนเป็นหลักก็ย่อมมีผลต่างกับการเน้นการอ่านเป็นหลักเช่นกัน ตลอดจนเงื่อนไขอื่น ๆ เช่นการตั้งค่าของระบบ ไดร์ฟเวอร์ของหน่วยเก็บข้อมูล และระบบปฏิบัติการ ดังนั้นผลการทดสอบ IOPS จึงต้องแนบสภาพแวดล้อมการทดสอบ และเงื่อนไขจำเพาะต่าง ๆ ด้วย

รูปแบบการวัด แก้

 
เปรียบเทียบลักษณะการเข้าถึงข้อมูลแบบต่อเนื่อง กับแบบสุ่ม

โดยทั่วไปปริมาณ IOPS จะวัดในกรณีแบบอ่านเขียนต่อเนื่องซึ่งก็มักจะใช้การส่งข้อมูลครั้งละมาก ๆ เช่น 128 กิโลไบต์ หรือไม่ก็อ่านเขียนแบบสุ่มซึ่งมักจะใช้การส่งข้อมูลทีละน้อย ๆ เช่น 4 กิโลไบต์

รูปแบบการวัด IOPS ที่พบเห็นได้ทั่วไป

รูปแบบการวัด คำอธิบาย
Random Read IOPS จำนวนปฏิบัติการอ่าน จากการเข้าถึงตำแหน่งแบบสุ่มที่ทำได้ในหนึ่งวินาทีโดยเฉลี่ย
Random Write IOPS จำนวนปฏิบัติการเขียน จากการเข้าถึงตำแหน่งแบบสุ่มที่ทำได้ในหนึ่งวินาทีโดยเฉลี่ย
Sequential Read IOPS จำนวนปฏิบัติการอ่าน จากการเข้าถึงตำแหน่งข้อมูลแบบต่อเนื่องที่ทำได้ในหนึ่งวินาทีโดยเฉลี่ย
Sequential Write IOPS จำนวนปฏิบัติการเขียน จากการเข้าถึงตำแหน่งข้อมูลแบบต่อเนื่องที่ทำได้ในหนึ่งวินาทีโดยเฉลี่ย

สำหรับฮาร์ดดิสก์ และหน่วยความจำที่อาศัยการทำงานเชิงกล มักจะมีค่า random IOPS แปรผันตามเร็วในการเลื่อนหัวอ่านไปยังตำแหน่งที่ต้องการจะเขียนหรืออ่าน ซึ่งก็ย่อมขึ้นกับความเร็วในการหมุดของฮาร์ดดิสก์เองด้วย ในขณะที่หน่วยความจำแบบแฟลชอย่างเช่นโซลิดสเตตไดรฟ์ทั่วไปนั้นค่า random IOPS จะขึ้นกับความสามารถของตัวควบคุมและประสิทธิภาพของหน่วยความจำที่นำมาใช้ ส่วนค่า sequential IOPS ยิ่งถ้าหากส่งข้อมูลคราวละมาก ๆ เช่น 128 กิโลไบต์ ด้วยแล้วค่านี้จะเป็นตัวกำหนดอัตราการส่งข้อมูลสูงสุดของอุปกรณ์ได้ และหลายครั้งก็แสดงค่านี้ในหน่วยของ เมกะไบต์ต่อวินาที ซึ่งเป็นไปตามความสัมพันธ์ดังนี้

  (และสุดท้ายมักจะแปลงจากไบต์ต่อวินาทีเป็นเมกะไบต์ต่อวินาที)

ในฮาร์ดดิสก์บางชนิดมีความสามารถในการจัดลำดับก่อนหลังการทำงานของคำสั่งที่เข้ามาพร้อม ๆ กันได้ เช่นเทคนิค Tagged Command Queing (TCQ) และ Native Command Queuing (NCQ) การจัดลำดับก่อนหลังการทำงานนั้นเป็นการลดระยะทางการเคลื่อนที่ของหัวอ่าน และช่วยลดระยะเวลารอการหมุนของจานได้มากจึงส่งผลทำให้ IOPS สูงขึ้นได้มากเช่นกัน ซึ่งต้องอาศัยวงจรควบคุมที่มีความซับซ้อนมากขึ้น ทำให้ฮาร์ดดิสก์ SATA ส่วนใหญ่ในท้องตลาดไม่มีความสามารถนี้ติดตัวมาด้วย ส่วนฮาร์ดดิสก์ระดับองค์กร เช่น Western Digital Raptor และ Seagate Barracuda NL สามารถเพิ่ม IOPS ได้มากถึงเท่าตัวในกรณีที่มีคำสั่งเข้ามาในคิวเป็นปริมาณมาก ๆ[1]

ฮาร์ดดิสก์ทั่วไปมี IOPS ของการอ่านและเขียนเท่า ๆ กัน แต่โซลิตสเตตไดรฟ์แบบแฟลชนั้นความสามารถในการเขียนด้อยกว่าการอ่านอย่างเห็นได้ชัด เนื่องจากไม่สามารถเขียนทับไปยังเซลล์ข้อมูลได้โดยตรง ต้องอาศัยการลบทั้งบล็อกข้อมูลซึ่งก็ต้องทำการคัดลอกข้อมูลบางส่วนไปยังบล็อกอื่นก่อนเรียกกระบวนการนี้ว่า garbage collection[2][3][4] จึงเป็นเหตุผลที่ว่าการทดสอบ IOPS จึงต้องกำหนดให้แน่ชัดว่าจะวัดในส่วนการเขียน หรือการอ่าน หรือทั้งคู่และเป็นอัตราส่วนเท่าไหร่

โซลิดสเตตไดรฟ์ยุคใหม่ เช่น Intel X25-E มีค่า IOPS สูงถึง 10,000 IOPS การทดสอบโดย Xssist โดยใช้โปรแกรม IOmeter, การส่งข้อมูลคราวละ 4 กิโลไบต์, การเข้าถึงแบบสุ่ม, อัตราส่วนการ อ่าน/เขียน อยู่ที่ 70/30 และส่งคำสั่งพร้อมกัน 4 คำสั่ง ตัวเลข 10,000 IOPS จะตกลงมาอยู่ที่ 4,000 IOPS ใน 8 นาที และแกว่งระหว่าง 3,000 ถึง 4,000 ตั้งแต่นาทีที่ 50 และเป็นเช่นนี้ต่อไปในการทดสอบกว่า 8 ชั่วโมง[5] แต่อย่างไรก็ดีตัวเลข 3,000 IOPS นั้นก็สูงกว่าฮาร์ดดิสก์ที่สามารถทำได้ในหลักร้อย IOPS อยู่มาก และโซลิดสเตตไดรฟ์บางตัวเช่น OCZ RevoDrive 3 x2 PICe ซึ่งใช้ตัวควมคุม SandForce ได้แสดงให้เห็นว่าความเร็วในการเขียนกับความเร็วในการอ่านห่างกันไม่มากอย่างที่เป็นมาในอดีต[6]

อ้างอิง แก้

  1. "SATA in the Enterprise - A 500 GB Drive Roundup | StorageReview.com - Storage Reviews". StorageReview.com. 2006-07-13. คลังข้อมูลเก่าเก็บจากแหล่งเดิมเมื่อ 2013-05-05. สืบค้นเมื่อ 2013-05-13.
  2. Write Amplification Analysis in Flash-Based Solid State Drives, Hu, X.-Y. and E. Eleftheriou, R. Haas, I. Iliadis, R. Pletka, 2009, IBM
  3. "SSDs - Write Amplification, TRIM and GC" (PDF). OCZ Technology. คลังข้อมูลเก่าเก็บจากแหล่งเดิม (PDF)เมื่อ 2012-05-26. สืบค้นเมื่อ 2010-05-31.
  4. "Intel Solid State Drives". Intel. สืบค้นเมื่อ 2010-05-31.
  5. "Intel X25-E 64GB G1, 4KB Random IOPS, iometer benchmark". 2010-03-27. สืบค้นเมื่อ 2010-04-01.
  6. "OCZ RevoDrive 3 x2 PCIe SSD Review – 1.5GB Read/1.25GB Write/200,000 IOPS As Little As $699". 2011-06-28. สืบค้นเมื่อ 2011-06-30.