عندما يبدأ جهاز الكمبيوتر أو أحد التطبيقات بالتقطع، يكون رد الفعل المعتاد هو إلقاء اللوم على وحدة المعالجة المركزية أو ذاكرة الوصول العشوائي أو حتى الشبكة، ولكن بدون بيانات موثوقة، من السهل الوصول إلى تشخيص خاطئ. يتيح لك مسجل أداء ويندوز (WPR) ومحلل أداء ويندوز (WPA) تسجيل وعرض تفاصيل دقيقة لما يحدث في النظام أثناء فترات ارتفاع الحمل أو انخفاض الأداء.
لا تقتصر أدوات WPR وWPA على الخبراء فقط، بل يمكن دمجها بسهولة في العمل اليومي للمطورين والمسؤولين والمستخدمين المتقدمين على حد سواء. عند دمجها مع أدوات أخرى مثل Visual Studio وApplication Insights و PerfView ، أو برامج نصية مثل PerfCollect، أو حتى مدير المهام نفسه ، فإنها توفر ترسانة قوية لتحديد اختناقات وحدة المعالجة المركزية والذاكرة والقرص ووحدة معالجة الرسومات والشبكة أو التبعيات الخارجية.
ما هو مسجل أداء ويندوز وكيف يتناسب مع النظام التشخيصي؟
يُعدّ مسجل أداء ويندوز جزءًا من مجموعة أدوات أداء ويندوز (WPT) ، وهي مجموعة من أدوات مايكروسوفت المصممة لالتقاط وتحليل أداء نظام التشغيل. تتضمن WPT مكونين رئيسيين:
- WPR. وهي مسؤولة عن تسجيل مسار الحدث.
- WPA. الواجهة الرسومية التي يتم من خلالها فتح هذا التتبع ودراسته.
يعتمد برنامج WPR على بنية تتبع الأحداث لنظام التشغيل Windows (ETW) ، وهو نظام تتبع على مستوى النواة مدمج في نظام Windows. يتم حفظ كل جلسة تسجيل في ملف بامتداد .etl (سجل تتبع الأحداث) ، والذي يتم فتحه بعد ذلك باستخدام WPA لدراسة سلوك النظام والتطبيقات بدقة عالية.
للتحكم في ما يتم تسجيله، يستخدم نظام WPR ملفات تعريف بامتداد .wprp. تحدد هذه الملفات مجموعة مزودي البيانات والأحداث، وتواتر أخذ العينات، ومستوى التفاصيل، وما إلى ذلك. وبفضل هذه الملفات التعريفية، يمكن تخصيص عملية التسجيل لتناسب سيناريوهات محددة.
أما أداة تحليل أداء ويندوز (WPA)، فهي أداة رسومية تتيح لك فتح ملفات .etl واستكشاف معلومات مثل الرسوم البيانية الزمنية، والجداول الهرمية، والجداول الزمنية المترابطة، وعروض خاصة بوحدة المعالجة المركزية، والذاكرة، والإدخال/الإخراج، والشبكة، والعديد من الأنظمة الفرعية الأخرى. تتميز WPA بمرونة عالية، حيث تتيح لك فرز البيانات حسب حقول متنوعة، والتكبير والتصغير مع مرور الوقت، والتجميع حسب الخيوط، والعمليات، والوحدات، ومكدسات الاستدعاء، وغير ذلك.

