لماذا يمكن أن يخفي متوسط استخدام منخفض خادم منزلي مشغول؟

إيفا وونغ هي كاتبة تقنية و ومهندسة هاوية في ZimaSpace. مهووسة بالتكنولوجيا مدى الحياة ولديها شغف بالمختبرات المنزلية والبرمجيات مفتوحة المصدر، تتخصص في تبسيط المفاهيم التقنية المعقدة إلى أدلة عملية وسهلة الفهم. تؤمن إيفا بأن الاستضافة الذاتية يجب أن تكون ممتعة وليست مخيفة. من خلال دروسها، تمكّن المجتمع من تبسيط إعدادات الأجهزة، بدءًا من بناء أول نظام تخزين شبكي NAS وحتى إتقان حاويات Docker.

يمكن أن يخفي متوسط الاستخدام المنخفض خادمًا منزليًا مشغولًا لأن المتوسط يضغط الوقت وأنوية المعالج والعمليات وأنواع الموارد إلى مجموعة صغيرة من الأرقام. يمكن للخادم أن يقضي معظم الدقيقة في حالة خمول ومع ذلك يوقف كل طلب تفاعلي خلال اندفاع قصير مدته خمس ثوانٍ.

يظهر نفس التفاوت عندما تكون نواة واحدة مشبعة، أو تنتظر المهام التخزين، أو تحجب الخيوط على قفل، أو توقف استرداد الذاكرة التخصيصات، أو عندما يعاني جزء صغير فقط من الطلبات من زمن استجابة مرتفع جدًا. يشعر الجهاز بالانشغال عندما ينتظر الطلب الحرج، وليس فقط عندما يعرض إجمالي المعالج أو الذاكرة 100%.

لماذا تمحو نوافذ العينة الطويلة الفترات القصيرة المزدحمة؟

عادةً ما تحسب أنظمة المراقبة متوسط عدادات الموارد خلال خمسة عشر ثانية، دقيقة واحدة، أو أكثر. تخفي نوافذ العينة الطويلة الارتفاعات القصيرة في استخدام المعالج لأن فترة قصيرة عند السعة الكاملة تصبح رقمًا معتدلاً بعد دمجها مع فترة خمول أطول.

يمكن لخادم يعمل بنسبة 100% من المعالج لمدة ست ثوانٍ ويكون شبه خامد خلال الأربع وخمسين ثانية المتبقية أن يبلغ متوسط دقيقة منخفض. طلب ويب يصل خلال تلك الست ثوانٍ يواجه الطابور الكامل، وليس وقت الخمول اللاحق المستخدم لتخفيف الرسم البياني.

يزيد تقليل العينة من التأثير. قد تلتقط مقياس عالي الدقة الاندفاع، بينما يخزن لوحة القيادة الساعية فقط المتوسط والحد الأدنى والحد الأقصى أو حتى نقطة متوسط واحدة فقط.

كيف يمكن أن تكون نواة واحدة مشبعة بينما يبدو إجمالي استخدام المعالج منخفضًا؟

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

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

تغير التردد، والتقليل الحراري، والتعدد الخيطي الفائق، وهجرة المجدول، وتوقفات الذاكرة أيضًا مقدار العمل الذي يمثله كل نقطة مئوية. إن استخدام كل نواة على حدة والعمل المكتمل أكثر إفادة من رقم واحد على مستوى المضيف بأكمله.

لماذا يمكن أن يبدو المعالج في حالة خمول بينما تنتظر التطبيقات التخزين؟

التحميل في لينكس ليس مجرد نسبة وحدة المعالجة المركزية. متوسط التحميل يشمل المهام التي تنتظر الإدخال/الإخراج، لذا يمكن للخيوط المحجوزة على الأقراص، أنظمة الملفات الشبكية، أو وحدات تحكم التخزين أن تجعل النظام يبدو عالقًا.

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

تحقق من زمن استجابة الجهاز، عمق الطابور، انتظار الإدخال/الإخراج، المهام المحجوزة، سلوك نظام الملفات، وزمن استجابة التخزين الشبكي. لا يستبعد قيمة منخفضة بالميجابايت في الثانية التشبع عندما يتكون عبء العمل من العديد من العمليات المتزامنة الصغيرة.

كيف تخلق الأقفال والمجموعات وقوائم الانتظار عملًا دون استهلاك عالي لوحدة المعالجة المركزية؟

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

تحتوي مجموعات الاتصالات، أقفال الملفات، معاملات قواعد البيانات، قوائم انتظار العمال، تراكمات المقابس، وإشارات التطبيقات على تزامن محدود. مجموعة بها كل المواقع مشغولة تكون مشبعة حتى لو كانت المهام التي تحتل تلك المواقع تنتظر هي نفسها.

لهذا السبب يهم طول الطابور ووقت الانتظار. الاستخدام يصف المورد الذي يقوم بالعمل؛ التشبع يصف الطلب الذي لا يمكن أن يبدأ أو يكتمل فورًا.

لماذا يمكن لضغط الذاكرة أن يوقف التطبيقات قبل أن تبدو ذاكرة الوصول العشوائي مستنفدة؟

