معايير للخوادم على نظام Linux: مجموعة مختارة من الأدوات المفتوحة

نواصل الحديث عن أدوات لتقييم أداء وحدة المعالجة المركزية على أجهزة Linux. اليوم في المواد: temci ، uarch-bench ، likwid ، أدوات perf و llvm-mca.

المزيد من المعايير:



صور - لوكاس بلازيك - Unsplash



temci


هذه أداة لتقدير وقت تنفيذ البرنامجين. في الواقع ، يسمح لك بمقارنة وقت تنفيذ تطبيقين. كتب الأداة من قبل طالب من ألمانيا ، يوهانس Bechberger ، الذي طورها كجزء من عمله الجامعية في عام 2016. اليوم ، تم ترخيص الأداة بموجب رخصة جنو العمومية.

أراد يوهانس إنشاء أداة من شأنها قياس أداء نظام الحوسبة في بيئة مسيطر عليها. لذلك ، واحدة من الميزات الرئيسية temci هي القدرة على تكوين بيئة اختبار. على سبيل المثال ، يمكنك : تغيير إعدادات مدير التحكم في تردد وحدة المعالجة المركزية (CPU) ، وتعطيل مؤشرات الترابط الفائق وذاكرة التخزين المؤقت L1 و L2 ، وإيقاف تشغيل وضع turbo على معالجات Intel وغيرها .لمعايير التقييم ، تستخدم temci أدوات الوقت ، perf_stat و getrusage .

هذه هي الطريقة التي تعمل بها الأداة المساعدة في الحالة الأولى:

# 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 عن الحلول المماثلة.

من أوجه القصور في temci تبرز "شبابه". لهذا السبب ، لا يدعم كل تكوينات الأجهزة والبرامج. على سبيل المثال ، من الصعب أن تعمل تحت نظام macOS ، وبعض الوظائف غير متوفرة على نظام به معالج ARM. قد يتغير الوضع في المستقبل ، حيث يقوم المؤلف بتطوير المشروع بنشاط ، ويزداد عدد النجوم في جيثب تدريجياً - ليس ببعيد نوقش temci في التعليقات على Hacker News.



uarch مقاعد البدلاء


أداة مساعدة لتقييم أداء وظائف وحدة المعالجة المركزية ذات المستوى المنخفض ، والتي تم تطويرها بواسطة المهندس Travis Downs ( Travis Downs ). قام مؤخرًا بتشغيل مدونة الأداء الخاصة به على صفحات GitHub ، والتي تتحدث عن أدوات القياس والأشياء الأخرى ذات الصلة. بشكل عام ، بدأت uarch-bench في اكتساب شعبية ، ولكن تم ذكرها بالفعل من قِبل سكان Hacker News في المواضيع المواضيعية كأداة مرجعية للانتقال.

يتيح لك Uarch-bench تقييم أداء الذاكرة وسرعة تحميل البيانات المتوازية والعمل على تنظيف سجلات YMM . يمكن العثور على النتائج المرجوة الناتجة عن البرنامج في المستودع الرسمي في أسفل الصفحة.

تجدر الإشارة إلى أن uarch-bench ، مثل temci ، يعطل وظيفة Intel Turbo Boost (تزيد تلقائيًا من سرعة ساعة المعالج تحت الحمل) بحيث تكون نتائج الاختبار متسقة.

حتى الآن ، لا يزال المشروع في المراحل الأولى من التطوير ، وبالتالي فإن قاعدة uarch لا تحتوي على وثائق مفصلة ، وقد يكون هناك أخطاء في عملها - على سبيل المثال ، من المعروف أن الصعوبات في تشغيل Ryzen معروفة . كما يتم دعم معايير هندسة x86 فقط. يعد المؤلف بإضافة المزيد من الوظائف في المستقبل ويدعو للانضمام إلى التطوير.



likwid


هذه مجموعة أدوات لتقييم أداء أجهزة Linux باستخدام معالجات Intel و AMD و ARMv8. تم إنشاؤه تحت رعاية وزارة التعليم والبحث الفيدرالية الألمانية في عام 2017 وتم نقله إلى المصدر المفتوح.