المفاهيم والمصطلحات الأساسية قبل تسجيل المسارات
قبل البدء بتسجيل بيانات التتبع، من المفيد فهم بعض المصطلحات الأساسية التي ستصادفها باستمرار في الوثائق والأدوات نفسها. معرفة هذه المصطلحات ستُمكّنك من تفسير النتائج بشكل أفضل وتجنب التشتت بين الاختصارات.
المصطلح الرئيسي الأول هو ETW (تتبع الأحداث لنظام ويندوز). هذه آلية تتبع الأحداث على مستوى النواة المدمجة في نظام ويندوز. بفضل ETW، يمكن لكل من نواة النظام والعديد من التطبيقات والمكونات إصدار الأحداث بكفاءة وبأقل تأثير ممكن.
عند كتابة هذه الأحداث على القرص، يتم تخزينها في ملف سجل تتبع الأحداث بامتداد .etl . في كل مرة يقوم فيها WPR بالتتبع، تكون النتيجة النموذجية ملفًا من هذا النوع، والذي يمكن تحليله بعد ذلك باستخدام WPA أو أدوات أخرى متوافقة، مثل PerfView.
يُطلق على التطبيق الذي يبدأ ويوقف التسجيل اسم WPR (مسجل أداء ويندوز) . يقبل هذا المسجل ملف تعريف واحد أو أكثر بامتداد .wprp كمدخلات، والتي تحدد الأحداث المراد تسجيلها والإعدادات المستخدمة. من الشائع اختيار ملفات تعريف مُعدة مسبقًا لوحدة المعالجة المركزية، أو الإدخال/الإخراج، أو الرسومات، أو استخدام النظام بشكل عام.
وأخيرًا، يُعدّ WPA (محلل أداء ويندوز) واجهة رسومية تفتح ملفات .etl وتتيح لك استعراض البيانات وفرزها وتصفيتها وربطها ببعضها. ومن خلال WPA، يمكنك التعمق أكثر في معرفة أيّ الخيوط تُرهق وحدة المعالجة المركزية، وأيّ العمليات تُولّد أكبر قدر من عمليات الإدخال/الإخراج على القرص، وأيّ التبعيات الخارجية تُسبّب زمن استجابة، وكيفية توزيع الوقت بين العمليات المختلفة داخل التطبيق.
استخدام WPR و WPA للكشف عن اختناقات وحدة المعالجة المركزية والنظام
في البيئات الصناعية، وأنظمة الخوادم الخلفية، أو حتى في محطات العمل ذات المتطلبات العالية، تُعدّ ارتفاعات استهلاك وحدة المعالجة المركزية من أكثر أعراض الأداء شيوعًا . وتُعدّ تقنيتا WPR وWPA مفيدتين بشكل خاص في رصد ما يحدث أثناء هذه الارتفاعات وفهم أسبابها.
تتضمن آلية العمل المعتادة استخدام برنامج WPR لبدء عملية التقاط البيانات قبل حدوث المشكلة مباشرةً ، سواءً من خلال واجهة المستخدم الرسومية أو سطر الأوامر، وإيقافها فور ظهور الارتفاع المفاجئ في استهلاك البيانات أو أي خلل في الأداء. وبهذه الطريقة، يعكس ملف .etl الناتج بدقة سلوك النظام خلال الفترة الحرجة.
بعد ذلك، يُفتح الملف باستخدام برنامج WPA، الذي يوفر واجهة مرئية سهلة الاستخدام للغاية لفحص البيانات . يمكنك عرض رسوم بيانية زمنية لاستخدام وحدة المعالجة المركزية، واستهلاك الذاكرة، وعمليات الإدخال/الإخراج، وعدادات أخرى، ثم التعمق من نظرة عامة على النظام إلى عمليات محددة، وخيوط، وحتى مكدسات استدعاءات توضح التعليمات البرمجية التي كانت قيد التشغيل في أي وقت محدد.
من خلال التحليل الدقيق لهذه الأنماط، يُمكن تحديد الاختناقات الحقيقية. على سبيل المثال، خيط معالجة يستحوذ على وحدة المعالجة المركزية، أو روتين معين يُنفذ بشكل متكرر للغاية، أو قسم حرج مصمم بشكل سيئ. في مجالات مثل دعم المحركات الصناعية أو برامج التحكم، يُعد هذا النوع من التحليل التفصيلي أساسيًا للحفاظ على القدرة التنافسية ومنع توقف الإنتاج.

