آی‌آپس (IOPS) چیست؟

آی‌آپس (IOPS) در واقع واحد سنجش ورودی/خروجی وسایل ذخیره‌سازی مثل هارد دیسک (HDD) ، درایو‌های حالت جامد (SSD) و SAN است. همانند بنچمارک‌ های متفاوت، عدد مربوط به IOPS توسط کارخانه‌های تولید وسایل ذخیره‌ساز HPE در هنگام عرضه محصول ارائه می‌شود که الزاما همان عملکرد در شرایط دنیای واقعی نیز در دسترس نخواهد بود.

برای درک بهتر از مشخصات هر وسیله ذخیره‌سازی بهتر است که حداقل سه ویژگی مختلف آن مد نظر گرفته شود.

IOPS، زمان پاسخ‌دهی و حجم‌کاری بدون در نظر گرفتن زمان پاسخ‌دهی و حجم‌کاری است. در واقع IOPS اهمیت خاصی ندارد. در حالت اختصاصی می‌توان IOPS را به سرعت در دقیقه یک موتور در ماشین تشبیه کرد. یک موتور قدرت گردش 10 هزار دور در دقیقه را دارد.

انجام این مقدار گردش در حالی که موتور دنده در حالت خلاص قرار گرفته اهمیت خاصی ندارد. گرچه موتوری بتواند اسب بخار و البته گشتاور خاصی را با استفاده از ده هزار دور در دقیقه به کار گیرد می‌توان به قدرت آن موتور پی برد.

 

IOPS مخفف چیست؟

IOPS مخفف Input/Output Operations Per Second میباشد. به زبان ساده یک واحد اندازه گیری حداکثر میزان خواندن و نوشتن بر روی تجهیزات ذخیره سازی اطلاعات است.

در سال 1999 سو استفاده از IOPS در بین شرکت‌های تولید کننده سخت‌افزار اوج گرفته بود که در نهایت باعث به وجود آمدن مشکلات زیادی شد. برای حل این مشکل شرکت اینتل بنچمارک IOmeter را برای اندازه‌گیری ویژگی‌های مختلف وسایل ذخیره‌سازی منتشر کرد.

سازمان Storage Performance Council نیز توانست بنچمارکی به نام SPC-1 Benchmark Suite را منتشر کند که یکی از دقیق‌ترین بنچمارک‌های موجود است.

SPC-1 از تولیدکنندگان درخواست می‌کند تا تمام مشخصات مربوط به دستگاه‌های ذخیره‌سازی خود را اعلام کنند. استاندارد‌هایی که در محیط‌کاری استفاده می‌شوند. در این میان باید میزان IOPS و زمان پاسخ‌دهی به دقت مشخص شود تا از تقلب و ارائه اعداد غیر واقعی جلوگیری شود. در نتیجه تست و بنچمارک SPC-1 نتیجه‌ای واقع‌گرا از IOPS، زمان پاسخ‌دهی، پایداری داده و عملکرد در وسیله ذخیره‌سازی است.

همچنین این تست با توجه به دریافت قیمت‌ قطعات استفاده شده در ساخت وسیله ذخیره‌سازی انجام می‌شود و در نهایت ارزش خرید نسبت به هر IOPS نیز ارائه می‌شود. مقدار دقیق  IOPS در هر سیستم بسته به تنظیمات مختلف می‌تواند بسیار متفاوت باشد. شاید مهم‌ترین نوع تست IOPS دسترسی به داده‌ها به صورت ترتیبی و یا تصادفی است.

گرچه تست‌های دیگری نیز وجود دارند. از عوامل محیطی موثر روی نتیجه تست SPC-1 می‌توان به کانفیگ سیستم ، سیستم عامل و … اشاره کرد.

یکی از ویژگی‌های عملکرد اصلی مورد آزمایش قرار می‌گیرد، عملیات دسترسی به صورت ترتیبی و تصادفی است که قبلا نیز به آن اشاره شده است. دسترسی ترتیبی در مکان‌های مختلف وسیله ذخیره‌سازی به صورت پیوسته انجام می‌شود.