يمكن للحاوية أن تحتوي على ذاكرة حرة ضمن حدها الخاص بينما يكون المضيف تحت الضغط بالفعل. يمكن أن يوقف الاسترداد المباشر للذاكرة خيوط التطبيق عندما يجب على النواة تحرير الصفحات قبل تلبية تخصيص جديد.

قد لا يُظهر لوحة التحكم أي حدث نفاد الذاكرة بينما تدخل خيوط الطلب في الاسترداد، وتنتظر كتابة الصفحات المتسخة، وتخطئ في الصفحات التي تم إزاحتها مؤخرًا، أو تعيد بناء مجموعة العمل التي أزالتها عبء عمل آخر.

قِس ضغط الذاكرة، الأخطاء الكبرى في الصفحات، نشاط التبديل، وقت الاسترداد، كتابة الصفحات المتسخة، وإعادة تحميل ذاكرة التخزين المؤقت. السؤال المهم هو ما إذا كانت المهام متوقفة بسبب الذاكرة، وليس ما إذا كانت شريط الذاكرة المستخدمة ممتلئًا بصريًا.

ما هي المقاييس التي تكشف حالة الانشغال الخفية؟

يختبر المستخدمون الطلبات البطيئة عند حافة التوزيع، لذا يمكن لمتوسط زمن الاستجابة أن يخفي أبطأ الطلبات. تتبع النسب المئوية، والحدود القصوى، وتتبع الطلبات بدلاً من الاعتماد فقط على متوسط زمن الاستجابة.

اجمع بين وحدة المعالجة المركزية لكل نواة عالية الدقة، وطوابير التشغيل، وزمن استجابة الإدخال/الإخراج، والمهام المحجوزة، ومعلومات ضغط التوقف، واسترجاع الذاكرة، وشغل تجمع الاتصالات، وانتظار الأقفال، وزمن استجابة التطبيق p95 أو p99. قم بمحاذاتها على نفس الجدول الزمني حتى يمكن تتبع مسار الانتظار عبر الطبقات.

الاتصالات القصيرة تكرر عمل الإعداد الثابت. قِس العمل المكتمل ووقت الانتظار خلال اللحظة البطيئة؛ لا يمكن لمتوسط طويل الأمد هادئ أن يشرح أي مورد منع تقدم ذلك الطلب.

مقياس رئيسي مضلل حالة انشغال مخفية إشارة أفضل
متوسط وحدة المعالجة المركزية لمدة دقيقة واحدة منخفض اندفاع قصير عند السعة الكاملة عينات وقياسات قصوى لمدة ثانية واحدة
استخدام منخفض لوحدة المعالجة المركزية الكلي نواة مشبعة واحدة أو خيط متسلسل استخدام كل نواة وطابور التشغيل
وحدة المعالجة المركزية الخاملة المهام المحجوزة على التخزين أو إدخال/إخراج الشبكة زمن استجابة الإدخال/الإخراج، عمق الطابور، المهام المحجوزة
الذاكرة العشوائية المتاحة الاسترجاع، إعادة تحميل الذاكرة المؤقتة، أو الكتابة الخلفية PSI، الأخطاء، الاسترجاع، والصفحات القذرة
متوسط وقت استجابة جيد جزء صغير من الطلبات البطيئة جدًا p95، p99، الحد الأقصى، والتتبع

الأسئلة الشائعة

هل متوسط حمل لينكس هو نفسه استخدام وحدة المعالجة المركزية؟

لا. متوسط الحمل يشمل المهام القابلة للتشغيل والمهام في حالة نوم لا يمكن مقاطعتها، والتي غالبًا ما تشمل الخيوط التي تنتظر الإدخال/الإخراج.

هل يمكن أن يعني 20% من إجمالي وحدة المعالجة المركزية وجود عنق زجاجة في وحدة المعالجة المركزية؟

نعم. يمكن أن تكون نواة واحدة، أو خيط واحد، أو مسار نواة متسلسل مشبعًا بينما تظل النوى الأخرى في الغالب خاملة.

لماذا يشعر الخادم بالبطء بعد زوال الاندفاع؟

قد لا تزال الطوابير تُفرغ، وقد تحتاج الذاكرات المؤقتة إلى التسخين، وقد لا تزال البيانات القذرة تُفرغ، أو قد تكون عمليات إعادة المحاولة تراكمت أثناء التوقف الأصلي.

أي مقياس واحد يجب أن يحل محل استخدام وحدة المعالجة المركزية؟

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

النتيجة النهائية

متوسط منخفض لا يثبت أن خادم المنزل لديه سعة فورية. يمكن لتجميع الوقت أن يمحو الاندفاعات، وإجمالي وحدة المعالجة المركزية يمكن أن يخفي نواة واحدة ساخنة، والمعالجات الخاملة قد تنتظر التخزين، والقفل أو استرجاع الذاكرة يمكن أن يوقف الطلبات دون وجود شريط استخدام دراماتيكي. تكشف مقاييس التشبع عالية الدقة وزمن الاستجابة النهائي عما إذا كان العمل الحرج يمكن أن يتقدم فعليًا عندما يشعر الخادم بالانشغال.

مركز التكنولوجيا والذكاء الاصطناعي

المزيد للقراءة

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.