تست استرس سختافزاری از مسعود علیخانی
بررسی تستهای استرس در سختافزار سِروِرها و معرفی و مقایسه ابزارهای آنها (HST )
تهیه و تنظیم: مسعود علیخانی
چکیده
“تست استرس سختافزاری” یک ابزار ساده و درعینحال قدرتمند در زمینه تست قطعات سختافزاری در یک کامپیوتر یا سِروِر بوده که با قرار دادن قطعه سختافزاری در شرایطی که بتوان از قدرت و قابلیتهای واقعی آن مطلع شد، انجام میگیرد. همانطور که میدانید، انتخاب سختافزار مناسب برای یک سیستم رایانهای، رابطه مستقیمی با نیاز کاربر دارد و ممکن است یک پردازنده، متناسب با نیاز یک کاربر یا یک سرویس باشد و در مقابل، همین پردازنده بههیچوجه پاسخگوی نیاز کاربر یا سرویس دیگری نباشد. ازاینرو، بسیاری از متخصصان کامپیوتر بر این باور هستند که در بازار تبلیغاتی قطعات سختافزاری، چندان نباید بهعنوان و برند محصولات توجه کرد بلکه هر قطعه باید عملکرد واقعی خود را بهطور دقیق در عمل نشان دهد.
از مزایای انجام ِ تست استرسِ مناسب، میتوان به موارد زیر اشاره کرد:
- صرفهجویی در هزینهها ( ازآنجاکه در سازمان صداوسیما، قطعات کامپیوتری و سِروِرهای زیادی استفاده و خریداری میشود، با انجام تستِ استرسِ مناسب، میتوان قطعاتِ مناسبی برای هر کار خریداری کرد که این اقدام سبب بالا رفتن عمر مفیدِ قطعات و کاهش خرابیها و صرفهجویی در منابع مالی سازمان، خواهد شد.)
- بهینهسازی در مدیریتِ توزیعِ تجهیزات و قطعات ( اختصاص سیستم مناسب برای هر کار )
- رسیدن به قابلیت اطمینان بالا و پایداری مناسب
- صرفهجویی در وقت
مقدمه و شرح مطلب
“تست استرس” ، بهطورکلی یک ابزار مهم در مدیریت ریسک است و در حقیقت باری است که بهصورت عمدی جهت تست توان، پایداری و قابلیتهای موجود ، به قطعه اعمال میشود و قطعه را در شرایط غیر طبیعی تست میکند تا بتواند به اطلاعات موردنیاز خود دست یابد.
مهندسیِ قابلیت اطمینان ( RELIABILITY ENGINEERING ) یک زیرشاخه از مهندسی سیستم است که بر توانایی عملکرد تجهیزات بدون خرابی (FAILURE) تأکید میکند. قابلیت اطمینان ، توانایی عملکرد یک سیستم یا یک بخش را در شرایط مشخص و برای مدتزمان مشخص، توصیف میکند. اصطلاح استرس (STRESS ) ممکن است در بعضی از شاخههای علوم و صنایع ، مانند علم مواد ، معنای دیگری داشته باشد و بنابراین در آن علوم، از اصطلاح دیگری بهجای تست استرس استفاده کنند. مثلاً در علم مواد، این آزمون با نام تستِ خستگی و فرسودگی ( FATIGUE TEST ) شناخته میشود.( مثل شکل 1 ). بهعنوان نمونهای دیگر، در علم پزشکی نیز، آزمونی بنام تست “استرس قلب” وجود دارد که بنام “تست ورزش” نیز شناخته میشود. این آزمون در حقیقت، یک ارزیابی از وضعیت و عملکرد قلب است که توانایی پاسخگویی قلب به استرس و فشار خارجی را در یک محیط کنترل شده ارزیابی میکند. همچنین تست استرس با نام “TORTURE TEST ” نیز شناخته میشود. کلمه TORTURE به معنای رنج و شکنجه و عذاب است.
شکل1: تستِ استرس در یک میله فلزی
تا وقتی تست استرس در حال انجام است، بنا به نیاز، موارد مختلفی بررسی میشود . مثلاً در آزمون استرس قلب(تست ورزش)، ضربان قلب، فشار خون، نوار قلب و تنفس بررسی میشوند. در تست استرسِ قطعات سختافزاری نیز، پارامترهای مربوط به خود بررسی میشوند. مثلاً در تست استرس CPU ، ولتاژ اعمال شده، فرکانس هستهها، دمای تولید شده، میزانِ بارِ کاری ( WORKLOAD ) و نوع وظایف ( TASK ) اعمال شده ، میزان و نحوه استفاده از رم ، فعالیت تمامی هستهها و توان پردازشی و… بررسی میشوند. ( نکته : بخشی از تست استرس CPU ، مربوط به رم است. )
بهترین نوعِ تست سختافزاری در قطعات کامپیوتری، زمانی انجام میگیرد که قطعات ( شامل هارد ، رم ، CPU ، GPU و … ) در شرایط واقعی قرار بگیرند. ولی ازآنجاکه ریسک انجام ِ این کار، بالاست و امکان کنترل بر روی قطعه مورد آزمون و حتی بر روی کل دستگاه، محدود میشود، بنابراین نرمافزارهایی وجود دارند تا بدون اینکه لازم باشد که قطعه در شرایط واقعی تست شود؛ آن را در یک محیط مشخص و قابل کنترل، بهصورت نرمافزاری تست میکنند. این نرمافزارها را میتوان با عنوان “نرمافزارهای تست استرس سختافزار” (HSTS) یا “ابزارهای تست استرس سختافزار” نام برد. آنها معمولاً سیستم را در یک سطح بالاتر از توقع قرار میدهند. این سطوح میتوانند در مورد میزان بارِ کاری روی قطعه سختافزاری، نوع بار کاری، ولتاژ اعمالی به قطعه، میزان CLOCK، بار دمایی و…. بیان شوند. در کنار این ابزارها، نرمافزارهای BENCHMARKING نیز وجود دارند که در طی کردن بخشی از مسیرِ دستیابی به هدف این بحث، با یکدیگر همراهاند.
به همین جهت ازآنجاکه هر دو نرمافزارهای BENCHMARKING و STRESS TEST با هدف رسیدن به بالاترین کارایی ( PERFORMANCE ) و اندازهگیری آن کار میکنند، ممکن است با هم در بعضی موارد، اشتراک داشته باشند. ولی نرمافزارهای تست استرس، در حقیقت سعی میکنند تا سیستم را مجبور به شکست ( FAIL ) کنند تا میزان توان و پایداری و … را بررسی کنند. ولی نرمافزارهای BENCHMARKING، سعی میکنند تا با اعمال یک وظیفه و کار ( بار) مشخص به قطعه( که قاعدتاً یک بارِ سنگینی است)، بیشترین کارایی را اندازهگیری کنند. علاوه بر آن در تستهای BENCHMARKING ، ممکن است بخشی از عملکرد یک قطعه تست شود. ولی در تستهای استرس، باید عملکرد سایر بخشهای قطعه یا سیستم نیز بررسی شوند.( چون هدف، تست پایداری در کل قطعه یا سیستم است.)
تستهای استرس سختافزاری ، موضوعی و خاص بوده و باتوجه به نحوه استفاده از سیستم، متفاوت هستند. بهطور مثال، تست استرس برای سِروِری که بهصورت 7/24 ساعت ( یعنی بهصورت تمام وقت – 24 ساعت در روز و هفت روز در هفته_ ) اجرا میشود و یا سِروِری که وظایف حساس به خطا مانند ” توزیع بستههای نیازمند به رندر ” را انجام میدهد ، با تستی که برای اجرای یک بازی سنگین با قابلیت اطمینان مناسب، باید انجام بگیرد متفاوت است. هر تست، با توجه به گزینههای مورد نظر (پارامترهای قابل پوشش)، تجهیزات موجود و نوعِ ریسکِ مناسب (بهعنوان پیشنیازهای طراحیِ تست) طراحی میشود.
نرمافزارهای متنوعی در مورد ” تست استرس قطعات سختافزاری ” وجود دارند که فقط برخی از آنها توسط شرکتهای سازنده قطعات کامپیوتری تأیید شدهاند. چند مورد از آنها عبارتاند از :
1) BURNIN TEST
2)HEAVY LOAD
3)IPDT
4)AIDA64 EXTREME EDITION
لازم به ذکر است که هریک از این نرمافزارها، تستهای خاصی را با روشهای خود بر روی قطعات سختافزاری انجام میدهد. ولی در بین آنها، نرمافزارهای AIDA64 EXTREME EDITION و BURNIN TEST قدرت و قابلیتهای بیشتری را ارائه میدهند که به بیان و مقایسه آنها اکتفا میکنیم.
الف- نرمافزار AIDA64 EXTREME EDITION
قابلیتهای مهم این نرمافزار عبارتاند از:
- اطلاعات جامع در مورد Motherboard ، CPU ، RAM و تمامی اجزای سختافزاری سیستم
- تست RAM ، CPU ، GPU ، HDD ، COOLING ، مانیتور و …
- تست پایداری و استقامت سیستم
- ارائه BENCHMARK های متنوع و …
نحوه کار و عملکرد این نرمافزار به شرح زیر است.
پس از باز کردن نرمافزار، پنجره اولیه بهصورت شکل 2 نمایش داده خواهد شد.
شکل2: صفحه اولیه نرمافزار AIDA64
همانطور که در شکل 2 مشاهده میشود، تمامی اجزای سیستم نشان داده شده است. با انتخاب هرکدام از آیکنها، مشخصات مربوط به آن بخش بهصورت کامل و با جزئیات نمایش داده میشود. بهطور مثال با انتخاب آیکن “مادربرد”، شکل 3 نشان داده میشود.
شکل3: زیرمجموعههای بخشِ مادربرد در نرمافزار AIDA64
همانطور که در شکل 3 مشخص است، زیرشاخههایی مربوط به CPU ، RAM ، MOTHERBOARD ، SPD و … را میتوان مشاهده کرد. همچنین با انتخاب هریک از زیرشاخهها، جزئیات کاملی از آن به نمایش درمیآید.
ولی وظیفه اصلی این نرمافزار ، تست استرس بر روی قطعات سختافزاری است. بدین منظور ابزار SYSTEM STABILITY TEST” ” را از نوار ابزار انتخاب میکنیم.
در این صورت، پنجرهای به شکل 4 باز میشود. در این پنجره میتوان هر قطعهای را بهصورت جداگانه یا همزمان با سایر قطعات مورد آزمون قرار داد. گزینههای مورد تست، در قسمت سمت چپ در بالای پنجره قرار دارند که با انتخاب هریک از آنها میتوان تست را شروع کرد. بهطور نمونه اگر بخواهیم پردازنده سیستم را تحت تستِ استرس قرار دهیم، گزینه STRESS CPU را انتخاب و دکمه START را کلیک مینماییم. در این صورت مطابق با شکل 5، استرس شدیدی به پردازنده وارد میشود و بار کاری آن به نزدیک 100% میرسد. همچنین در این حالت میتوان برخی از انواع دستورالعملهای ارسالی جهت تست CPU را از طریق زبانه PREFERENCES انتخاب کرد.
شکل4: پنجره SYSTEM STABILITY TEST در ابزار AIDA64
شکل5: قرار گرفتن پردازنده در تستِ استرس با ابزار AIDA64
از ویژگیهای این نرمافزار این است که میتوان همزمان پارامترهای دیگری را نیز بررسی کرد. یعنی تا وقتی در حال تست پردازنده هستیم (بار کاری پردازنده را بالا بردهایم) ، میتوان ولتاژ هستههای پردازنده، دور فنها ، فرکانس کاری پردازنده، دمای پردازنده و مادربرد و …. را نیز مشاهده و بررسی کرد.( همانند شکل 6 )
شکل6: بررسی چندین پارامتر بهصورت همزمان با یکدیگر در ابزار AIDA64
از دیگر قطعاتی که امکان تست استرس توسط این نرمافزار بر روی آن وجود دارد، هارد دیسک است. هارد دیسکها به دلیل اینکه سرعت پایینی در ارسال و دریافت اطلاعات دارند، یکی از گلوگاههای سیستم کامپیوتری بهحساب میآیند. بنابراین جزو قطعاتی هستند که تست استرس بر روی آنها اهمیت بالایی دارد. ( با انتخاب گزینه STRESS LOCAL DISKS )
ب- نرمافزارBURNIN TEST
قابلیتهای مهم این نرمافزار عبارتاند از:
- اطلاعات مختصر در مورد اجزای سختافزاری سیستم
- تست RAM ، CPU ، GPU ، HDD ، BLUETOOTH، ODD ، USB ، NETWORK ، و …
- تست پایداری و استقامت سیستم
- انجام BENCHMARK و …
نحوه کار و عملکرد این نرمافزار به شرح زیر است.
پس از باز کردن نرمافزار، پنجره اولیه بهصورت شکل 7 نمایش داده خواهد شد.
شکل7: پنجره اولیه نرمافزار BURNIN TEST
این نرمافزار بر خلاف نرمافزار AIDA64 ، امکان ارائه مشخصات کاملی از قطعات سختافزاری همراه با جزئیات را ندارد و فقط مشخصات کلی سیستم را بیان میکند. در شکل 7 با انتخاب هریک از قطعاتی که در پایین صفحه وجود دارد، آن سختافزار به لیست مورد تست افزوده میشود. بهطور مثال در شکل 7، پردازنده و هارد دیسک، مورد تست قرار میگیرند. حال با استفاده از منوی TEST و گزینه START TEST RUN ، تست آغاز میشود. همانگونه که قبلاً بیان شده بود، هر نرمافزاری برای تست، با روش و الگوهای خود، کار میکند. روشهای استفاده شده برای تست در این نرمافزار، با نرمافزار قبلی ( AIDA64 EXTREME EDITION ) متفاوت است. بهطور مثال در این نرمافزار از طریق پنجره TEST PREFERENCES برای تست هر قطعه سختافزاری، میتوان میزان بار کاری بر روی قطعه و بسیاری از تنظیمات مهم در تست ( از جمله نوع دستورالعمل ارسالی جهت تست CPU و … ) را تعریف کرد . یعنی اگر برای CPU، بار کاریِ 50% تعریف شده باشد، بار، در دورههای مشخص، به 100% میرسد سپس کم میشود. ولی همچنان قابلیتهای پردازنده بررسی میشود. این موضوع به معنای بررسی قابلیتهای قطعه و البته بدون مختل کردن عملکرد قطعه است. در نهایت و پس از پایان تست، تصویری مطابق با شکل 8 به نمایش درخواهد آمد. کلمه TEST PASSED به معنای سالم بودن قطعه و فائق آمدن بر تستهای انجام شده است.
شکل8: موفقیت قطعه سختافزاری در تستهای انجام شده توسط ابزار BURNIN TEST
در این نرمافزار نیز برای نمایش دما (بهعنوان یک عامل بسیار مهم و حساس در تجهیزات الکترونیکی)، نظارت (مانیتورینگ) مناسبی قرار داده شده است. همانطور که در شکل 9 مشخص است، برای تعدادی از قطعات بهصورت پیشفرض، دما بهصورت نمودار و عدد نشان داده میشود. همچنین میتوان برای آنها بیشینه تعیین کرد که در صورت رسیدن دمای قطعه به آن حد، عملیات تست متوقف شود. لازم به ذکر است که این نرمافزار، امکان نمایش ولتاژها و جریانها ، دور فنها و فرکانس نقاط مختلف سیستم را ندارد. ولی در صورت نصب یک نرمافزار جانبی مثل HWMONITOR میتوان همه این موارد را مشاهده کرد.
شکل9: نمودار مربوط به دمای قطعات سختافزاری در ابزار BURNIN TEST
مقایسه و نتیجهگیری:
بر اساس مطالب ارائه شده در متن مقاله، ابزارهای(نرمافزارهای) ارائه شده، در بسیاری ازموارد، مشترک بوده در چند مورد با یکدیگر رقابت میکنند که در ادامه ذکر میشود. با مروری بر روی قطعات قابل آزمون در هر دو نرمافزار، مشاهده میشود که اغلب قطعات اصلی نظیر حافظه و پردازنده و هارد دیسک و … برای تست در هر دو نرمافزار وجود دارند ولی بسیاری دیگر از قطعات جانبی مثل بلوتوث، امکانی برای تست در نرمافزار AIDA64 ندارند. بنابراین به لحاظ تعداد قطعات قابل تست و قدرتِ تست ( انجام تنظیمات دلخواه برای تستِ هر قطعه )، در ابزار (نرمافزار)BURNIN TEST قدرت بیشتری مشاهده میشود. همچنین تستی که در آن صرفاً قابلیتهای قطعه سختافزاری( نه توان کاری آن) بدون درگیر و مختل کردن موقت عملکرد آن قطعه(حتی بخشی از قطعه) مد نظر باشد امکان مهمی است که فقط در نرمافزار BURNIN TEST وجود دارد.
ازطرف دیگر، در نرمافزار AIDA64 این امکان وجود دارد که مشخصات تمامی قطعات سختافزاری را بهصورت ریز و دقیق ارائه کند که البته این ویژگی در ابزار BURNIN TEST با این حد از دقت و جزئیات، وجود ندارد. همچنین قابلیت مهمی در نرمافزار AIDA64 وجود دارد و آن هم این است که تا وقتی این نرمافزار در حال تست قطعاتی مثل پردازنده است، میتوان ولتاژ هستههای پردازنده، دور فنها، میزان CLOCK در پردازنده و … را بهصورت آنلاین مشاهده و بررسی کرد. این موضوع، در بررسیهای ریشهای عیوب و مشاهده عملکرد سیستم بسیار مفید است.
در نهایت میتوان گفت؛ در هر دو ابزار، قابلیتهایی دیده میشود که در دیگری وجود ندارد و یا عملکرد آن به خوبی نرمافزار دیگر نیست. پس بهتر است که از هر دو ابزار در کنار هم استفاده شود. البته در این صورت( استفاده از هر دو ابزار)، یک مجموعه کامل از ابزارهای تست و آزمون استرس در قطعات سختافزاری را خواهیم داشت.
منابع
[1] J. W, “Stress Testing Software to determine Fault Tolerance for Hardware Failure and Anomalies”, IEEE , 978-1-4673-0700-0, 2012
[2] PASS MARK SOFTWARE, “BurnInTest V8.1 Users Guide”, 2017
[3] T. Adrian Hill, “Stress Testing Embedded Software Applications”, Embedded Systems Conference, 2007
[4] J. Esquiagola, L. Costa, P. Calcina, G. Fedrecheski and M. Zuffo, “Performance Testing of an Internet of Things Platform”, In Proceedings of the 2nd International Conference on Internet of Things, Big Data and Security (IoTBDS), pp. 309-314, 2017
[5] Fujitsu, “ServerView Online Diagnostics”,2018
[6] S. Wilson, S. Lin, “Techniques for Testing Performance/Scalability and Stress Testing ADF Applications”, Oracle Corporation, 2011
[7] T. Barclay, W. Chong, J. Gray, “A Quick Look at Serial ATA (SATA) Disk Performance”, Microsoft Research, 2003