IOPS به زبان ساده
IOPS یا input/output operations per second به واحد استاندارد اندازه گیری برای بیشترین تعداد خواندن و نوشتن در فضاهای ذخیره سازی ( مانند هارد دیسک، SSD و درایو های SAN) گفته می شود. تلفظ درستش EYE-OPS است.
واحد بیشترین تعداد خواندن و نوشتن اغلب توسط فروشندگان تجهیزات ذخیره سازی برای توصیف عملکرد حافظه حالت جامد (SSD)، درایو های هارد دیسک (HDD) و ذخیره سازهای تحت شبکه استفاده می شود. اگرچه عدد IOPS یک معیار قابل اعتماد نیست و عددهای ارائه شده توسط کمپانی ها با عملکرد واقعی همخوانی ندارند.
علاوه بر transfer rate که سرعت انتقال داده را از محل های دور از هم اندازه می گیرد، IOPS میتواند عملکرد فضای ذخیره سازی را هم اندازه گیری کند. بایت معیار سنجش Transfer rate است در حالیکه واحد بیشترین تعداد خواندن و نوشتن به عنوان یک عدد صحیح (integer) اندازه گیری می شود.
IOPS به عنوان یک معیار اندازه گیری با دور یا گردش در دقیقه ی موتور یک ماشین (rpm) قابل مقایسه است.مثلا اگر وسیله ی نقلیه در حالت خلاص قرار گرفته باشد نمیتوانیم بگوییم موتورش در آن موقعیت ده هزار دور در دقیقه گردش دارد. بدون در نظرگرفتن اندازه ی بلاک دیتا (یا اندازه ی I/O)، فعالیت خواندن/نوشتن یا I/O stream مقدار آن به عنوان یک مقیاس اندازه مستقل کارایی چندانی ندارد.
توضیح IOPS، تاخیر (latency) و توان عملیاتی (throughput) :
Throughput (توان عملیاتی) تعداد واحدهای اطلاعاتی را که یک سیستم میتواند در یک دوره ی زمانی پردازش کند، اندازه گیری می نماید. همچنین تعداد عملیات I/O در ثانیه را شامل می شود اما معمولا به صورت بایت بر ثانیه محاسبه می شود. IOPS و throughput به تنهایی نمیتوانند معیار مناسبی برای اندازه گیری عملکرد باشند.
Latency (تاخیر) فاصله زمانی بین ارسال یک درخواست و دریافت یک پاسخ است. در رابطه با IOPS تاخیر به مدت زمانی گفته می شود که یک درخواست I/O از طرف اپلیکیشن کامل می شود.
مقیاس هایی همچون latency، IOPS و throughput به تنهایی تصویرکاملی ارائه نمی دهند اما در کنار هم، به سنجش عملکرد کمک می کنند.
اندازه گیری
اندازه گیری اغلب توسط یک ابزار آزمایش شبکه ی open source که Iometer نامیده می شود انجام می شود. Iometer مقدار حداکثر را در شرایط مختلف خواندن/نوشتن تعیین می کند. اندازه گیری IOPS و latency به ادمین شبکه کمک می کند تا میزان بارگیری شبکه بدون تاثیر منفی را پیش بینی کند. Intel از سال 2006 کار روی Iometer را متوقف کرد به همین دلیل بسیاری ممکن است این ابزار را منسوخ تلقی کنند.
محاسبه بیشترین تعداد خواندن و نوشتن بدون Iometer امکان پذیر است اما نتایج بنابر میزان لود بار متفاوت خواهد بود. به طور کلی سه نوع عملکرد workload (میزان حجم کار) وجود دارد: رندوم، ترتیبی و ترکیبی از هر دو. RAID نیز میتواند بر اندازه گیری تاثیر بگذارد چرا که نتیجه هر فرآیند نوشتنی، نوشته شدن روی چندین استوریچ خواهد بود.
IOPS با استفاده از یک ماشین حساب آنلاین که آن را بر اساس سرعت درایو، میانگین زمان خواندن و متوسط زمان نوشتن، اندازه گیری می شود.
HHDها از معادله ی استانداردی برای تعیین IOPS استفاده می کنند اما عملکرد SSD ها متفاوت است. در مورد HHD ها، اندازه گیری به زمان جستجو بستگی دارد اما در مورد SSD ها عمدتا به کنترلر داخلی دستگاه بستگی دارد. عملکرد SSD در طول زمان تغییر میکند و در مراحل اولیه اوج می گیرد . اگرچه حتی زمانی که به حالت پایدار می رسد، همچنان ازنظر IOPS نسبت به HDD بهتر عمل می کند. HHD ها نیز درگیر غلبه بر مسائلی چون تاخیر و زمان خواندن/ نوشتن طولانی هستند.
آیا میزان IOPS مهم است؟
علی رغم تبلیغات صورت گرفته از طرف فروشندگان تجهیزات ذخیره سازی،میزان اهمیت IOPS به عنوان یک مقیاس اندازه گیری همچنان سوال برانگیز است. با توجه به میزان لود بار اعداد مربوط به واحد بیشترین تعداد خواندن و نوشتن بسیار متفاوت است در نتیجه نمیتوان IPOS را به تنهایی پارامتر موثری برای تصمیم گیری در نظر گرفت.
از آنجایی که اعداد بیشترین تعداد خواندن و نوشتن تحت تاثیر اندازه بلوک داده ها و حجم کار است، بعید است که فروشندگان در هنگام اندازه گیری آن از متغیرهای استاندارد استفاده کنند. حتی در صورت استفاده از سیستم استانداری با در نظر گرفتن اندازه بلاک و عملیات خواندن و نوشتن، عدد به دست آمده معنایی به جز میزان کارایی در یک حجم کار مشخص ندارد.
ثبت ديدگاه