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

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

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

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

