**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 กิโลไบต์ ด้วยแล้วค่านี้จะเป็นตัวกำหนดอัตราการส่งข้อมูลสูงสุดของอุปกรณ์ได้ และหลายครั้งก็แสดงค่านี้ในหน่วยของ เมกะไบต์ต่อวินาที ซึ่งเป็นไปตามความสัมพันธ์ดังนี้

> {\displaystyle {\text{IOPS}}\*{\text{DataTransferSize}}={\text{BytesPerSec}}} (และสุดท้ายมักจะแปลงจากไบต์ต่อวินาทีเป็นเมกะไบต์ต่อวินาที)
> 
> 
> 

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

ฮาร์ดดิสก์ทั่วไปมี IOPS ของการอ่านและเขียนเท่า ๆ กัน แต่โซลิตสเตตไดรฟ์แบบแฟลชนั้นความสามารถในการเขียนด้อยกว่าการอ่านอย่างเห็นได้ชัด เนื่องจากไม่สามารถเขียนทับไปยังเซลล์ข้อมูลได้โดยตรง ต้องอาศัยการลบทั้งบล็อกข้อมูลซึ่งก็ต้องทำการคัดลอกข้อมูลบางส่วนไปยังบล็อกอื่นก่อนเรียกกระบวนการนี้ว่า garbage collection จึงเป็นเหตุผลที่ว่าการทดสอบ 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 ชั่วโมง แต่อย่างไรก็ดีตัวเลข 3,000 IOPS นั้นก็สูงกว่าฮาร์ดดิสก์ที่สามารถทำได้ในหลักร้อย IOPS อยู่มาก และโซลิดสเตตไดรฟ์บางตัวเช่น OCZ RevoDrive 3 x2 PICe ซึ่งใช้ตัวควมคุม SandForce 
ได้แสดงให้เห็นว่าความเร็วในการเขียนกับความเร็วในการอ่านห่างกันไม่มากอย่างที่เป็นมาในอดีต

อ้างอิง
-------

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.