أدوات تشخيص تطبيقات .NET و ASP.NET Core: Visual Studio و Application Insights و PerfView
في بيئة .NET، بالإضافة إلى WPR وWPA، توجد أدوات متخصصة مناسبة لتشخيص مشكلات الأداء في تطبيقات ASP.NET Core أو خدمات .NET الخلفية . وتُكمَّل العديد من هذه الأدوات بمراقبة على مستوى النظام.
تُعدّ أدوات تحليل الأداء المدمجة في Visual Studio خطوة أولى بالغة الأهمية. فمن داخل بيئة التطوير، يمكنك تحليل استخدام وحدة المعالجة المركزية، وتخصيص الذاكرة، وسلوك جامع البيانات المهملة، وبعض أحداث الأداء داخل تطبيقك. ويُسهّل تكاملها مراحل التطوير والاختبار بشكل كبير.
عندما ينتقل السيناريو إلى بيئات الإنتاج أو البيئات الموزعة، يصبح Azure Application Insights ذا أهمية بالغة . تقوم خدمة القياس عن بُعد هذه بجمع بيانات متنوعة تلقائيًا، سواء في ASP.NET Core أو في بيئات أخرى.
من أبرز ميزاته خريطة التطبيقات . تعرض هذه الخريطة جميع مكونات البنية الموزعة، وتتيح لك تحديد نقاط الضعف أو المشكلات بين الخدمات بسرعة. إضافةً إلى ذلك، يتوفر مستكشف مقاييس Azure ، الذي يُسهّل رسم المقاييس بيانيًا، وربط الاتجاهات، والتعمق في دراسة الارتفاعات والانخفاضات المفاجئة في القيم.
توفر ورقة أداء Application Insights عرضًا لكل عملية: فهي تعرض وقت كل إجراء من إجراءات التطبيق، وتتيح لك التعمق في عملية معينة ورؤية جميع التبعيات التي تساهم في استغراقها وقتًا طويلاً، وحتى من نفس العرض يمكنك استدعاء Application Insights Profiler لالتقاط تتبع الأداء المفصل عند الطلب.
PerfView وPerfCollect: تحليل معمق في سيناريوهات .NET ولينكس
عندما تحتاج إلى الاستفادة القصوى من التشخيص في تطبيقات .NET، يُنصح باستخدام PerfView ، وهي أداة طورتها فرق .NET خصيصًا لتحليل الأداء. تستطيع PerfView دراسة استخدام وحدة المعالجة المركزية، والذاكرة، وسلوك جامع البيانات المهملة (GC)، وأحداث ETW، وتوقيت الساعة بمستوى عالٍ جدًا من التفصيل.
من أبرز مزايا برنامج PerfView قدرته على فتح وتحليل ملفات .etl المُنشأة باستخدام WPR ، مما يتيح لك دراسة مسارات استدعاء الدوال وتكلفة كل دالة. توفر مايكروسوفت دليل مستخدم شاملًا للغاية، متاحًا داخل البرنامج نفسه وعلى منصة GitHub، يشرح حالات الاستخدام والأوامر وسير العمل الموصى به.
العيب الرئيسي هو أن برنامج PerfView يعمل فقط على نظام ويندوز، لذا لا يمكن تشغيله مباشرةً على خوادم لينكس التي تُشغّل تطبيقات ASP.NET Core. وللتغلب على هذا القيد، يُقدّم مجتمع .NET وفريقه برنامج PerfCollect ، وهو عبارة عن سكربت باش يستخدم أدوات لينكس الأصلية مثل perf وLTTng لالتقاط آثار متوافقة.
تتضمن آلية العمل في هذه الحالة تشغيل أداة PerfCollect في بيئة لينكس حيث تحدث مشكلة الأداء، وجمع بيانات التتبع، ونقل الملف الناتج إلى جهاز يعمل بنظام ويندوز . ومن هناك، يتم فتحه باستخدام برنامج PerfView لإجراء تحليل معمق لمكدسات الاستدعاءات، واستخدام وحدة المعالجة المركزية، وسلوك جمع البيانات المهملة.
يمكن العثور على معلومات مفصلة حول كيفية تثبيت PerfCollect، وكيفية بدء جلسات التتبع وإيقافها، وكيفية تفسير النتائج من خلال دمجها مع PerfView وأدوات التشخيص الأخرى على GitHub.
تحليل الاختناقات في HoloLens والأجهزة عبر WPA
لا يقتصر رصد الأداء على الخوادم وأجهزة الكمبيوتر المكتبية فحسب، بل يُعدّ مفيدًا للغاية أيضًا على أجهزة مثل HoloLens ، حيث تكون هوامش الحرارة والموارد أكثر حساسية. ويُعدّ تحديد العمليات التي ترفع درجات الحرارة بشكل حاد أو الخيوط التي تُرهق وحدة المعالجة المركزية أمرًا بالغ الأهمية للحفاظ على تجربة واقع مختلط سلسة.
في هذه الحالات، تُستخدم أيضًا بنية ETW التحتية. يستطيع HoloLens إنشاء مسارات باستخدام مسجل أداء Windows ، وحفظها كملفات بامتداد .etl، والتي تُفتح بعد ذلك باستخدام WPA من جهاز كمبيوتر تجريبي. يتيح ذلك تصور اختناقات الأجهزة أو البرامج، مثل ارتفاع درجة الحرارة أو العمليات التي تتطلب موارد عالية بشكل خاص.
لتفعيل WPA، ما عليك سوى تنزيل التطبيق من متجر Microsoft أو تثبيت مجموعة أدوات أداء Windows عبر مجموعة أدوات تقييم ونشر Windows (ADK). تتضمن المجموعة أيضًا أدوات عامة أخرى لتصحيح الأخطاء وتشخيص النظام الأساسي.
يتم التقاط البيانات على HoloLens من خلال بوابة الجهاز . من القائمة الجانبية، انتقل إلى قسم "تتبع الأداء"، واختر ملف تعريف مُعد مسبقًا أو حمّل ملف تعريف مخصص، ثم انقر على "بدء التتبع"، وكرر السيناريو الذي يُسبب المشكلة. بمجرد التقاط البيانات اللازمة، أوقف التتبع، وستعرض البوابة بيانات التتبع في أسفل الصفحة.
يمكن تنزيل ملف ETL هذا مباشرةً، أو فتحه في برنامج WPA على جهاز التحليل، أو مشاركته مع شخص آخر لإجراء التحليل في بيئته. بمجرد فتحه في WPA، يُمكن تطبيق ملفات تعريف تحليل مُحددة والتركيز على وحدة المعالجة المركزية، أو الذاكرة، أو وحدة معالجة الرسومات، أو أي نظام فرعي آخر ذي صلة بتجربة الواقع المختلط.
إعداد الملفات والملفات التعريفية للتحليل باستخدام محلل أداء ويندوز
لضمان فعالية تحليل WPA، من الضروري تنظيم الموارد اللازمة حول ملف .etl. يُنصح بإنشاء مجلد يحتوي على آثار التتبع والرموز وملفات تعريف WPA المستخدمة، مما يضمن سهولة وصول الأداة إلى جميع هذه الموارد.
من الأمثلة النموذجية لبنية عمل فعّالة وجود ملف التتبع HoloLens_trace_file.etl ، وملف تعريف WPA مثل CPU_analysis.wpaProfile، ومجلد فرعي باسم "Symbols" يحتوي على جميع ملفات .pdb الضرورية المستخرجة مسبقًا، وكلها في مجلد واحد. وبذلك، يستطيع WPA تحليل مسارات الاستدعاء باستخدام أسماء الدوال سهلة القراءة، وهو أمر أساسي لتحديد الجزء من الكود الذي يُسبب الحمل الزائد.
عادةً ما تكون عملية التحليل الأساسية في برنامج WPA كما يلي: تشغيل البرنامج، وفتح ملف .etl من قائمة "ملف > فتح" ، والسماح له بتحميل البيانات الأولية. ثم، تحميل الرموز من قائمة التتبع ("تتبع > تحميل الرموز" أو ما شابه، حسب الإصدار)، مع تحديد المجلد الذي توجد فيه ملفات .pdb.
بمجرد حصول WPA على الرموز، يمكن تطبيق ملف تعريف تحليل محدد من قائمة ملفات التعريف عن طريق تحديد ملف .wpaProfile المقابل. تُنشئ هذه الخطوة تلقائيًا سلسلة من الرسوم البيانية والجداول المعروضة في علامة تبويب التحليل، مع التركيز على الجوانب الأكثر صلة بهذا النوع من المراقبة (مثل وحدة المعالجة المركزية، والمجدول، وإدخال/إخراج القرص، وما إلى ذلك).
بعد ذلك، يتضمن العمل استكشاف هذه العروض، وتوسيع العُقد، والتصفية حسب العمليات أو الخيوط، وربط ما يُرى في الرسوم البيانية بالسلوك المُلاحَظ على الجهاز. تتضمن الأداة نفسها علامة تبويب تمهيدية مفيدة للغاية، وهناك وفرة من الوثائق والمواد التدريبية المتاحة لمزيد من الاستكشاف، بما في ذلك مقاطع فيديو تمهيدية وأدلة خطوة بخطوة.
أفضل حاسبات الاختناق لنظام التشغيل ويندوز
من بين الخيارات الأكثر شيوعًا، توجد عدة أدوات تحاول، من خلال مناهج مختلفة، تحديد مدى التباين بين المكونات الرئيسية للنظام . وهي ليست مثالية، لكنها قد تكون مفيدة إذا كنت تعرف كيفية تفسير نتائجها.
من أشهرها حاسبة عنق الزجاجة الخاصة بـ PC Builds . واجهتها بسيطة: تختار المعالج، وبطاقة الرسومات، والدقة المستهدفة، ونوع الاستخدام (على سبيل المثال، الألعاب)، وتقوم الأداة بحساب ما إذا كان هذا المزيج سيخلق عنق زجاجة كبيرًا أم لا.
تكمن قوة هذه الآلة الحاسبة في قدرتها على دمج ومطابقة مكونات الأجهزة من مختلف الشركات المصنعة بسهولة ، مما يوفر إجابة سريعة وواضحة حول ما إذا كان المعالج المركزي سيُعيق أداء وحدة معالجة الرسومات أم العكس. أما عيبها الرئيسي فهو عدم مراعاتها لحجم وسرعة ذاكرة الوصول العشوائي، وهما عاملان يؤثران بشكل كبير على أداء النظام الفعلي.
لتحليل أكثر تفصيلاً، يمكنك استخدام حاسبة عنق الزجاجة الخاصة بـ CPU Agent . على عكس الأداة السابقة، تأخذ هذه الأداة في الاعتبار مقدار الذاكرة وسرعتها، بالإضافة إلى وحدة المعالجة المركزية ووحدة معالجة الرسومات ودقة الشاشة وجودة الرسومات التي تخطط لاستخدامها.
من مزايا هذه الأداة أنها توفر معلومات موسعة عن كل مكون. على سبيل المثال، ما إذا كان المعالج مزودًا بنظام تبريد مدمج، وكيف يعمل عند دقة عرض مختلفة، وما هي نسب الاستخدام المتوقعة، وما إلى ذلك. كل هذا يساعد على فهم النظام ككل بشكل أفضل واتخاذ قرار مدروس.
في كلتا الحالتين، هذه خدمات مجانية سهلة الاستخدام للغاية: ما عليك سوى اختيار المكونات المطلوبة، وإجراء الحساب، والحصول على النتائج في غضون ثوانٍ معدودة. مع ذلك، يُنصح بأخذ بعض الوقت لتحليل النتائج وعدم الاكتفاء بنسبة مئوية إجمالية.
كيفية استخدام الآلات الحاسبة والمنتديات لاختيار الأجهزة المناسبة
لا ينبغي أن تكون حاسبات عنق الزجاجة، وحدها، المصدر الوحيد لاتخاذ القرارات. مع ذلك، فهي أداة ترشيح أولية مفيدة للغاية. من الأفضل استخدامها لتضييق نطاق الخيارات إلى عدة توليفات معقولة من وحدة المعالجة المركزية ووحدة معالجة الرسومات وذاكرة الوصول العشوائي ، ثم إجراء مزيد من البحث والتقصي.
يُعدّ تصفح منتديات الشركات المصنّعة للأجهزة أو المجتمعات المتخصصة إضافةً قيّمةً لبحثك، إذ يُتيح لك العثور على مستخدمين آخرين يستخدمون نفس مجموعة المكونات التي تفكر في اقتنائها. في كثير من الأحيان، ستجد بالفعل مواضيع مفتوحة تتضمن تجارب عملية، واختبارات أداء، وأي مشاكل واجهتها.
من المفيد أيضاً طرح أسئلة مباشرة: استفسر عما إذا كان أي شخص قد واجه مشاكل في الأداء مع معالج وبطاقة رسومات معينين عند تشغيل نفس البرنامج الذي تنوي استخدامه. أو اطلب اقتراحات لمجموعات بديلة قد تكون أفضل ضمن نفس الميزانية.
بالإضافة إلى ذلك، من المفيد جدًا استخدام مواقع تخصيص مواصفات أجهزة الكمبيوتر . فهي تتيح لنا تحقيق التوازن بين الميزانية والأداء واستهلاك الطاقة. ومن خلال الجمع بين المعلومات من الآلات الحاسبة والمنتديات وهذه المواقع، يمكننا الوصول إلى عملية شراء مثالية تلبي احتياجاتنا الفعلية.
يتيح لك هذا النهج ليس فقط اختيار المكونات المناسبة، ولكن القيام بذلك بثقة كبيرة، مع العلم أن هناك مستخدمين لديهم تجارب إيجابية وأن احتمالية مواجهة اختناقات خطيرة ستكون أقل بكثير.
كيفية التحقق من وجود اختناقات في جهاز كمبيوتر مُجمّع مسبقًا باستخدام أدوات ويندوز
بمجرد تجميع الكمبيوتر وبدء استخدامه، لا داعي للجوء فورًا إلى برامج خارجية لاكتشاف أي اختلالات. يتضمن نظام ويندوز مدير المهام، وهو أداة قيّمة للغاية لمراقبة وحدة المعالجة المركزية، وذاكرة الوصول العشوائي، والقرص الصلب، ووحدة معالجة الرسومات، وحمل الشبكة في الوقت الفعلي.
يتكون الإجراء الأساسي مما يلي:
- افتح مدير المهام.
- أغلق جميع التطبيقات باستثناء التطبيق الذي تريد تحليله.
- لاحظ كيف تتطور الموارد المختلفة أثناء تشغيل عبء العمل المعتاد.
إذا لاحظتَ، أثناء استخدام برنامجٍ مُعين، أن استخدام وحدة المعالجة المركزية أو الذاكرة أو القرص أو الشبكة ثابتٌ عند 100% ، فمن المُرجّح أن هذا المُكوّن يُرهق النظام إلى أقصى حد. هذه علامةٌ واضحة على وجود اختناق، تُساعدك على تحديد الجزء الذي يجب ترقيته أولاً.
من الأمثلة الكلاسيكية على ذلك لعبة تتطلب موارد عالية جدًا، حيث تتجاوز متطلبات المعالج قدرة وحدة المعالجة المركزية المثبتة. في مثل هذه الحالات، قد يبقى حمل وحدة المعالجة المركزية عند 100% باستمرار، بينما لا يتم استخدام ذاكرة الوصول العشوائي (RAM) بنفس القدر.
من خلال تكرار هذه الاختبارات باستخدام تطبيقات وأحمال عمل مختلفة، يمكنك تدريجياً تكوين صورة واقعية إلى حد كبير عن المكون الذي يعيق الأداء العام للنظام. وبالتالي، تحديد الترقية الأكثر فعالية من حيث التكلفة.
تتيح لك منظومة المراقبة المتكاملة هذه - بدءًا من WPR وWPA وصولًا إلى PerfView وApplication Insights وحاسبات الاختناقات ومراقبة الشبكة وعروض إدارة المهام البسيطة - تكوين صورة دقيقة إلى حد كبير عن مواضع انخفاض الأداء. والهدف هو تحديد الاختناقات وإصلاحها بسرعة وكفاءة أكبر، وتجنب اللجوء العشوائي إلى تحديثات مكلفة لا تحل المشكلة فعليًا.