این دسترسی معمولا برای انتقال فایل‌های بزرگ مثل ۱۲۸ کیلوبایت وجود دارد. عملیات دسترسی تصادفی به صورت غیر پیوسته انجام می‌شود و این دسترسی معمولا برای انتقال فایل‌ها با حجم پایین‌ تر مثل ۴ کیلوبایت استفاده می‌شود. متداول‌ترین تست‌ها برای اندازه‌گیری عملکرد به شرح زیر است:

 

اندازه توضیحات
Total IOPS عداد کل عملیات‌های ورودی-خروجی در یک ثانیه
Random Read IOPS تعداد میانگین عملیات‌های خواندن ورودی-خروجی تصادفی در یک ثانیه
Random Write IOPS تعداد میانگین عملیات‌های نوشتن ورودی-خروجی تصادفی در یک ثانیه
Sequential Read IOPS تعداد میانگین عملیات‌های خواندن ورودی-خروجی ترتیبی در یک ثانیه
Sequential Write IOPS تعداد میانگین عملیات‌های نوشتن ورودی-خروجی ترتیبی در یک ثانیه

 

برای هارد دیسک‌ها و دیگر وسایل ذخیره‌سازی اطلاعات به صورت الکترومغناطیسی، عدد مربوط به IOPS بیشتر به زمان جستجوی تصادفی بستگی دارد (Seek Time). در سمت مقابل و برای درایو‌های حالت جامد یا SSD عدد مربوط به IOPS بیشتر به کنترلر داخلی دستگاه و البته سرعت رابط حافظه بستگی دارد.

در هر دو مدل از وسایل ذخیره‌سازی اعداد مربوط به IOPS ترتیبی معمولا بیشترین سرعت که وسیله ذخیره‌سازی مورد نظر می‌تواند از آن پشتیبانی کند را نمایش می‌دهد. معمولا این عدد به مگابایت ذکر می‌شود. در جدول زیر میانگین سرعت IOPS هارد دیسک و درایو‌های حالت امد را مشاهده می‌کنید:

 

 

دستگاه نوع IOPS رابط
5,400 rpm
SATA drives
HDD ~15-50 IOPS SATA 3 Gbit/s
7,200 rpm
SATA drives
HDD ~75-100 IOPS SATA 3 Gbit/s
10,000 rpm
SATA drives
HDD ~125-150 IOPS SATA 3 Gbit/s
10,000 rpm
SAS drives
HDD ~140 IOPS SAS
15,000 rpm
SAS drives
HDD ~175-210 IOPS SAS

 

دستگاه نوع IOPS رابط
Samsung SM863 960 GB SSD 79893 Read IOPS

30496 Write IOPS

SATA
Samsung PM863 960 GB SSD 79825 Read IOPS

22639 Write IOPS

SATA
Toshiba HK3R2 960GB SSD 75899 Read IOPS

19055 Write IOPS

SATA
Samsung 845C Evo 480 GB SSD 74253 Read IOPS

15507 Write IOPS

SATA
Micon M510DC 480 GB SSD 73206 Read IOPS

23917 Write IOPS

SATA
Micron M500DC 480 GB SSD 72820 Read IOPS

37041 Write IOPS

SATA
Intel S3500 480 GB SSD 65362 Read IOPS

12534 Write IOPS

SATA
SanDisk Cloudspeed Eco
960 GB
SSD 59874 Read IOPS

16991 Write IOPS

SATA

 

اهمیت اندازه گیری IOPS

ممکن است این سوال برای کاربران به‌وجود بیاید که اندازه‌گیری IOPS چقدر مهم است؟ از آن‌جایی که عمدتاً از این روش جهت اندازه‌گیری هارد درایوهای SATA، SAS، SSD و SAN Storage استفاده می‎‌شود، دانستن میزان IOPS یک دستگاه ذخیره‌ساز در قیمت خرید تجهیزات ذخیره‌سازی تأثیرگذار است.

