اختبر Immich باستخدام عملية واحدة قابلة للتكرار، واربط زمن الاستجابة بانتظار الموارد، وأكّد عنق الزجاجة المشتبه به من خلال تدخل مضبوط.
لا يمكن للقطة لوحة المعلومات التمييز بين النشاط المفيد والتزاحم الضار. قِس نقطة نهاية واحدة—مثل قبول الرفع أو عرض الصور المصغّرة أو استجابة البحث الذكي—في ظل وسائط وعملاء ثابتين، ثم غيّر المورد المحدود المشتبه به وحده.
حدّد نقطة نهاية واحدة وخط أساس قابلًا لإعادة الإنتاج
ابدأ بتسمية نقطة النهاية بعبارات قابلة للملاحظة. عبارة «Immich بطيء» غير قابلة للاختبار، لكن عبارة «تستغرق الصور المصغّرة العشرون نفسها في المخطط الزمني أربع ثوانٍ للظهور بعد إعادة التشغيل» قابلة للاختبار. ثبّت العميل ومسار الشبكة والحساب ومجموعة الصور وحالة البدء، بحيث تختلف عمليات التشغيل اللاحقة في متغير مقصود واحد فقط.
يوضح نموذج مسار البيانات في Immich أن الرفع والمعالجة واختيار قاعدة البيانات وتسليم الوسائط تمر عبر تبعيات مختلفة. يجب أن يوقّت الاختبار الموجّه إلى اختيار نتائج البحث قائمة النتائج منفصلة عن عرض الصور؛ وإلا فسيُسجَّل استعلام سريع تليه قراءات ملفات بطيئة على أنه تأخير واحد غير محدد المصدر.
شغّل خط الأساس ثلاث مرات على الأقل، واحتفظ بكل من الوسيط وأبطأ نسبة مئوية مفيدة. سجّل عمق قائمة الانتظار، واستخدام وحدة المعالجة المركزية لكل حاوية، وضغط الذاكرة، ونشاط التبديل، ومعدل نقل الشبكة وإعادات الإرسال، وزمن استجابة القرص، وعمق قائمة انتظار الإدخال والإخراج. يجب أن يطابق ادعاء وجود عنق زجاجة إشارة المورد مع تأخير نقطة النهاية.
افصل بين تشبّع وحدة المعالجة المركزية وضغط الذاكرة
تُبقي العملية المقيّدة بوحدة المعالجة المركزية العمل الجاهز في انتظار وقت المعالج، لذا ينبغي أن يتتبع زمن استجابة نقطة النهاية تشبّع الأنوية المستمر أو خنق الأداء. أما العملية المقيّدة بالذاكرة فقد تُظهر بدلًا من ذلك استعادة الذاكرة أو التبديل أو إنهاء الحاويات أو إعادة تحميل النماذج بشكل متكرر. قد يجعل كلاهما مخططات وحدة المعالجة المركزية تبدو مشغولة، لكن تدخلاتهما تؤدي إلى استجابات مختلفة.
يوزّع دليل موارد مستقل لـ Immich الاستخدام بين الخادم وPostgreSQL وRedis ومكوّنات تعلّم الآلة، بدلًا من اعتبار إجمالي الذاكرة متطلبًا واحدًا. وتهم هذه الرؤية على مستوى الخدمة، لأن توفر ذاكرة على المضيف قد يتعايش مع حدّ ذاكرة صغير للحاوية، كما أن ذاكرة التخزين المؤقت الكبيرة للملفات لا تعني تلقائيًا وجود ضغط.
تحقّق من ضغط وحدة المعالجة المركزية بخفض تزامن عمال الخلفية أو تخصيص مزيد من وحدات المعالجة مع إبقاء الذاكرة ثابتة. وتحقّق من ضغط الذاكرة بإزالة نشاط التبديل أو رفع حدّ الذاكرة المقيّد دون تغيير عدد العمال. إذا لم تتحسن نقطة النهاية باستمرار، فارفض اعتبار ذلك المورد الحدّ الأساسي في هذا الاختبار.
ميّز بين تأخير الشبكة وتأخير التخزين
غالبًا ما تظهر قيود الشبكة والتخزين معًا، لأن الوسائط البعيدة تعبر كليهما. يحدّ الرابط المشبع عدد البايتات المنقولة في الثانية، بينما يزيد تزاحم التخزين زمن اكتمال القراءة أو الكتابة حتى على رابط هادئ. لذلك قد يؤدي الاختبار من عميل بعيد فقط إلى عزو بطء تسليم الملفات إلى الطبقة الخطأ.
يؤكد تحليل Kingston لمحركات SSD أن العمل في الخلفية وسلوك البرنامج الثابت والتخزين المؤقت وأوامر المضيف تؤثر في استجابة التخزين بما يتجاوز سرعة النقل التسلسلي المعلنة. وفي Immich، تجعل عمليات الصور المصغرة وقاعدة البيانات الصغيرة والمتعددة زمن الاستجابة وسلوك قائمة الانتظار أكثر إفادة من نتيجة واحدة لعرض النطاق الترددي لملف كبير.
كرّر اختبار نقطة النهاية من عميل محلي سلكي، ثم من المسار البعيد المعتاد، من دون تغيير مجموعة بيانات الخادم. واقرأ بشكل منفصل مجموعة ملفات تمثيلية على المضيف، وراقب زمن استجابة الجهاز. يشير التحسن على العميل المحلي فقط إلى مشكلة في مسار الشبكة؛ أما استمرار الانتظار على جانب المضيف فيشير إلى التخزين أو نقطة تركيبه.
استخدم مصفوفة تدخل لقبول كل سبب أو رفضه
اكتب أربعة صفوف قبل الاختبار: وحدة المعالجة المركزية والذاكرة والشبكة والتخزين. امنح كل صف عرضًا متوقعًا وتدخلًا موجّهًا وشرطًا واحدًا للرفض. يمنع ذلك تغيّر التشخيص بعد ظهور النتائج، ويجعل النتيجة السلبية مفيدة بدلًا من أن تكون سببًا لشراء عدة ترقيات دفعة واحدة.
يوضح تقرير ميداني عام عن Immich، يعرض صورًا مصغّرة متأخرة رغم توفر عرض نطاق ترددي كبير للإنترنت، سبب عدم كفاية المواصفات وحدها. والدليل المهم هو ما إذا كان تغيير موجّه يحرّك نقطة النهاية المقاسة، مع إبقاء مجموعة الوسائط وحالة التخزين المؤقت والمهام والعميل وإصدار التطبيق ثابتة.
اقبل وحدة المعالجة المركزية فقط إذا أدى تخفيف الحمل على المعالج إلى تحسين زمن الاستجابة؛ والذاكرة فقط إذا أدى تخفيف الاستعادة إلى ذلك؛ والشبكة فقط إذا أدى تخفيف الحمل على المسار إلى ذلك؛ والتخزين فقط إذا أدى خفض انتظار الجهاز أو نقطة التركيب إلى ذلك. إذا ساعد تدخلان، فأعد الاختبار بالترتيبين لأن عنق الزجاجة الثاني قد لا يظهر إلا بعد إزالة الأول.
مركز التكنولوجيا والذكاء الاصطناعي
المزيد للقراءة

ما هي حالة Immich، وما الأجزاء التي يجب أن تستمر؟
تتضمن حالة Immich الملفات الأصلية، والعلاقات في قاعدة البيانات، والهوية، والإعدادات، والمشتقات؛ احفظ كل عنصر منها وفقًا لإمكانية إعادة إنشائه.

كيف يتعامل Immich مع المصادقة عبر الجلسات المحلية والبعيدة؟
يستخدم Immich هويةً من جهة الخادم مع جلسات العميل، بينما قد تتسبب ترويسات الوكيل والأصول وعمليات إعادة توجيه OIDC في اختلاف السلوك محليًا وعن...

ما الذي يسبب بطء البحث أو نتائج الاستعلام في Immich مع ازدياد حجم البيانات؟
يمكن لنمو Immich أن يوسّع الفهارس، ويُخرج الصفحات النشطة من الذاكرة، ويعقّد عمليات التصفية، ويؤخر تسليم الوسائط؛ لذا افصل هذه المراحل قبل الضبط.

