كيفية ضبط مهلات الوكيل العكسي لتتناسب مع عمليات تحميل الصور ومقاطع الفيديو الكبيرة

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

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

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

حدّد المرحلة التي تنهي عملية الرفع

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

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

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

قِس ميزانية مهلة يمكن تبريرها

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

ميّز بين المدة الإجمالية ومدة الخمول. فعلى سبيل المثال، توثّق NGINX توجيهات منفصلة لمهلات الوكيل، ويقيس بعضها الفاصل بين العمليات المتتالية بدلًا من مدة الاستجابة بأكملها.

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

نسّق جميع الطبقات من دون تصحيح مفرط

اضبط حجم نص الطلب عند الحد الأقصى الذي يدعمه التطبيق أو أعلى منه. ثم نسّق مهلات نص العميل، والاتصال الصاعد، والقراءة الصاعدة، والإرسال الصاعد وفقًا لمرحلة الفشل المرصودة.

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

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

-15% OFF

أعد اختبار عمليات الرفع البطيئة والكبيرة والمنقطعة

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

خفّض سرعة اتصال تجريبي إلى الحد الأدنى المدعوم وكرّر الاختبار. ثم اقطع عملية رفع واحدة عمدًا؛ ينبغي تنظيف الملفات المؤقتة وسجلات قاعدة البيانات غير المكتملة وفقًا لسلوك التطبيق.

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

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

هل ينبغي أن تستخدم جميع مهلات الوكيل القيمة نفسها؟ لا. فبدء الاتصال وقراءة نص العميل وانتظار استجابة النظام الصاعد والإرسال إلى الجهة الهابطة تحمي مراحل مختلفة.

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

الدعم والنصائح

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

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.