عمدتاً هرچه میزان ای اُپس ذخیره‌ساز HPE بیشتر باشد، به‌همان نسبت نیاز به تجهیزات پیشرفته‌تر و هزینه‌ی بیشتر دارد.

همچنین برای مدیران یک شبکه و افرادی که در زمینه فروش سرور hpe و ذخیره‌ساز فعالیت دارند، دانستن عدد IOPS و میزان تأخیر در شبکه باعث می‌شود تا میزان عملکرد شبکه و کارآیی سرور را در آینده تخمین بزنند. متأسفانه بسیاری از شرکت‌ و سازمان‌ها بدون درک نیازهای خود و نوع فعالیت اقدام به خرید ذخیره‌ساز می‌کنند، بدون این‌که IOPS موردنیاز خود را در نظر بگیرند.

فاکتور دیگری که اهمیت اندازه‌گیری IOPS را مشخص می‌کند، دریافت رتبه‌بندی از سایت گوگل است. طبق اعلام این کمپانی، هرچقدر یک وب‌سایت سرعت بالاتری در بارگذاری داشته باشد، رتبه بهتری دریافت می‌کند. در نتیجه IOPS مشخص می‌کند که یک هارد دیسک تا چه اندازه می‌تواند سریع و سخت کار کند. که این نکته‌ی بسیار مهمی برای مدیران یک وب‌سایت است.

توجه داشته باشید که در هنگام خرید تجهیزات ذخیره ساز، اطلاع داشتن از مقدار IOPS، زمان پاسخ‌دهی و حجم‌کاری از اهمیت بالایی برخورد است.
روش محاسبه IOPS

هر دیسک در ذخیره‌ ساز سیستم دارای حداکثر مقدار IOPS علمی است که براساس یک فرمول مشخص می‌شود. عملکرد دیسک و IOPS به سه عامل اصلی بستگی دارند:

سرعت چرخشی (Rotational Speed): اندازه گیری دور در دقیقه یا سرعت چرخشی یکی از عواملی است که در عملکرد دیسک و IOPS تأثیر دارد. معمولاً ذخیره‌ساز ها دارای سرعت چرخشی 7200، 10000 یا 15000 دور در دقیقه هستند که دو مورد آخر رایج‌ تر است. امکان سرعت چرخش دیسک از این مقادیر بالاتر وجود ندارد و معمولاً مقادیر بالاتر در محاسبه IOPS استفاده نمی‌شود.

میانگین تأخیر (Average latency): مدت زمانی که طول می‌کشد تا قستمی از دیسک در طی عملیات خواندن/نوشتن در دسترس قرار گیرد.

میانگین زمان جستجو (Average seek time): زمانی‌که برای حرکت یا جست‌جو از یک خط به خط دیگر دیسک در موقعیت خواندن یا نوشتن در نظر گرفته می‌شود. این زمان معمولاً با میلی‌ثانیه مشخص می‌شود و مضربی از ۱۰ میلی‌ثانیه است.

برای رسیدن به این عدد باید میانگین رسیدن موقعیت جست‌وجو خواندن به خواندن یا حرکت نوشتن هارد برای رسیدن به موقعیت نوشتن را در نظر گرفت.

برای محاسبه محدوده IOPS از فرمول زیر استفاده کنید:

عد 1 را بر مجموع میانگین زمان تأخیر(latency) برحسب میلی ثانیه و میانگین زمان جست‌وجو (seek time) برحسب میلی‌ثانیه تقسیم کنید.

(1÷ average latency in ms + average seek time in ms)

به‌عنوان مثال:

هارد درایو SATA، 2.5 اینچی مدل Western Digital VelociRaptor
سرعت چرخشی: ۱۰۰۰۰ دور در دقیقه
میانگین latency: تاخیر 3 میلی‌ثانیه (003 seconds)
میانگین seek time: زمان خواندن 4.2R زمان نوشتن 4.7W= عدد 4.45 میلی‌ثانیه (0.0045 seconds)
IOPS محاسبه شده برای این دیسک: 1 ÷ (003+0.0045) = در حدود 133 IOPS

