ProHoster > وبلاگ > اداره > معیارها برای سرورهای لینوکس: مجموعه ای از ابزارهای باز
معیارها برای سرورهای لینوکس: مجموعه ای از ابزارهای باز
ما همچنان در مورد ابزارهایی برای ارزیابی عملکرد CPU در ماشین های لینوکس صحبت می کنیم. امروز در مواد: temci، uarch-bench، likwid، perf-tools و llvm-mca.
این ابزاری برای تخمین زمان اجرای دو برنامه است. اساساً به شما امکان می دهد زمان اجرای دو برنامه را با هم مقایسه کنید. نویسنده این ابزار یک دانشجوی آلمانی به نام یوهانس بچبرگر بود که آن را به عنوان بخشی از پایان نامه کارشناسی خود در سال 2016 توسعه داد. ابزار امروز توزیع شده توسط تحت مجوز عمومی عمومی گنو.
یوهانس می خواست ابزاری ایجاد کند که به او اجازه دهد عملکرد یک سیستم محاسباتی را در یک محیط کنترل شده اندازه گیری کند. بنابراین یکی از ویژگی های اصلی temci قابلیت راه اندازی محیط تست می باشد. مثلا، می توان: تنظیمات مدیریت فرکانس CPU را تغییر دهید، غیرفعال کنید بیش از حد نخ و حافظه نهان L1 و L2، خاموش کردن حالت توربو در پردازنده های اینتل و غیره. برای بنچمارک temci از ابزارهایی استفاده می کند زمان, perf_stat и فرار کردن.
این همان چیزی است که ابزار در مورد اول به نظر می رسد:
# compare the run times of two programs, running them each 20 times
> temci short exec "sleep 0.1" "sleep 0.2" --runs 20
Benchmark 20 times [####################################] 100%
Report for single runs
sleep 0.1 ( 20 single benchmarks)
avg_mem_usage mean = 0.000, deviation = 0.0
avg_res_set mean = 0.000, deviation = 0.0
etime mean = 100.00000m, deviation = 0.00000%
max_res_set mean = 2.1800k, deviation = 3.86455%
stime mean = 0.000, deviation = 0.0
utime mean = 0.000, deviation = 0.0
sleep 0.2 ( 20 single benchmarks)
avg_mem_usage mean = 0.000, deviation = 0.0
avg_res_set mean = 0.000, deviation = 0.0
etime mean = 200.00000m, deviation = 0.00000%
max_res_set mean = 2.1968k, deviation = 3.82530%
stime mean = 0.000, deviation = 0.0
utime mean = 0.000, deviation = 0.0
بر اساس نتایج محک زدن، سیستم تولید می کند گزارش مناسب با نمودارها، جداول و نمودارها، که تمسی را از راه حل های مشابه متمایز می کند.
در میان کاستی های temci، "جوانی" آن برجسته است. به خاطر این او همه چیز پشتیبانی نمی شود تنظیمات سخت افزاری و نرم افزاری به عنوان مثال، اجرای آن در macOS دشوار است و برخی از ویژگی ها در سیستم مبتنی بر ARM در دسترس نیستند. در آینده، ممکن است وضعیت تغییر کند، زیرا نویسنده به طور فعال پروژه را توسعه می دهد، و تعداد ستاره ها در GitHub به تدریج در حال افزایش است - نه چندان دور، حتی temci در نظرات بحث شده است در هکر نیوز
ابزاری برای ارزیابی عملکرد توابع CPU سطح پایین، که توسط مهندس تراویس داونز توسعه یافته است.تراویس داونز). اخیراً وبلاگ نویسی کرده است مسائل مربوط به عملکرد در GitHub Pages، که در مورد ابزارهای بنچمارک و سایر موارد مرتبط صحبت می کند. به طور کلی، uarch-bench به تازگی شروع به محبوبیت می کند، اما در حال حاضر بسیار رایج است ذکر شده ساکنان هکر نیوز در موضوعات موضوعی به عنوان ابزاری برای معیارسنجی.
Uarch-bench به شما امکان می دهد عملکرد حافظه، سرعت بارگذاری موازی داده و کار تمیز کردن را ارزیابی کنید YMM ثبت می کند. نتایج محک زدن تولید شده توسط این برنامه چگونه به نظر می رسد را می توان یافت در مخزن رسمی در پایین صفحه.
شایان ذکر است که نیمکت اورچ، مانند temci، قطع می کند عملکرد Intel Turbo Boost (به طور خودکار سرعت ساعت پردازنده را تحت بار افزایش می دهد) به طوری که نتایج آزمایش یکسان باشد.
در حال حاضر، این پروژه در مراحل اولیه توسعه است، بنابراین uarch-bench مستندات دقیق ندارد و عملکرد آن ممکن است حاوی اشکال باشد - برای مثال، مشکلات شناخته شده است با راه اندازی در Ryzen. همچنین، تنها بنچمارکها برای معماریهای x86 پشتیبانی میشوند. نویسنده قول می دهد که در آینده قابلیت های بیشتری را اضافه کند و از شما دعوت می کند تا به توسعه بپیوندید.
این مجموعه ای از ابزارها برای ارزیابی عملکرد ماشین های لینوکس با پردازنده های Intel، AMD و ARMv8 است. این برنامه تحت نظارت وزارت آموزش و تحقیقات فدرال آلمان در سال 2017 ایجاد شد و به صورت متن باز منتشر شد.
در میان ابزارهای likwid، میتوان likwid-powermeter را برجسته کرد که اطلاعاتی را از رجیسترهای RAPL در مورد توان مصرفی سیستم نشان میدهد، و همچنین likwid-setFrequencies، که به شما امکان میدهد فرکانس پردازنده را کنترل کنید. می توانید لیست کامل را مشاهده کنید در مخزن پیدا کنید.
این ابزار توسط مهندسین درگیر در تحقیقات HPC استفاده می شود. مثلا با likwid کار می کند گروهی از متخصصان مرکز محاسبات منطقه ای دانشگاه ارلانگن-نورنبرگ (RRZE) در آلمان. او همچنین در توسعه این مجموعه ابزار مشارکت فعال دارد.
این ابزار برای تجزیه و تحلیل عملکرد سرورهای لینوکس است معرفی شده برندان گرگ. او یکی از توسعه دهندگان است DTrace - یک چارچوب ردیابی پویا برای اشکال زدایی برنامه ها در زمان واقعی.
perf-tools بر اساس زیرسیستمهای هسته perf_events و ftrace است. ابزارهای آنها به شما امکان میدهند تأخیر ورودی/خروجی (iosnoop) را تجزیه و تحلیل کنید، آرگومانهای فراخوانی سیستم (unccount، funcslower، funcgraph و functrace) را ردیابی کنید و آمار «Hit» را در حافظه پنهان فایل (cachestat) جمعآوری کنید. در مورد دوم، دستور به صورت زیر است:
جامعه نسبتاً بزرگی پیرامون ساز شکل گرفته است (تقریباً 6 هزار ستاره در GitHub). و شرکت هایی وجود دارند که به طور فعال از ابزارهای perf-tools استفاده می کنند نت فلیکس. اما این ابزار بیشتر در حال توسعه و اصلاح است (اگرچه اخیراً بهروزرسانیهایی به ندرت منتشر شده است). بنابراین، ممکن است خطاهایی در عملکرد آن رخ دهد - نویسنده می نویسد که گاهی اوقات perf-tools باعث وحشت هسته می شود.
ابزاری که پیش بینی می کند کد ماشین به چه تعداد منابع محاسباتی در CPU های مختلف نیاز دارد. او ارزیابی می کند دستورالعمل در هر چرخه (IPC) و بار روی سخت افزاری که یک برنامه خاص ایجاد می کند.
llvm-mca در سال 2018 به عنوان بخشی از پروژه ارائه شد LLVM، که در حال توسعه یک سیستم جهانی برای تجزیه و تحلیل، تبدیل و بهینه سازی برنامه ها است. مشخص است که نویسندگان llvm-mca از راه حلی برای تجزیه و تحلیل عملکرد نرم افزار الهام گرفته اند. IACA از اینتل و به دنبال ایجاد یک جایگزین بود. و به گفته کاربران، خروجی ابزار (طرح و کمیت آنها) واقعاً شبیه IACA است - مثال را می توان در اینجا یافت. با این حال، llvm-mca فقط قبول می کند نحو AT&T، بنابراین به احتمال زیاد مجبور خواهید بود برای کار با آن از مبدل ها استفاده کنید.
آنچه در وبلاگ ها و شبکه های اجتماعی خود می نویسیم: