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

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

كيفية منع تكرار المهام أو عمليات الاستيراد في Immich
افصل المهام المتكررة عن الأصول المكررة. استخدم مسارًا أساسيًا واحدًا للإدخال، وتحكّم في عمليات إعادة المحاولة وتغييرات المسارات، ثم اختبر إعادة الإدخال على مجموعة...

كيفية إصلاح Immich بعد امتلاء وحدة تخزين قاعدة البيانات الخاصة به
لا تحذف سجلات WAL الخاصة بـ PostgreSQL لتحرير المساحة مطلقًا. أوقف عمليات الكتابة في Immich، وحافظ على حالة قاعدة البيانات، وأضف سعة تخزين آمنة،...