بنابراین این مدل هارد درایو 133 IOPS را پشتیبانی می‌کند. این را با جدول زیر مقایسه کنید، خواهید دید که مقدار IOPS 133 توسط درایوهای 10K RPMمشخص شده است.

اندازه گیری IOPS در ویندوز و معرفی ابزار آن

برای اندازه‌گیری IOPS در محیط ویندوز چندین برنامه وجود دارد که عبارتند از:

  • نرم‌افزار Performance Monitor: این نرم‌افزاری است که در خود ویندوز وجود دارد و آخرین ورژن آن در windows 10 ارائه شده است. برای استفاده از این ابزار کافی است که Run را باز کرده و دستور Performance Monitor را تایپ کنید. یا می‌توانید از طریق کنترل پنل، در گزینه‌ی System and Security کلیک کنید و با باز شدن صفحه Administrative Tools، Performance Monitor را می‌توانید انتخاب کنید.
  • نرم‌افزار CrystalDiskMark: برای اندازه‌گیری عملکرد درایو در خواندن و نوشتن می‌توانید از نرم‌افزار CrystalDiskMark استفاده کنید.
  • نرم‌افزار PowerShell: این نرم‌افزاری نیز تحت ویندوز است با این تفاوت که عملکرد آن به‌صورت خط فرمان و شبیه Command Prompt است و در محیط DOS انجام می‌گیرد. این برنامه که از Command Prompt قدرتمندتر توسط مایکروسافت در هر سری از سیستم عامل‌های این کمپانی قرار دارد.kvم
  • نرم افزار Horizon View: این نرم‌افزار نیز تحت ویندوز است که مانند یک ماشین مجازی عمل می‌کند. عمدتاً کارآیی آن براساس بلاک management است که برای اندازه‌گیری IOPS باید تنظیمات ماند جدول زیر باشد:
  • Windows server 2088 R2 64-bit Supported operating systems
    Windows server 2012 R2 64-bit
    10 GB Memory
    4vVPU Virtual CPUs
    70GB Hard disk space required

    توجه داشته باشید که برای استفاده از نرم‌افزار Horizon view باید یک تنظیمات مشخص در نظر بگیرید که حداکثر تنظیمات در جدول زیر مشخص شده است:

    Maximum Item
     ۲,۰۰۰ Maximum number of connections for single connection server (PCoIP or RDS)
    ۱۰,۰۰۰ Maximum number of connection for 7 connection servers (PCoIP or RDS)
    ۲,۰۰۰ Blast Secure Gateway connections to remote desktops using HTML Access
    ۵۰.۰۰۰ Maximum number of desktops in a cloud pod
    ۲۵ Maximum Number of pods in cloud pod architecture
    ۵ Maximum Number of sites in cloud pod architecture
    ۱۲۵ Maximum view connection servers in a cloud pod architecture
    ۱ Clusters per desktop pool
    ۳۲ Hosts per cluster
    ۴ Maximum monitors with PCoIP
    ۲ Maximum Monitors with 3D Rendering enabled
    ۱۶ Maximum Monitors with RDP 7
    ۳ Maximum 4K monitors with

     

  • نرم افزار VMware ESXi: نرم افزار Vmware ESXi که با نام ESX نیز شناخته می‌شود توسط کمپانی VMwareو به‌منظور مجازی‌سازی سخت‌ افزارهای سرور تولید شده است. این نرم‌افزار که آخرین وژن از مجموعه VMware Hypervisor است در آخرین آپدیت خود عملکردی مانند سیستم عامل دارد و همچنین دارای هسته مرکزی نیز است. به‌دلیل قابلیت بسیار ویژه این نرم‌افزار در شبیه سازی محیط‌های سخت‌افزاری از این برنامه عمدتاً در سازمان‌های بزرگ و دیتاسنترها به‌منظور محاسبه و اندازه گیری IOPS استوریج (Storage) استفاده می‌شود.