قد يبدو Immich أبطأ على أحد الأجهزة العميلة لأن التصيير من جانب العميل، وفك ترميز الصور، وحالة ذاكرة التخزين المؤقت، ومسار الشبكة تضيف أعمالًا بعد استجابة الخادم.
قد تتصفح عائلة مكتبة الصور نفسها من متصفح على سطح مكتب، وهاتف قديم، وجهاز لوحي، بينما يظل خادم Immich ووحدة التخزين وقاعدة البيانات دون تغيير. ومع ذلك، قد يفتح أحد الأجهزة الجداول الزمنية أو المعاينات في وقت لاحق، لأن الطلب من البداية إلى النهاية يتضمن أعمالًا خارج الخادم. لذلك، تتمثل المقارنة المفيدة في التمييز بين زمن استجابة الخادم والزمن الإضافي الذي يستغرقه كل جهاز عميل في استلام النتيجة وفك ترميزها وتخزينها مؤقتًا ورسمها.
يغيّر الجهاز العميل العمل الذي يحدث بعد استجابة Immich
لا ينتهي طلب Immich عندما يجهّز الخادم ملف JSON أو عنوان URL لصورة مصغرة أو استجابة صورة. فما يزال على الجهاز العميل معالجة تلك الاستجابة، وتحديث واجهته، وجدولة التصيير، والاستجابة لإدخال المستخدم. لذلك يمكن لخادم سريع أن يترافق مع جهاز عميل يبدو بطيئًا عندما يستغرق الجهاز أو المتصفح وقتًا إضافيًا لتحويل البيانات المُعادة إلى شاشة مرئية وتفاعلية.
وتكتسب هذه التفرقة أهمية خاصة في المتصفحات، حيث تتنافس JavaScript ومعالجة الأحداث وحساب الأنماط وتخطيط الصفحة وجزء كبير من الرسم على موارد الخيط الرئيسي. فإذا شغل هاتف قديم أو متصفح مزدحم ذلك الخيط مدة أطول، فقد تتأخر النقرات والتمرير، رغم أن واجهة Immich البرمجية اكتملت في الوقت نفسه تقريبًا كما حدث على سطح مكتب أسرع.
لهذا السبب، فإن مقارنة استخدام وحدة المعالجة المركزية في الخادم أو زمن استجابة قاعدة البيانات فقط تفوّت جزءًا من التجربة. يوضح نقاش ZimaSpace حول العملاء الأصليين وعملاء المتصفح المبدأ نفسه في الأنظمة: يمكن لخلفية واحدة أن تغذي مسارات تنفيذ مختلفة لدى العملاء. وبالنسبة إلى Immich، يتمثل السؤال التشخيصي الأول في معرفة ما إذا كان التأخير يحدث قبل وصول الاستجابة أم بعد بدء العميل في معالجتها.
قد يجعل تصيير الصور الاستجابات السريعة تبدو بطيئة
يجعل تصفح الصور الفارق بين الأجهزة العميلة أكثر وضوحًا، لأن المعرض لا يتكون من نص وبيانات وصفية لواجهة برمجية فقط. فقد يطلب الجهاز العميل العديد من الصور المصغرة أو معاينة أكبر، ويحتفظ ببعضها في الذاكرة، ويفك ترميز بيانات الصور المضغوطة، ويغيّر حجمها لتناسب إطار العرض، ويركّب عدة صور بينما يواصل المستخدم التمرير. ويمكن أن يختلف حجم هذا العمل المحلي وتوقيته اختلافًا كبيرًا بين الأجهزة، حتى عندما تطلب الأصول نفسها من Immich.
يجب أن تمر التنسيقات المضغوطة مثل JPEG وWebP بمرحلة فك ترميز الصور قبل عرض وحدات البكسل. ويمكن لوحدات المعالجة المركزية الأسرع، وأدوات فك الترميز الأفضل تحسينًا، والذاكرة المتاحة الأكبر، ومحركات المتصفح المختلفة تقصير هذه المرحلة. وعلى جهاز عميل أضعف، قد تنتهي الشبكة أولًا، بينما يصبح فك الترميز والرسم هو الجزء الذي ينتظره المستخدم فعليًا.
والنتيجة العملية هي أن المعاينة الأكبر أو الأكثر وضوحًا ليست مجانية لمجرد أن الخادم يستطيع إنشاؤها بسرعة. فالصور الأعلى دقة تتطلب ذاكرة أكبر للبكسلات بعد فك ترميزها، كما تتطلب مزيدًا من العمل لتغيير حجمها ورسمها. وإذا أصبح أحد الأجهزة العميلة بطيئًا أساسًا عند فتح المعاينات الكاملة أو التمرير السريع في الجداول الزمنية الكثيفة، بينما تظل شاشات البيانات الوصفية البسيطة سريعة الاستجابة، فإن مسار تصيير الصور يكون تفسيرًا أقوى من وجود حد عام في سعة الخادم.
تغيّر حالة ذاكرة التخزين المؤقت الدافئة سرعة الزيارات المتكررة
قد يعيد جهاز عميل سبق له تصفح ألبوم استخدام الصور المصغرة أو البرامج النصية أو البيانات الوصفية أو الموارد التي فُك ترميزها، بينما لا يزال جهاز جديد بحاجة إلى الحصول عليها ومعالجتها. وهذا يجعل المرور الثاني أقصر، لكنه لا يعني أن الخادم اكتسب سعة فجأة؛ بل يعني أن جزءًا من مسار الطلب اختفى لأن الجهاز العميل بدأ من حالة أكثر دفئًا مما كان عليه في المرور الأول.
تُظهر دراسات المتصفحات الفعلية أن معدلات إصابة ذاكرة التخزين المؤقت تختلف بين المتصفحات والإصدارات والأجهزة والوقت. والنسب المحددة التي أوردتها Facebook ليست اختبارًا معياريًا لـ Immich، لكن الآلية مهمة: يمكن لجهازين عميلين الوصول إلى الخادم نفسه مع سجلين مختلفين لذاكرة التخزين المؤقت المحلية. لذلك قد يبدو متصفح سطح مكتب دافئ أسرع استجابة بكثير من تطبيق هاتف مُثبّت حديثًا، من دون أن يثبت ذلك أن أيًا منهما أسرع بطبيعته.
كما قد تؤدي ذاكرة التخزين المؤقت إلى اختبارات مضللة قبل التغيير وبعده. فقد يؤدي تحديث الألبوم نفسه عدة مرات إلى إزالة أعمال التنزيل والمعالجة من عمليات التشغيل اللاحقة، ولذلك تقيس أسرع عملية غالبًا إعادة الاستخدام لا عبء العمل العائلي المعتاد. وإذا كان الهدف مقارنة الأجهزة العميلة، فسجّل مسارًا باردًا أو مفتوحًا حديثًا ومسارًا متكررًا؛ فالفارق بينهما دليل مفيد بحد ذاته على مدى اعتماد كل جهاز عميل على إعادة الاستخدام المحلية.
متى تتوقف الفروق بين الأجهزة العميلة عن تفسير التأخير؟
تتوقف الفروق بين الأجهزة العميلة عن كونها التفسير الأرجح عندما تتباطأ عدة أجهزة مختلفة في الوقت نفسه وتحت عبء العمل نفسه. فإذا كان متصفح سطح المكتب والهاتف والجهاز اللوحي ينتظرون جميعًا مدة أطول لبيانات الجدول الزمني أو استجابات المعاينة، بينما يرتفع استخدام وحدة المعالجة المركزية في الخادم أو زمن استجابة التخزين أو نشاط قاعدة البيانات أو استخدام الشبكة، تصبح البنية التحتية المشتركة تفسيرًا أكثر ترجيحًا للحد الأدنى من سرعة الاستجابة مقارنةً بأي تنفيذ منفرد لدى أحد العملاء.
ينبغي أن يشمل قياس الزمن من البداية إلى النهاية أكثر من المكوّن الأسهل قياسًا. يوضح تحليل زمن الاستجابة من Datadog أن زمن الاستجابة ذهابًا وإيابًا قد يشمل نقل الشبكة والوكلاء ومجمّعات الاتصالات وفك ترميز التطبيق خارج قاعدة البيانات نفسها. وينطبق المبدأ نفسه على Immich: فلا يمكن لرقم سليم لقاعدة البيانات استبعاد التأخير في أي موضع آخر بين بدء الطلب وظهور النتيجة المرسومة.
ويتمثل اختبار حدود مفيد في التناظر. فإذا كان جهاز عميل واحد فقط بطيئًا بينما يظل جهاز آخر على شبكة LAN نفسها ومع الألبوم نفسه سريعًا، فينبغي إعطاء تنفيذ الجهاز العميل أو التخزين المؤقت أو الشبكات المحلية وزنًا أكبر. أما إذا تجاوزت جميع الأجهزة العميلة عتبة زمن الاستجابة نفسها تقريبًا وفي الوقت ذاته، ولا سيما أثناء عمليات الاستيراد أو إنشاء الصور المصغرة أو النسخ الاحتياطي أو أي نشاط آخر على المضيف، فقد انتقل التفسير من تفاوت الأجهزة العميلة إلى قيد مشترك في الخادم أو التخزين أو الشبكة.
استخدم اختبارًا مضبوطًا للأجهزة العميلة لمعرفة موضع الحد
اختر ألبومًا ممثلًا، وثبّت إصدار الخادم وموقع الشبكة والحساب ومجموعة الصور وحالة المهام الخلفية. اختبر كل جهاز عميل على حدة، وسجّل ثلاثة أزمنة قابلة للملاحظة: التحميل الأولي للجدول الزمني، وفتح المعاينة الكبيرة نفسها، والتمرير السريع عبر نطاق ثابت من الصور. وسجّل أيضًا ما إذا كان الخادم يعرض ارتفاعًا في استخدام أحد الموارد أثناء كل تشغيل، لأن مقارنة الأجهزة العميلة تصبح غير صالحة إذا تغير عبء العمل على الواجهة الخلفية بين العينات.
شغّل كل جهاز عميل مرة من حالة باردة عمدًا، ثم شغّله مرة أخرى بعد ذلك مباشرة. تفصل اختبارات الأداء عادةً بين نتائج العرض الأول والعرض المتكرر، لأن ذاكرات التخزين المؤقت الممتلئة تزيل العمل من الطلبات اللاحقة. وبالنسبة إلى Immich، يوضح الفارق بين الحالة الباردة والدافئة مقدار تأثير إعادة الاستخدام في التجربة، بينما يكشف الفارق بين الأجهزة العميلة تحت حالة التخزين المؤقت نفسها عن اختلافات يُرجح أن تكون محلية في الجهاز أو التطبيق.
اعتبر الفارق مرتبطًا بالجهاز العميل فقط عندما يتكرر في ثلاث تشغيلات على الأقل، ويظل الجهاز الأسرع أسرع بينما تبقى ظروف الخادم والشبكة قابلة للمقارنة. وإذا تدهورت جميع الأجهزة العميلة معًا، فتوقف عن ضبط الجهاز العميل وافحص المسار المشترك. وإذا ظهرت الفروق في الإجراءات التي تتعامل مع الصور بكثافة فقط، فركّز على فك الترميز والتصيير. أما إذا ظهر الفارق في التشغيل الأول فقط، فحالة ذاكرة التخزين المؤقت — لا سعة الخادم المستدامة — هي الاستنتاج الأكثر قابلية للدفاع عنه.
مركز التكنولوجيا والذكاء الاصطناعي
المزيد للقراءة

النماذج المفتوحة تلحق بركب الذكاء الاصطناعي الرائد—هل سيكون عام 2026 العام الذي يصبح فيه الذكاء الاصطناعي المحلي جيدًا بما يكفي؟
أصبحت النماذج المفتوحة جيدة بما يكفي لمزيد من أعباء عمل الذكاء الاصطناعي المحلية، بينما تظل نماذج السحابة المتقدمة مفيدة لأصعب مهام الاستدلال والمهام الوكيلة.

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

لماذا يبدو Immich أسرع عبر الشبكة المحلية منه عبر الاتصالات البعيدة؟
عادةً ما تسلك طلبات الشبكة المحلية LAN مسارًا أقصر وأقل زمنًا للاستجابة. أما الوصول عن بُعد فيضيف قيود سعة الشبكة واسعة النطاق WAN، وقد...