من بين الأدوات المشابهة ، يمكن تمييز likwid-powermeter ، والذي يعرض معلومات من سجلات RAPL حول الطاقة التي يستهلكها النظام ، وكذلك likwid-setFrequencies - يسمح لك بالتحكم في تردد المعالج. يمكنك العثور على القائمة الكاملة في المستودع .

يتم استخدام الأداة من قبل المهندسين المشاركين في البحوث في مجال HPC. على سبيل المثال ، تعمل مجموعة من المتخصصين من المركز الإقليمي للحوسبة التابع لجامعة إرلانجن نورمبرغ (RRZE) في ألمانيا مع ليكويد. وهي تشارك بنشاط في تطوير هذه المجموعة من الأدوات.





صور - كليم Onojeghuo - Unsplash



الأداء الإقتصادي الأداء الأدوات


تم تقديم هذه الأداة لتحليل أداء خوادم Linux بواسطة Brendan Gregg. وهو أحد مطوري DTrace ، وهو إطار تتبع ديناميكي لتصحيح أخطاء التطبيقات في الوقت الفعلي.

تستند أدوات perf إلى الأنظمة الأساسية لـ kernel perf_events و ftrace. تتيح لك أدواتهم المساعدة تحليل تأخير الإدخال / الإخراج (iosnoop) ، وتتبع الوسائط للوصول إلى مكالمات النظام (إلغاء الحساب ، funcslower ، funcgraph و functrace) وجمع إحصائيات "الزيارات" في ذاكرة التخزين المؤقت للملف (cachestat). في الحالة الأخيرة ، يبدو الأمر كما يلي:

 # ./cachestat -t Counting cache functions... Output every 1 seconds. TIME HITS MISSES DIRTIES RATIO BUFFERS_MB CACHE_MB 08:28:57 415 0 0 100.0% 1 191 08:28:58 411 0 0 100.0% 1 191 08:28:59 362 97 0 78.9% 0 8 08:29:00 411 0 0 100.0% 0 9 

تشكل مجتمع كبير نوعًا ما حول الأداة ( ما يقرب من 6 آلاف نجم على جيثب ). وهناك الشركات التي تستخدم أدوات perf بنشاط ، مثل Netflix . ولكن يتم الانتهاء من هذه الأداة وتعديلها (على الرغم من أن التحديثات قد تم إصدارها نادرًا مؤخرًا). لذلك ، قد تحدث أخطاء في عمله - يكتب المؤلف أن أدوات perf في بعض الأحيان تسمى kernel panic.



llvm-مولودية الجزائر


أداة مساعدة تتنبأ بكمية موارد الحوسبة التي سيحتاجها رمز الجهاز على وحدات معالجة مركزية مختلفة. يقوم بتقييم الإرشادات لكل دورة ( IPC ) وتحميل الأجهزة التي ينشئها التطبيق.

تم تقديم llvm-mca في عام 2018 كجزء من مشروع LLVM ، الذي يقوم بتطوير نظام عالمي لتحليل البرامج وتحويلها وتحسينها. من المعروف أن مؤلفي llvm-mca قد استلهموا من حل تحليل أداء برنامج Intel IACA وسعوا إلى إيجاد بديل له. ووفقًا للمستخدمين ، فإن ناتج الأداة (الترميز والأرقام) يشبه IACA حقًا - يمكن العثور على مثال هنا . ومع ذلك ، فإن llvm-mca لا تقبل إلا بناء جملة AT & T ، لذلك قد تحتاج إلى استخدام المحولات للتعامل معها.



ما نكتب عنه في مدوناتنا وشبكاتنا الاجتماعية:

"مات. نموذج وول ستريت "أو كيفية تحسين تكاليف السحابة

تأمين نظام Linux الخاص بك: 10 نصائح
تقليل المخاطر: كيف لا تفقد بياناتك

كتب لأولئك الذين يشاركون بالفعل في إدارة النظام أو يخططون للبدء فقط
الاختيار: خمسة كتب ودورة واحدة على الشبكات



نحن في 1cloud.ru نقدم خدمة مجانية " استضافة DNS ". يمكنك إدارة سجلات DNS الخاصة بك في حساب شخصي واحد.


Source: https://habr.com/ru/post/ar464763/


All Articles