یافتن الگوی نوشتن نرمافزار VMS
دراین مقاله سعی شده با استفاده از VMS و دوربین مجازی به جای استفاده از تستهای FIO، برای تست کارایی Workload واقعی بر روی سامانه ایجاد و نتایج از طریق اسکریپتهای آماری پایتون بررسی گردد.
- شرایط آزمون
در این تست به جای استفاده از FIO برای انجام تستهای کارایی، با استفاده از VMS و دوربین مجازی workload واقعی روی سامانه ایجاد شده است. بار کاری ایجاد شده در این مرحله از نوع 100% Write (در حالت Recording) است. خروجی ابزار blktrace به مدت 10 دقیقه برای sdd (Pool) و dm-4 (Lun) ذخیره شده و سپس با blkparse به فایل متنی تبدیل شده سپس با استفاده از اسکریپتهای آماری پایتون مورد تحلیل قرار داده شده است. پارمترهای این تست به شرح جدول زیر است:
جدول 1 پارامترهای پیکربندی
|
ردیف |
مشخصه |
مقدار |
ردیف |
مشخصه |
مقدار |
|
1 |
بنچمارک |
ایجاد بار کاری توسط VMS |
2 |
مدت زمان اجرا |
10 دقیقه |
|
3 |
اندازه لان |
به اندازه کل Pool |
4 |
نوع Pool |
RAID5 (4+1) |
|
4 |
فضای Pool |
29.1 TB |
5 |
تعداد دوربین مجازی |
3 + 244 |
1-1 معماری سختافزاری
برای ایجاد بار کاری واقعی از تعدادی دوربین مجازی استفاده شده است که بر روی یک سرور مدیریت میشوند. این سرور از طریق سوئیچ SG-300 به سامانه SAB-VR متصل شده است. سامانه مجهز به یک کارت iscsi با 4 پورت 1 G است که با یکدیگر Bond شدهاند. همچنین چهار پورت متناظر روی سوئیچ SG-300 نیز در یک گروه LACP قرار داده شدهاند.
روی سامانه تعداد 7 عدد دیسک HDD با ظرفیت هرکدام 7.27 ترابایت قرار دادیم. روی ماشین مجازی Windows Server 2019 و نرم افزار VMS نصب شده است. این VMS دوربینهای مجازی را در ورودی دریافت نموده و روی Lun ذخیره میکند.
- بررسی اولیه
توجه: به دلیل تعداد بسیار زیاد رکوردها در خروجی blktrace، رکوردهای مرتبط با 150 ثانیه اول را جدا شده است. سه نمودار زیر از دیتای 150 ثانیهای blktrace بدست آمده است
1-2 چگالی دسترسی WS به آدرسها
این نمودار تکرار دسترسی به یک آدرس را در طول زمان (محور x به ثانیه) نشان میدهد که محور y شماره سکتورهای دیسک است. رنگهای تیرهتر به معنی تکرار بیشتر دسترسی write در آن آدرس است. حفرهها در نمودار بیانگر دسترسی رندوم در آدرسهای مختلف است؛ البته این حفرهها به مرور زمان پر شده و فضای یک تکتهای را تشکیل میدهند. همچنین بخش پایین نمودار یک نوار افقی آبی تیره را نشان میدهد که به سمت بالا از شدت رنگ آن کاسته شده و سپس مجددا چگالی دسترسی بیشتر میشود؛ که نشاندهنده دسترسی بسیار random در سکتورهای ابتدایی دیسک (معادل MFT Zone در فایل سیستم NTFS) است. این نمودار به خوبی تفکیک فضای متادیتا را از فضای ذخیرهسازی دیسک نشان میدهد.
.jpg)
خوشهبندی فضای آدرس
دستهبندی فضای آدرسی روی دیسک با شرط فاصله آدرس بیشتر از 50MB روی این نمودار نمایش داده شده است. در این نمودار محور x آدرس سکتورها را نمایش داده و محور y تعداد دسترسی به هر آدرس را نشان میدهد. این نمودار یک زون را در خروجی 150 ثانیه اول blktrace نشان میدهد که به معنی عدم وجود فاصله آدرس است. همچنین وجود میله بلند در ابتدای زون بیانگر تعداد دسترسی بسیار زیاد در محدودهی کوچکی از فضای آدرسدهی است. همچنین بعضی میلههای کوچک پر رنگتر نیز چگالی دسترسی بیشتر در آن فضای آدرس را نشان میدهد. نتیجه اینکه نوع دسترسی احتمالا بهصورت Locally Random است؛ یعنی دسترسی رندوم در یک فضای آدرس پیوسته صورت گرفته است.
.jpg)
تعداد و حجم عملیات
در این نمودار تعداد و حجم عملیات I/O در بلوکهای آدرس 10MB در طول زمان نشان داده شده است. محور x زمان را به ثانیه و محور y بلوکهای آدرس را نشان میدهد. نقاط کوچک رو روشن به معنای بلوکهای کم حجم داده (چند کیلوبایت تا زیر 1MB) و نقاط بزرگ و تیرهتر نمایانگر بلوکهای بزرگتر هستند. در این نمودار پراکندگی نقاط و تغییرات سریع آدرس قابل مشاهده است. همچنین نبود نوارهای پیوسته مورب نیز نشاندهنده عدم دسترسی Sequential است. اما نکته مهمی که باید به آن توجه شود الگوی شبیه ترتیبی است؛ نقاط تقریبا هماندازه بهصورت مورب و از پایین به بالا بیانگر دسترسی رندوم به فضای آدرس پیوسته است.

- بررسی عمیق
1-3 چگالی دسترسی WS به آدرسها
همانطور که انتظار میرفت حفرههای نمودار فصل قبل به مرور زمان پر شده و یک فضای دسترسی یکتکه روی نمودار ایجاد شده است. نوارهای مورب تیرهتر نساندهنده تعداد بیشتر دسترسی در آن آدرسها است و میتواند با رفتار VMS برای ذخیره و overwrite کردن ویدئوها بصورت فایل توجیه شود. همچنین به تدریج حفرههای سبز رنگ نمودار فصل قبل تیرهتر میشوند که میتواند نشاندهنده افزایش متادیتاها در آدرسهای ابتدای دیسک باشد.
.png)
خوشهبندی فضای آدرس
ساختار نمودار خوشهبندی در نگاه اول کاملا شبیه به نمودار خوشهبندی فصل قبل است با این تفاوت که محور y گسترش یافته است؛ همچنین میلههای کوچک تیرهتر نیز بیشتر شدهاند. نتیجه اینکه VMS فایلهای ویدئیی را در یک فضای آدرسدهی بسیار بزرگ ذخیره میکند و از همان چند ثانیه ابتدایی چندین فایل مشخص را در آدرسهای مشخصی از دیسک ایجاد نموده و در طول زمان آنها را تکمیل میکند. بنابرین میزان تیرگی اکثر میلهها با هم تغییر کرده است.
.png)
3-3 خوشهبندی بر اساس حجم دیتا
از نمودارهای قبل چنین به نظر میرسد که بار کاری VMS از نوع Seq Write است. در این بخش به تحلیل و دستهبندی از نظر حجم بلوکهای دیتا پرداخته شده است. تحلیل تمام رکوردها نشان میدهد حجم بلوکهای دیتای نوشته شده روی دیسک در دستههای زیر قرار دارند:
جدول 2 دستهبندی حجم دیتا
|
Cluster (KB) |
Share (%) |
|
4.0–8.0KB |
0.58 |
|
8.0–16.0KB |
0.51 |
|
16.0–32.0KB |
0.03 |
|
32.0–64.0KB |
0.11 |
|
64.0–128.0KB |
0.41 |
|
128.0–256.0KB |
1.98 |
|
256.0–512.0KB |
5.11 |
|
512.0–1024.0KB |
30.8 |
|
1024.0–2048.0KB |
60.47 |
توجه: برای جلوگیری از خطای محاسباتی در این تحلیل فقط سطرهای WS که پرچم C (Completed) دارند، بررسی شدهاند.
جدول فوق به وضوح نشان میدهد درصد کمی از بلوکهای دیتای نوشته شده روی دیسک حجمی کمتر 512KB داشتهاند (کمتر از 9%) اما عملیات نوشتن با بلوکهای دیتای 0.5MB تا 1MB حدود 31% کل WSها را تشکیل داده است. بلوکهای بزرگتر در دسته 1MB تا 2MB قرار دارند که بیش از 60% عملیات نوشتن را نشان میدهند. نکته اینکه هیچ بلوک دیتای بزرگتر از 2MB در خروجی blktrace پیدا نشده است.
نمودار هیستوگرام زیر تعداد عملیات I/O روی بلوکهای دیتا را مطابق خوشهبندی فوق نشان میدهد. این نمودار بیشترین تعداد عملیات I/O را برای بلوکهای 4KB تا 16KB نشان میدهد.
.png)
4-3 تحلیل دقیق حجم-آدرس
با استفاده از خوشهبندیهای بدست آمده بر اساس حجم دیتا در بخش قبل، نمودارهای زیر را از خروجی 10 دقیقهای blktrace رسم شده است. در این نمودارها محور x زمان را برحسب ثانیه و محور y آدرس دیسک (شماره سکتور) را نشان میدهد؛ همچنین رنگهای تیرهتر معادل بلوکهای دیتای کوچکتر است. تکرار الگوی شبه نوارهای مورب در تمام فضای آدرسدهی دیسک بر رفتار Locally Random تاکید میکند. همچنین به وضوح مشخص است که بلوکهای پراکنده و کوچک (کمتر از 16KB) تقریبا همزمان با بلوکهای بزرگ دیتا نوشته میشوند (برهم نهی نمودار اول و دو نمودار آخر) که میتواند به معنای بروز رسانی منظم متادیتاهای MFT Zone هر فایل باشد. پراکندگی شدید بلوکهای دیتا با اندازههای مختلف در تمام فضای آدرسدهی دیسک با توجه به عدم وجود نوارهای مورب پیوسته میتواند بیانگر بار کاری کاملا تصادفی باشد.

