IOPS (Input/Output Operations Per Second) یک معیار عملکردی است که تعداد عملیات ورودی و خروجی را که یک دستگاه ذخیرهسازی (مانند هارد دیسک، SSD یا SAN) میتواند در هر ثانیه انجام دهد، اندازهگیری میکند. این عملیات میتواند شامل خواندن یا نوشتن دادهها بر روی دستگاه ذخیرهسازی باشد.
اجزای کلیدی IOPS:
- عملیات ورودی/خروجی (I/O Operations):
- به هر گونه خواندن یا نوشتن دادهها از دستگاه ذخیرهسازی، عملیات I/O گفته میشود. این عملیاتها میتوانند به صورت ترتیبی (Sequential) یا تصادفی (Random) باشند.
- زمان تأخیر (Latency):
- یکی از عوامل مهم در IOPS، زمان تأخیر یا Latency است که به مدت زمانی که طول میکشد تا یک عملیات ورودی/خروجی انجام شود، اشاره دارد. تأخیر کمتر منجر به تعداد بیشتر IOPS میشود.
- اندازه بلاک (Block Size):
- IOPS به اندازه بلاک دادهها نیز وابسته است. بلاکهای کوچکتر معمولاً باعث افزایش تعداد IOPS میشوند، زیرا هر عملیات تنها مقدار کمی از داده را شامل میشود، اما تعداد عملیاتهای بیشتری انجام میپذیرد.
محاسبه IOPS:
IOPS معمولاً با توجه به زمان جستجو (Seek Time)، زمان تأخیر (Latency)، و زمان انتقال داده محاسبه میشود. فرمول کلی برای محاسبه IOPS به این صورت است:
عوامل تأثیرگذار بر IOPS:
- نوع دستگاه ذخیرهسازی:
- هارد دیسکهای سنتی (HDD) به دلیل وابستگی به دیسکهای چرخان و زمان جستجو (Seek Time) معمولاً IOPS کمتری نسبت به SSDها دارند.
- حافظههای SSD و NVMe به دلیل نبود قطعات مکانیکی، تأخیر بسیار کمتری دارند و بنابراین IOPS بسیار بالاتری نسبت به HDD ارائه میدهند.
- نوع عملیات (تصادفی یا ترتیبی):
- عملیاتهای تصادفی IOPS بیشتری نسبت به عملیاتهای ترتیبی نیاز دارند. در عملیات تصادفی، دستگاه باید بهطور مداوم به بخشهای مختلف داده دسترسی پیدا کند، در حالی که در عملیات ترتیبی، دادهها بهصورت متوالی خوانده یا نوشته میشوند.
- حجم درخواستها:
- اندازه و تعداد درخواستهای I/O میتوانند تأثیر مستقیم بر IOPS داشته باشند. اگر اندازه درخواستهای I/O کوچک باشد، IOPS افزایش مییابد زیرا دستگاه تعداد بیشتری از این درخواستها را میتواند در یک ثانیه پردازش کند.
مقایسه IOPS در دستگاههای مختلف:
- هارد دیسکهای مکانیکی (HDD):
- IOPS در HDDهای سنتی به دلیل وابستگی به قطعات مکانیکی معمولاً پایین است و بین 50 تا 200 IOPS در حالت معمولی است. در HDDهای با سرعت چرخش بالاتر (مانند 15,000 دور در دقیقه) این عدد ممکن است به حدود 400 تا 500 IOPS برسد.
- SSDها:
- SSDها به دلیل نداشتن قطعات متحرک، IOPS بالاتری ارائه میدهند. SSDهای مبتنی بر SATA میتوانند بین 10,000 تا 100,000 IOPS دست یابند.
- NVMe SSDها:
- NVMe SSDها که از PCIe برای ارتباط با سیستم استفاده میکنند، میتوانند به سرعتهایی در حدود 500,000 تا بیش از 1 میلیون IOPS برسند، که برای برنامههای با کارایی بالا و دیتاسنترها بسیار مفید است.
کاربردهای IOPS:
- ارزیابی عملکرد دستگاههای ذخیرهسازی:
- IOPS یک شاخص مهم برای ارزیابی و مقایسه عملکرد دستگاههای ذخیرهسازی است. بهویژه در محیطهایی مانند دیتاسنترها و سرورهای پایگاه داده که نیاز به پردازش تعداد زیادی از عملیات ورودی/خروجی دارند، IOPS معیار مهمی است.
- انتخاب دستگاه ذخیرهسازی مناسب:
- براساس نیازهای کاربری، IOPS میتواند برای انتخاب نوع حافظه مناسب (HDD، SSD یا NVMe) به کار رود. به عنوان مثال، برای برنامههایی که نیاز به سرعت بالای خواندن و نوشتن دادهها دارند، NVMe SSDها به دلیل IOPS بالا مناسب هستند.
- مدیریت بارکاری (Workload Management):
- IOPS به مدیران سیستم اجازه میدهد تا تنگناها (Bottlenecks) را در سیستمهای ذخیرهسازی شناسایی کنند و بر اساس آنها بارکاری را بهینه کنند. همچنین به آنها کمک میکند تا ظرفیت ذخیرهسازی و کارایی کلی سیستم را متعادل کنند.
- برنامههای حساس به زمان تأخیر:
- برنامههایی مانند بانکهای اطلاعاتی، سیستمهای تجاری حیاتی، و مجازیسازی که حساس به زمان تأخیر هستند، به دستگاههایی با IOPS بالا نیاز دارند تا بتوانند عملیاتهای زیادی را با تأخیر کم انجام دهند.
نتیجهگیری:
IOPS یک معیار کلیدی برای اندازهگیری عملکرد دستگاههای ذخیرهسازی است که نشاندهنده تعداد عملیات ورودی/خروجی انجام شده در یک ثانیه است. دستگاههایی که IOPS بالاتری دارند، میتوانند حجم بیشتری از عملیات خواندن و نوشتن را با سرعت بالاتر انجام دهند، که برای برنامههای حساس به سرعت و کارایی بسیار مهم است.
میزان IOPS در هاردهای SATA و SAS
در حالی که استثنائات وجود دارد، چهره های زیر به عنوان یک قاعده خوب از نظر عملکرد برای هارد دیسک های SATA و SAS سنتی عمل می کنند:
7.2K SATA – +/- 80 IOPS
10K SAS – +/- 120-140 IOPS
15K SAS – +/- 180-200 IOPS
میزان IOPS در هاردهای SSD
در هاردهای SSD تولید بر اساس نیاز به سرعت بالای خواندن و نوشتن می باشد. با این حال، اگر ما یک هارد Enterprise SSD مخصوص دیتاسنتر مانند Intel DCS 3500 را در نظر بگیریم، این هارد میزان IOPS در حدود 4،600=IOPS Writing Random و 75،000=IOPS Random Reads دارد.
چرا میزان IOPS بسیار مهم است؟
اساسا پارامتر IOPS معیار تشخیص سرعت هارد یا مجموعه هارد ما می باشد. همانطور که می دانید سرعت هارد به دلایل مختلفی بهتر است که بالا باشد. برای مثال گوگل اعلام کرده است که سرعت بارگذاری وب سایت یک عامل رتبه بندی است و به سادگی، وب سایت های سریع تر رتبه بهتری را دریافت می کنند و همچنین، وب سایت های سریع تر تمایل به فروش بیشتر دارند که این موضوع خیلی مورد توجه مدیران وب سرورها قرار می گیرد.
البته راه های زیادی برای سرعت بخشیدن به یک وب سایت وجود دارد، ولی یکی از سریع ترین و ارزان ترین راهها استفاده از هاردهای SSD به منظور بالا بردن سرعت خواندن و نوشتن و سرعت سایت می باشد.