iops چیست؟ بررسی مفهوم iops در تبادل اطلاعات
امروزه با رشد سریع حجم دادهها، دیگر صرفا داشتن فضای ذخیرهسازی کافی نیست. بلکه سرعت دسترسی و بهرهوری سیستمهای ذخیرهسازی به عاملی اساسی در عملکرد زیرساختها تبدیل شده است. یکی از مهم ترین شاخصهای سنجش این کارایی، IOPS است. معیاری که اغلب بهصورت پنهان مشخص میکند یک سرور عملکردی روان داشته باشد یا با گلوگاه مواجه شود.
IOPS که مخفف Input/Output Operations Per Second است، بیانگر تعداد عملیات خواندن و نوشتنی است که یک سیستم ذخیرهسازی در هر ثانیه انجام میدهد. این شاخص، برخلاف حجم انتقال داده، مستقیما به تعداد درخواستهای ورودی و خروجی وابسته است و در محیطهایی مانند پایگاههای داده، ماشینهای مجازی و برنامههای پرتراکنش، اهمیت ویژهای دارد.
شناخت این مفاهیم تنها به متخصصان IT محدود نمیشود و هر فرد یا سازمانی که به دنبال زیرساختی سریعتر و قابلاعتمادتر است، میتواند از آنها برای تصمیمگیری بهتر بهره ببرد. از آنجا که محور اصلی این مقاله شاخص IOPS است، در ادامه به بررسی ” iops چیست؟ بررسی مفهوم iops در تبادل اطلاعات ” می پردازیم.
iops چیست؟
فهرست محتوا
IOPS مخفف عبارات input output operation per second می باشد که یک واحد اندازه گیری حداکثر میزان خواندن و نوشتن بر روی تجهیزات ذخیره سازی اطلاعات است. در واقع به واحد استاندارد اندازه گیری برای بیشترین تعداد خواندن و نوشتن در فضاهای ذخیره سازی ( مانند هارد دیسک، SSD و درایو های SAN) گفته می شود. به طور کلی می توان گفت دستگاه یا هاردی که مقدار IOPS آن بیشتر باشد می تواند عملیات بیشتری را در یک ثانیه انجام دهد.
برای آنکه بهتر متوجه IOPS شوید مثالی می زنیم: برای مثال میتوان IOPS را به سرعت در دقیقه یک موتور در ماشین تشبیه کرد. یک موتور قدرت گردش 10 هزار دور در دقیقه را دارد. انجام این مقدار گردش در حالی که موتور دنده در حالت خلاص قرار گرفته اهمیت خاصی ندارد. اما اگر موتوری بتواند اسب بخار و گشتاور خاصی را با استفاده از ده هزار دور در دقیقه به کار گیرد میتوان به قدرت آن موتور اطمینان داشت.
در سال 1999 اکثر شرکت های تولید کننده سخت افزار شروع به سواستفاده از IOPS کرده که این عامل مشکلات زیادی را به وجود آورد. این شرکت ها شروع به اعلام اعداد غیر واقعی در رابطه با IOPS کردند. برای حل این مشکل شرکت اینتل بنچمارک IOmeter را برای اندازهگیری ویژگیهای مختلف وسایل ذخیرهسازی منتشر کرد. سازمان Storage Performance Council نیز توانست بنچمارکی به نام SPC-1 Benchmark Suite را منتشر کند که یکی از دقیقترین بنچمارکهای موجود است.
SPC-1 از تولیدکنندگان درخواست میکند تا تمام مشخصات مربوط به دستگاههای ذخیرهسازی خود را اعلام کنند. استانداردهایی که در محیطکاری استفاده میشوند. در این میان باید میزان IOPS و زمان پاسخدهی به دقت مشخص شود تا از تقلب و ارائه اعداد غیرواقعی جلوگیری شود. در نتیجه تست و بنچمارک SPC-1 نتیجهای واقعگرا از IOPS، زمان پاسخدهی، پایداری داده و عملکرد در وسیله ذخیرهسازی است.
همچنین این تست با توجه به دریافت قیمت قطعات استفاده شده در ساخت وسیله ذخیرهسازی انجام میشود و در نهایت ارزش خرید نسبت به هر IOPS نیز ارائه میشود. مقدار دقیق IOPS در هر سیستم بسته به تنظیمات مختلف میتواند بسیار متفاوت باشد. شاید مهمترین نوع تست IOPS دسترسی به دادهها به صورت ترتیبی و یا تصادفی است. گرچه تستهای دیگری نیز وجود دارند. از عوامل محیطی موثر روی نتیجه تست SPC-1 میتوان به کانفیگ سیستم، سیستم عامل و … اشاره کرد.
کاربردهای IOPS در فناوری اطلاعات:
IOPS یکی از شاخصهای حیاتی در دنیای فناوری اطلاعات است که نقش مهمی در بهبود عملکرد سیستمهای ذخیرهسازی و افزایش کارایی کلی زیرساختها ایفا میکند. در ادامه به برخی از مهمترین کاربردهای IOPS اشاره میکنیم:
- بهینهسازی عملکرد پایگاههای داده: بالا بودن IOPS به معنای توانایی سیستم در پردازش تعداد زیادی درخواست بهطور همزمان است. این ویژگی برای سیستمهای مدیریت پایگاه داده که نیازمند خواندن و نوشتن سریع دادهها هستند، اهمیت ویژهای دارد.
- پشتیبانگیری و بازیابی اطلاعات: IOPS بالا زمان لازم برای تهیه نسخه پشتیبان و بازیابی دادهها را کاهش میدهد. این امر به سازمانها امکان میدهد در شرایط اضطراری سریعتر به اطلاعات خود دسترسی پیدا کنند و عملیات بحرانی را با سرعت بیشتری انجام دهند.
- بهبود تجربه در رایانش ابری: در محیطهای ابری، IOPS یکی از معیارهای اصلی سنجش کیفیت خدمات است. ارائهدهندگان سرویسهای ابری با افزایش IOPS، تجربه کاربری بهتری برای مشتریان فراهم میکنند و عملکرد سیستمها را قابل پیشبینیتر میسازند.
- تحلیل دادههای حجیم: در پروژههای دادهکاوی و آنالیز دادههای بزرگ، IOPS بالا موجب تسریع پردازش دادهها و استخراج نتایج دقیقتر میشود. این ویژگی به کسبوکارها کمک میکند تصمیمات هوشمندانهتری بر پایه تحلیل سریع و مؤثر دادهها اتخاذ کنند.
در بخش بعدی، بررسی خواهیم کرد که چه عواملی بر میزان IOPS تأثیر میگذارند و چگونه میتوان این شاخص را اندازهگیری کرد. شناخت این موارد به شما امکان میدهد مدیریت سیستمهای ذخیرهسازی را بهینه کرده و کارایی آنها را به سطح بالاتری ارتقا دهید.
عوامل موثر بر میزان IOPS:
میزان IOPS در سیستمهای ذخیرهسازی تحت تاثیر مجموعهای از عوامل قرار دارد که هر یک میتوانند بطور مستقیم یا غیرمستقیم عملکرد کلی سیستم را تحت تأثیر قرار دهند. در این بخش، این عوامل را بررسی کرده و توضیح میدهیم چگونه با درک آنها میتوان عملکرد IOPS را بهینه کرد.
یکی از اصلیترین عوامل، نوع و سرعت سختافزار ذخیره سازی است. بهعنوان مثال، درایوهای SSD بهطور معمول IOPS بسیار بالاتری نسبت به هارددیسکهای HDD ارائه میدهند. علاوه بر این، نوع کنترلر (Controller) و پروتکلهای ارتباطی نیز نقش مهمی در عملکرد سیستم دارند و میتوانند کارایی آن را افزایش یا کاهش دهند.
عوامل دیگری مانندLatency (زمان تأخیر) وBandwidth (پهنای باند) نیز تاثیر قابلتوجهی بر IOPS دارند. Latency نشاندهنده مدت زمان لازم برای پردازش هر درخواست است و Bandwidth میزان دادهای را نشان میدهد که میتواند به صورت همزمان منتقل شود.
در ادامه، هر یک از این عوامل به طور دقیقتر بررسی خواهد شد و راهکارهایی برای ارتقای عملکرد IOPS ارائه میگردد. آشنایی با این نکات برای افرادی که میخواهند سیستمهای ذخیرهسازی خود را سریعتر و کارآمدتر کنند، بسیار ارزشمند است.
بررسی IOPS، تاخیر (latency) و توان عملیاتی (throughput):
در این جا لازم است که به این نکته اشاره کنیم که iops به تنهایی نمی تواند معیار خوبی برای اندازه گیری عملکرد باشد. از این رو آی او پی اس همراه با یکی از دو معیار توان عملیاتی (throughput) و تاخیر (latency) می توانند برای اندازه گیری عملکرد، معیارهای مناسبی باشند.
Throughput (توان عملیاتی) تعداد واحدهای اطلاعاتی را که یک سیستم می تواند در یک دوره ی زمانی پردازش کند، اندازه گیری می نماید. همچنین تعداد عملیات I/O در ثانیه را شامل می شود اما معمولا به صورت بایت بر ثانیه محاسبه می شود. IOPS و throughput به تنهایی نمی توانند معیار مناسبی برای اندازه گیری عملکرد باشند.
Latency (تاخیر) فاصله زمانی بین ارسال یک درخواست و دریافت یک پاسخ است. در رابطه با IOPS تاخیر به مدت زمانی گفته می شود که یک درخواست I/O از طرف اپلیکیشن کامل می شود. همانطور که گفته شد مقیاس هایی همچون latency، IOPS و throughput به تنهایی تصویر کاملی ارائه نمی دهند اما در کنار هم، به سنجش عملکرد کمک می کنند.
بررسی IOPS و Latency و Storage Performance:
وقتی صحبت از ذخیره سازی می شود اغلب افراد به throughput فکر می کنند. اما throughput مانند حداکثر سرعت یک خودرو می ماند که ممکن است شما نتوانید از حداکثر سرعت یک خودرو استفاده نمایید. برخی ویژگی هایی مانند سرعت ماشین شما و نحوه کنترل خمیدگی ها و پیچ ها، اغلب از حداکثر سرعت آن مهم تر هستند. و این مثال برای عملکرد ذخیره سازی نیز صادق است.
همانطور که می دانید SSD ها اغلب بسیار سریعتر از هارد دیسک های معمولی هستند اما این در مورد توان عملیاتی یا throughput نمی توان این مسأله را عنوان کرد. همه چیز به عملیات ورودی/خروجی در ثانیه (IOPS) بر می گردد. اما IOPS کل داستان نیست. به بیان دقیق تر IOPS یک رقم بی معنی است مگر اینکه به میانگین latency و اندازه درخواست معین (چه مقدار داده با I/O پردازش می شود) مرتبط باشد. بیایید ابتدا روی IOPS و Latency تمرکز کنیم و بعداً در مورد اندازه درخواست صحبت کنیم.
پس اول تمرکزمون رو روی IOPS و latency می گذاریم.
latency بسیار مهم است، زیرا یک سیستم ذخیرهسازی که میتواند 1000 IOPS با تاخیر متوسط 10 میلیثانیه را مدیریت کند، ممکن است عملکرد برنامه بهتری نسبت به یک زیرسیستم که میتواند 5000 IOPS با تأخیر متوسط 50 میلیثانیه را مدیریت کند، داشته باشد. به خصوص اگر برنامه شما به latency حساس باشد، مانند سرویس پایگاه داده.
درک این موضوع بسیار مهم است: IOPS و latency چگونه با یکدیگر ارتباط دارند. تصور کنید که در یک سوپر مارکت هستید. این یک سوپرمارکت ویژه است که در آن به مشتریان (I/Os) با صندوقدار (دیسک) با سرعت متوسط 10 میلی ثانیه خدمات ارائه می شود. اگر یک ثانیه را با 10 میلی ثانیه تقسیم کنید، متوجه می شویم که این صندوقدار می تواند 100 مشتری در ثانیه را اداره کند. اما فقط یکی در یک زمان و پشت سر هم.
واضح است که با اینکه صندوقدار می تواند در هر ثانیه 100 مشتری را اداره کند، اما نمی تواند همزمان از عهده آنها برآید! بنابراین هنگامی که مشتری به ثبت می رسد، و در مدت زمان رسیدگی به 10 میلی ثانیه، مشتری دوم می رسد، آن مشتری باید منتظر بماند. هنگامی که مشتری منتظر توسط صندوقدار رسیدگی می شود، رسیدگی به آن مشتری هنوز فقط 10 میلی ثانیه طول می کشد، اما زمان پردازش کلی شاید 15 میلی ثانیه یا در بدترین حالت (دو مشتری همزمان وارد می شوند) حتی 20 میلی ثانیه بود.
البته یک دیسک ممکن است ورودی/خروجی های با تاخیر متوسط 10 میلی ثانیه را مدیریت کند. تأخیر واقعی همانطور که توسط برنامه درک می شود ممکن است بیشتر باشد زیرا برخی از I/O ها باید در صف منتظر بمانند.
این مثال همچنین نشان میدهد که انتظار در صف، تأخیر یک I/O خاص را افزایش میدهد. بنابراین اگر صف خواندن ورودی/خروجی را افزایش دهید، متوجه خواهید شد که میانگین تأخیر افزایش خواهد یافت. صف های طولانی تر به معنای تأخیر بیشتر و همچنین IOPS بیشتر خواهد بود!!!
چطور ممکنه؟ چگونه یک هارد دیسک می تواند ناگهان IOP های تصادفی بیشتری را به قیمت latency انجام دهد؟ ترفند در این است که سیستم ذخیره سازی می تواند هوشمند باشد و به صف نگاه کند و سپس ورودی/خروجی ها را به گونه ای سفارش دهد که الگوی دسترسی واقعی به دیسک سریالی تر شود. بنابراین یک دیسک می تواند IOPS/s بیشتری را به قیمت افزایش متوسط latency ارائه دهد. بسته به تأخیر به دست آمده و الزامات عملکرد لایه کاربردی، این می تواند قابل قبول باشد یا خیر.
اندازه گیری میزان iops:
روش های متعددی برای محاسبه میزان iops در سیستم عامل ویندوز وجود دارد. از جمله این روش ها می توان به:
- Resource Monitory
- Performance Monitor
- IOmeter
شایان به ذکر است که اغلب iops توسط ابزار IOmeter اندازه گیری می شود. این ابزار مقدار حداکثر را در شرایط مختلف خواندن/نوشتن تعیین می کند. اندازه گیری IOPS و latency به ادمین شبکه کمک می کند تا میزان بارگیری شبکه بدون تاثیر منفی را پیش بینی کند. Intel از سال 2006 کار روی Iometer را متوقف کرد به همین دلیل بسیاری ممکن است این ابزار را منسوخ تلقی کنند.
محاسبه بیشترین تعداد خواندن و نوشتن بدون Iometer امکان پذیر است اما نتایج بنابر میزان لود بار متفاوت خواهد بود. به طور کلی سه نوع عملکرد workload (میزان حجم کار) وجود دارد: رندوم، ترتیبی و ترکیبی از هر دو. RAID نیز می تواند بر اندازه گیری تاثیر بگذارد چرا که نتیجه هر فرآیند نوشتنی، نوشته شدن روی چندین استوریچ خواهد بود.
HHDها از معادله ی استانداردی برای تعیین IOPS استفاده می کنند اما عملکرد SSD ها متفاوت است. در مورد HHD ها، اندازه گیری به زمان جستجو بستگی دارد اما در مورد SSD ها عمدتا به کنترلر داخلی دستگاه بستگی دارد. عملکرد SSD در طول زمان تغییر می کند و در مراحل اولیه اوج می گیرد. اگرچه حتی زمانی که به حالت پایدار می رسد، همچنان از نظر IOPS نسبت به HDD بهتر عمل می کند. HHD ها نیز درگیر غلبه بر مسائلی چون تاخیر و زمان خواندن/ نوشتن طولانی هستند.
متداولترین تستها برای اندازهگیری عملکرد به شرح زیر است:
| اندازه | توضیحات |
|---|---|
| Total IOPS | عداد کل عملیاتهای ورودی-خروجی در یک ثانیه |
| Random Read IOPS | تعداد میانگین عملیاتهای خواندن ورودی-خروجی تصادفی در یک ثانیه |
| Random Write IOPS | تعداد میانگین عملیاتهای نوشتن ورودی-خروجی تصادفی در یک ثانیه |
| Sequential Read IOPS | تعداد میانگین عملیاتهای خواندن ورودی-خروجی ترتیبی در یک ثانیه |
| Sequential Write IOPS | تعداد میانگین عملیاتهای نوشتن ورودی-خروجی ترتیبی در یک ثانیه |
میانگین سرعت iops در HDD ها و SSD ها:
میزان iops هارد دیسک ها به زمان جستجو بستگی دارد ولی میزان iops در SSD ها عمدتا به کنترلر داخلی دستگاه بستگی دارد. لازم به ذکر است که عملکرد SSD در طول زمان تغییر می کند و در مراحل اولیه بیشتر است به طوری که حتی زمانی که به حالت پایدار می رسد همچنان از نظر آی او پی اس نسبت به هارد دیسک ها بهتر عمل می کند زیرا HDD ها اغلب درگیر مسائلی از قبیل تاخیر و زمان خواندن و نوشتن می باشند.
اعداد مربوط به آی او پی اس در هر دو وسایل ذخیره سازی SSD و HDD معمولا بیشترین سرعت را نمایش می دهد و تعداد آی او پی اس ترتیبی معمولا حداکثر پهنای باند پایدار را نشان می دهد که سیستم ذخیره سازی قادر به انجام آن می باشد. اغلب آی او پی اس ترتیبی به عنوان یک مگابایت بر ثانیه به شرح زیر گزارش می شود:
IOPS*TransferSizeInBytes = BytesPerSec
که اصولا نتیجه عملیات فوق به مگابایت بر ثانیه تبدیل می شود.
با افزایش تعداد IO ها، برخی از HDD ها در عملکرد بهبود می یابند. این معمولا نتیجه منطق کنترلر پیشرفته تری درایو است که فرماندهی را مرتب می کند که مرتب سازی مجدد آن را معمولاً یا Tagged Command Queaching (TCQ) یا Native Command Queaching (NCQ) می نامند. اکثر درایوهای SATA قادر به انجام این کار نیستند و یا اجرای آنها به حدی ضعیف است که هیچ فایده ای از عملکرد را نمی توان مشاهده کرد.
در حالی که HDD های سنتی تقریباً دارای همان آی او پی اس برای عملیات خواندن و نوشتن هستند، اکثر SSD های مبتنی بر فلش NAND نوشتن آن بسیار کندتر از خواندن به دلیل عدم امکان بازنویسی مستقیم به طور مکتوب در مکان قبلی است که مجبور می شود روشی به نام garbage collection را انجام دهد.
IOPS ∗ TransferSizeInBytes = BytesPerSec {\displaystyle {\text{IOPS}}*{\text{TransferSizeInBytes}}={\text{BytesPerSec}}}
بیشتر بخوانید: هارد سرور چیست و هر آنچه در رابطه با آن باید بدانید؛ ویدئو
IOPS در SATA و SAS:
این دو نوع از هارد ها در دنیای امروز بیشترین کاربرد را دارند. هر دو این هارد ها برای انجام عملیات خود در حال چرخاندن یک دیسک هستند. فقط یک نوع از هارد دیسک SATA در بازار موجود می باشد این در حالی است که از هارد دیسک SAS دو نوع در بازار موجود است. مبنای این دسته بندی مقدار IOPS آن هاست. در ادامه به این دسته بندی ها خواهیم پرداخت.
ـ SATA:
میانگین سرعت SATA 7.2K rpm است و می تواند حداکثر 100 عملیات ورودی و خروجی را در ثانیه انجام دهد. این هارد با سرعت 10K rpm می تواند حداکثر 150 عملیات را در ثانیه انجام دهد.
ـ SAS:
این نوع از هارد دیسک با دو سرعت 10k و 15k در بازار موجود است. SAS 10k می تواند 140 عملیات را در ثانیه انجام دهد و SAS 15k می تواند 210 عملیات را در ثانیه انجام دهد. SAS سریعتر از SATA است و در معاملات بانکی و تجارت الکترونیکی استفاده می شود.
ـ SSD:
در این نوع از هارد ها مقدار IOPS بسته به نیاز سرعت خواندن و نوشتن بسیار زیاد است. مقدار IOPS در هارد های SSD بین 4600 تا 7500 است ولی این مقدار نیز قابل افزایش است. امروزه یک هارد SSD مدرن می تواند 100000 عملیات را در یک ثانیه انجام دهد.
بیشتربخوانید: تفاوت میان هارد درایوهای SAS و SATA
اهمیت iops:
جالب است بدانید که میزان اهمیت IOPS به عنوان یک مقیاس اندازه گیری همچنان سوال برانگیز است. با توجه به میزان لود بار اعداد مربوط به واحد بیشترین تعداد خواندن و نوشتن بسیار متفاوت است در نتیجه نمی توان IPOS را به تنهایی پارامتر موثری برای تصمیم گیری در نظر گرفت.
از آنجایی که اعداد بیشترین تعداد خواندن و نوشتن تحت تاثیر اندازه بلوک داده ها و حجم کار است، بعید است که فروشندگان در هنگام اندازه گیری آن از متغیرهای استاندارد استفاده کنند. حتی در صورت استفاده از سیستم استانداری با در نظر گرفتن اندازه بلوک و عملیات خواندن و نوشتن، عدد به دست آمده معنایی به جز میزان کارایی در یک حجم کار مشخص ندارد.
نتیجه گیری:
در نهایت میتوان گفت که IOPS یکی از شاخصهای مهم در سنجش عملکرد سیستمهای ذخیرهسازی است، اما بهتنهایی تصویر کاملی ارائه نمیدهد. ارزش واقعی IOPS زمانی مشخص میشود که با معیارهایی مانند Latency (زمان تأخیر) و Throughput (توان عملیاتی) ترکیب شود و در چارچوب نوع بار کاری و اندازه بلوک دادهها بررسی گردد.
درک درست IOPS و ارتباط آن با تاخیر و اندازه درخواستها به مدیران سیستم کمک میکند تا عملکرد واقعی ذخیرهسازی را پیشبینی کرده و تصمیمات بهینهای برای بهبود کارایی اتخاذ کنند. هرچند SSDها بهواسطه کنترلرهای پیشرفته و سرعت بالا، IOPS بسیار بالاتری نسبت به HDDها ارائه میدهند، اما حتی بالاترین IOPS نیز بدون در نظر گرفتن تاخیر و حجم کار، معیار دقیقی برای سنجش عملکرد نیست.
بنابراین، ارزیابی درست یک سیستم ذخیرهسازی نیازمند نگاه همزمان به IOPS، Latency، Throughput و نوع workload است. با این رویکرد، میتوان انتخاب تجهیزات مناسب و بهینهسازی زیرساخت را با اطمینان بیشتری انجام داد و تجربه کاربری سریعتر و پایدارتر فراهم آورد.
همچنین، توجه به نوع دیسک (SATA، SAS، SSD) و ویژگیهای آن در کنار تستهای استاندارد مانند SPC-1 یا IOmeter میتواند اعداد واقعیتری از عملکرد سیستم ارائه دهد و در تصمیمگیری برای خرید یا ارتقای تجهیزات ذخیرهسازی بسیار مفید باشد.
| شما می توانید انواع هارد سرور مورد نیاز خود را از فروشگاه اینترنتی مسترشبکه بزرگترین فروشگاه اینترنتی تجهیزات شبکه در ایران با بهترین قیمت و کیفیت، همراه با گارانتی معتبر خریداری نمایید. |