.png)
.png)
.png)
.png)


.png)


فصل 4: نتیجهگیری
تحلیل دقیق و مرحله به مرحله خروجی blktrace که به مدت 10 دقیقه روی بار کاری حاصل از عملیات ضبط تصاویر ویدئویی توسط VMS با تعداد زیادی دوربینهای مجازی انجام شده است نشان میدهد:
- ذخیرهسازی روی دیسک بهصورت دسترسی تصادفی در یک فضای آدرسدهی پیوسته (Locally Random) انجام شده است.
- مشاهده الگوی نقاط پراکنده شبیه به خطوط مورب نشاندهنده دسترسی تصادفی است.
- دستهبندی فضای آدرسدهی هیچ فاصله آدرسی بیشتر از 2MB را نشان نمیدهد.
- بلوکهای دیتا را میتوان در سه خوشه کمتر از 512KB، بین 512KB تا 1MB و بزرگتر از 1MB دستهبندی کرد. ضمنا باید توجه داشت که هیچ بلوک دیتای بزرگتر از 2MB در خروجی blktrace مشاهده نشده است.
- رفتار VMS برای ذخیرهسازی به این صورت است که تعدادی فایل با اندازه مشخص (مثلا 100MB) روی دیسک ایجاد کرده و قطعات کوچک دیتا (بین 512KB تا 2MB) را بهطور همزمان در آنها مینویسد.
- همزمان با عملیات VMS، سیستمعامل ماشین مجازی ویندوز متادیتاهایی را مطابق فایل سیستم NTFS روی دیسک مینویسد.
