نحوه محاسبه IOPS چیست؟ معرفی ابزارهای پیشرفته در اندازه گیری IOPS
IOPS چیست و چه اهمیتی در انتخاب تجهیزات ذخیرهسازی دارد؟ یکی از معیارهای اصلی برای انتخاب تجهیزات ذخیرهسازی اطلاعات مانند NAS یا SAN، IOPS میباشد. IOPS مخفف (Input Output Operations Per Second) است این کلمه مشخص کننده حداکثر مقدار عملیات خواندن و نوشتن دستگاه در واحد زمان است. با محاسبه و تعیین IOPS ذخیرهساز مناسب سرور (فیزیکی یا مجازی)، میتوان هارد یا San Storage مورد نیاز را تهیه کرد. به طور کلی میتوان گفت هر دستگاه یا هاردی که مقدار IOPS آن بیشتر باشد، میتواند عملیات بیشتری را در یک ثانیه انجام دهد. برای آشنایی بیشتر با اهمیت، نحوه اندازهگیری و محاسبه IOPS تا آخر این مقاله با ما همراه باشید:
انتخاب ذخیره سازی مناسب
بنیادیترین تجهیزات مورد نیاز هر مجموعه برای راه اندازی زیرساخت شبکه و دیتاسنتر، تجهیزات ذخیره سازی میباشد. با تحلیل ویژگیهای زیر ذخیره سازهای مناسب هر پروژه انتخاب می شود:
- گسترش پذیری
- امنیت داده
- توان عملیاتی
- دسترسی پذیری
- پشتیبانی از راهکار های Disaster Recovery
با محاسبه و بررسی حجم و فضای مورد نیاز و با در نظر گرفتن ویژگیهای بالا، مشخصههای ذخیره سازها که شامل موارد ذیل است، بررسی و مقایسه شده تا مناسبترین دستگاه انتخاب شود:
- تعداد و نوع دیسک قابل پشتیبانی
- میزان فضای Cache
- تعداد پورت های Front-End و پروتکل های قابل پشتیبانی
- پردازشگر
- Active-Active
بررسی IOPS، تاخیر (latency) و توان عملیاتی (throughput)
برای اندازهگیری دقیق عملکرد هارد، مقدار IOPS به تنهایی معیار مناسبی نیست. معیار مناسب و دقیق برای انجام این کار تاخیر (latency) و توان عملیاتی (throughput) است. بنابراین وجود این سه شاخص در کنارهم تاثیر بسزایی در سنجش و اندازهگیری عملکرد و کارایی سیستمهای ذخیره ساز دارد.
توان عملیاتی (throughput): معیاری است که نشان دهنده تعداد واحدهای اطلاعاتی است که یک سیستم میتواند در یک زمان معین پردازش کند. در سیستمهای ذخیرهسازی، توان عملیاتی معمولا به مقدار دادهای اطلاق میشود که میتواند دریافت و سپس روی رسانه ذخیرهسازی بنویسد یا از رسانه بخواند و به سیستم درخواستکننده بازگرداند. (معمولاً بر حسب بایت در ثانیه (Bps) اندازهگیری میشود.) ذخیره سازهای HDD و SSD سرعت پایینتری نسبت به سایر اجزای مهم کامپیوتر مثل CPU، کارت گرافیک و حافظه DRAM، را دارند.
تاخیر (latency): این پارامتر به فاصله زمانی بین ارسال یک درخواست و دریافت یک پاسخ گفته میشود و اهمیت بیشتری نسبت به شاخص Throughput دارد. در واقع مدت زمانی است که طول میکشد تا دستگاه ذخیره ساز، کار I/O را شروع کند. هرچه زمان تاخیر برای شروع انتقال اطلاعات در سیستمهای ذخیره ساز کمتر باشد، بهتر است. این نکته بسیار مهمی در زمینه کارایی دستگاه های ذخیره ساز است.
اهمیت اندازه گیری IOPS
یکی از مهمترین مواردی که برای طراحی زیرساخت شبکه و دیتاسنتر در نظر گرفته میشود، میزان تاخیر در عملکرد ناشی از سرعت ذخیره و بازیابی اطلاعات است. متخصصین این امر با در نظر گرفتن iops دقیق مورد نیاز، میتوانند از اتلاف هزینه (با توجه به بالا بودن تاثیر iops در هزینه تجهیزات) یا تاخیر و کندی شبکه به علت کم بودن iops جلوگیری کنند.
به عبارت دیگر با توجه به اهمیت iops در قیمت محصول، انتخاب مقادیر نامناسب باعث تحمیل هزینههای گزاف به پروژه خواهد شد. از طرفی با توجه به این که این پارامتر تاثیر مستقیمی بر عملکرد کل سامانههای مستقر بر روی شبکه دارد، انتخاب محصول با iops پایین تاثیر نامطلوب بالایی روی عملکرد داشته و باعث از دست دادن کارایی خواهد شد.
روش محاسبه IOPS
حداکثر مقدار IOPS هر دیسک در رسانههای ذخیرهسازی دارای مقدار علمی است که براساس یک فرمول تعیین میشود. سه عامل مهم که در عملکرد دیسک و IOPS تاثیر بسزایی دارد:
سرعت چرخشی (Rotational Speed)
یکی از عوامل مهم که در عملکرد دیسک و IOPS تاثیر دارد، سرعت چرخشی یا اندازهگیری دور در دقیقه است. سرعت چرخشی ذخیره سازها معمولا 7200، 10000 یا 15000 دور در دقیقه هستند که دو مورد آخر رایجتر است.
میانگین تاخیر (Average latency)
مدت زمانی که طول میکشد تا قستمی از دیسک در طی عملیات خواندن/نوشتن در دسترس قرار گیرد.
میانگین زمان جستجو (Average seek time)
زمانیکه برای حرکت یا جستجو از یک خط به خط دیگر دیسک در موقعیت خواندن یا نوشتن در نظر گرفته میشود. این زمان معمولاً با میلیثانیه مشخص میشود و مضربی از 10 میلیثانیه است. برای رسیدن به این عدد باید میانگین رسیدن موقعیت جستوجو خواندن به خواندن یا حرکت نوشتن هارد برای رسیدن به موقعیت نوشتن را در نظر گرفت.
برای محاسبه برای محاسبه IOPS طبق فرمول زیر عمل می کنیم:
IOPS read = Disk lops * disk count
IOPS Write = IOPS read / Raid Penalty
مثالی برای درک بهتر
فرض میکنیم میخواهیم IOPS هشت دیسک GB 10k 600 با RAID 10 را محاسبه کنیم طبق فرمول داریم:
IOPS read = Disk lops * disk count ===> 125 * 8 = 1000 IOPS
IOPS Write = IOPS read / Raid Penalty ===> 1000 / 2 = 500 IOPS
برای محاسبه محدوده IOPS از فرمول زیر استفاده کنید:
عدد 1 را بر مجموع میانگین زمان تأخیر (latency) برحسب میلیثانیه و میانگین زمان جستوجو (seek time) برحسب میلیثانیه تقسیم کنید.
(average latency in S + average seek time in S)/1
بهعنوان مثال:
- هارد درایو SATA، 2.5 اینچی مدل Western Digital
- سرعت چرخشی: 10000 دور در دقیقه
- میانگین :latency تاخیر 3 میلیثانیه (0.003 seconds)
- میانگین :seek time زمان خواندن R=4.2، زمان نوشتن W=4.7، عدد 4.45 میلیثانیه (0.0045 seconds)
- IOPS محاسبه شده برای این دیسک: در حدود 133 IOPS
1/(0.003+0.00445)=134
بنابراین این مدل هارد درایو IOPS=134 را پشتیبانی میکند. این را با جدول زیر مقایسه کنید، خواهید دید که مقدار IOPS=133 توسط درایوهای 10K RPM مشخص شده است.
هر چقدر میزان IOPS یک سیستم بالاتر باشد به تجهیزات ذخیرهسازی پیشرفتهتر و گران قیمتتری نیاز است.
اندازهگیری IOPS در ویندوز و معرفی ابزار آن
یک مدیر شبکه با استفاده از پارامترهای IOPS و تاخیر در شبکه میتواند کارایی سیستم خود را در زمان حال و آینده تخمین بزند و همچنین میتواند تعیین کند که چه مقدار load ترافیکی در شبکه وجود خواهد داشت. IOPS از روشهای متنوعی قابل محاسبه است از جمله در سیستم عامل ویندوز. شما میتوانید در محیط ویندوز خود از چندین ابزار و برنامه که در ادامه توضیح داده شده است، استفاده کنید.
نرم افزار Performance Monitor
با کمک این نرمافزار که در خود ویندوز و در آخرین ورژن ویندوز 10 ارائه شده است، میتوانید زمان تأخیر و زمان Seek Time را اضافه کرده و مقدار IOPS را بهدست بیاورید. برای اجرای این برنامه کافیست مراحل زیر را طی کنید.
- RUN را اجرا کنید.
- دستور Performance Monitor را تایپ کنید.
- یا میتوانید وارد کنترل پنل شده و در گزینهی System and Security کلیک کنید.
- با باز شدن صفحه Administrative Tools، Performance Monitor را انتخاب کنید.
- در اینجا زمان تأخیر و زمان Seek Time را اضافه کنید و براساس نمودار ارائه شده مقدار آی اُپس را بهدست بیاورید.
نرم افزار CrystalDiskMark
این نرمافزار برای اندازهگیری عملکرد درایو در خواندن و نوشتن مورد استفاده قرار میگیرد.
- ابتدا تمامی برنامه ها ببندید.
- نرمافزار را از وبسایت مایکروسافت دانلود کنید.
- فایل دانلود شده را نصب کنید.
- پس از اجرای برنامه، برای انتخاب تعداد عملکرد، از اولین منو کشویی در سمت چپ استفاده کنید. (اگر پیشفرض عدد 5 است برای بهدست آوردن نتایج دقیقتر آن را به 3 تغییر دهید.)
- میتوانید برای تست عملکرد درایو از دومین منوی کشویی اندازه فایل را انتخاب کنید. (بهتر است روی حالت پیشفرض باشد و آن را تغییر ندهید.)
- سومین گزینه در منوی کشویی سمت راست، انتخاب نوع درایو براساس HDD یا SDD است که میخواهید IOPS آن را اندازهگیری کند
- سپس گزینه ALL را بزنید.
با انتخاب گزینه ALL، این نرمافزار تمام تستهای موجود از جمله خواندن/نوشتن متوالی، تصادفی و… را بررسی میکند.
نرم افزار PowerShell
این نرمافزار تحت ویندوز است و عملکردی شبیه به Command Prompt دارد اما برنامه PowerShell از Command Prompt قدرتمندتر است و در محیط DOS انجام میشود.
- برای اجرای برنامه در استارت ویندوز گزینه PowerShell را تایپ کنید.
- صبر کنید تا دستورات اجرا شوند.
- فرمان winsat disk را برای اندازه گیری IOPS تایپ کنید و اینتر را بزنید.
نکته مهم برای اطلاع از سایر دستورات PowerShell باید به سایت مایکروسافت مراجعه کنید.
نرم افزار Horizon View
این نرمافزار نیز تحت ویندوز است که مانند یک ماشین مجازی عمل میکند. عمدتاً کارآیی آن براساس بلاک management است که برای اندازهگیری IOPS باید تنظیمات ماند جدول زیر باشد:
توجه به این نکته که برای استفاده از نرمافزار Horizon view باید یک حداکثر تنظیمات را در نظر بگیرید، که در جدول زیر مشخص شده است.
نرم افزار VMware ESXi
نرمافزار Vmware ESXi که توسط کمپانی Vmware و با نام ESXi شناخته شده است. این نرمافزار به منظور مجازی سازی سختافزارهای سرور تولید شده است. VMware ESXI آخرین ورژن از مجموعه VMware Hypervisor است که در آخرین سری از آپدیت خود دارای هسته مرکزی است و همچنین عملکردی شبیه به سیستمعامل دارد. این برنامه به دلیل قابلیت ویژه در شبیهسازی محیطهای سختافزاری دارد. از این نرمافزار به منظور انجام محاسبات و اندازهگیری IOPS استوریج (Storage) استفاده میشود که عمدتاً در سازمانهای بزرگ و دیتاسنترها مورد استفاده قرار میگیرد.
ابزارهای پیشرفته در اندازه گیری یا محاسبه IOPS
در سال 1999 سو استفاده از IOPS در بین شرکتهای تولید کننده سختافزار اوج گرفته بود که در نهایت باعث به وجود آمدن مشکلاتی زیادی شد. برای حل این مشکل شرکت اینتل بنچمارک IOmeter را برای اندازهگیری ویژگیهای مختلف وسایل ذخیرهسازی منتشر کرد. سازمان Storage Performance Council نیز توانست بنچمارکی به نام SPC-1 Benchmark Suite را منتشر کند که یکی از دقیقترین بنچمارکهای موجود است.
1- IOmeter
یکی از مهمترین ابزار برای اندازهگیری سرعت I/O در Storage نرم افزار IOmeter میباشد. به منظور اجرا و گرفتن تست دقیق باید تنظیمات مورد نظر بر روی این نرمافزار به درستی انجام شود تا نتایج ارایه شده، قابل استناد باشد. با استفاده از این ابزار مدیران شبکه میتوانند حداکثر سرعت خواندن و نوشتن را مشخص کنند. همچنین این ابزار به منظور پیشبینی میزان بارگیری شبکه استفاده میشود.
2- SPC-1 Benchmark Suite
این ابزار هم که توسط کمپانی Storage Performance Council منتشر شده است. نسبت به برنامه IOmeter دقیقتر است. در این ابزار کلیه مشخصات تجهیزات ذخیرهساز درج و براساس استانداردهای محیط کاری میزان دقیق سرعت Input/output مشخص میشود.
سرعت IOPS در درایوهای HDD و حافظه های SSD
سرعت IOPS در درایوهای HDD و حافظههای SDD متفاوت است. بهطورکلی عملکرد SDD در طول زمان بیثبات است و سرعت آن بسیار به کنترلر داخلی وابسته است. اما سرعت IOPS در HDDها بسیار به خواندن و نوشتن بستگی دارد. در نتیجه با توجه به تستهای مختلف بسیاری از افراد اعتقاد دارند که حافظه SDD عملکرد بهتری در زمانهای پایدار دارد ولی در HDD زمانی که تعداد I/O افزایش پیدا میکند، بههمان نسبت عملکرد درایو نیز بهتر میشود. با اینحال عدد IOPS در HDD و SDD حداکثر پهنای باند پایدار و بیشترین سرعت نمایش را نشان میدهد.
علاوه بر این در درایو HDD کنترلر درایو با افزایش تعداد I/O باعث بهینه شدن سرعت میشود که به آن نیز Native Command Queaching (NCQ) گفته میشود در صورتی که حافظه SATA از این ویژگی در فرآیند I/O برخوردار نیست
اغلب IOPSهای متوالی به صورت یک عدد MB/s ساده در درایوهای HDD بهصورت زیر ارائه میشوند:
IOPS×TransferSizeInByts =BytsPerSec {MegabytesPerSec}
و IOPSهای متوالی در حافظههای SDD به صورت زیر مشخص میشود.
IOPS×TransferSizeInBytes = BytesPerSec {\displaystyle\text{IOPS}} × {\text{TransferSizeInBytes}} = {\text{BytesPerSec}}}
سه عامل اصلی برای محاسبه IOPS در حافظه SSD وجود دارد که باید توان عملیاتی، زمان تأخیر و سرعت نرخ جابهجایی اطلاعات در یک ثانیه را در نظر بگیرید.
اندازه گیری IOPS براساس الگوریتمهای Raid
روش دیگری که میتوانید IOPS را اندازهگیری کنید، استفاده از الگوریتمهای Raid است که شاید مهمترین جزء در محاسبه IOPS برای درک بهتر آن و پیکربندی RAID باشد به جزء RAID 0. پیکربندیهای Raid مبتنی بر این واقعیت است که عملیات نوشتن منجر به نوشتن چندگانه در آرایه میشود. بههمین دلیل پیکربندیهای مختلف RAID برای کارهای مختلف مناسب است.
تعقیب
[…] شاخص IOPS […]
دیدگاه خود را ثبت کنید
تمایل دارید در گفتگوها شرکت کنید؟در گفتگو ها شرکت کنید.