مقدمة #
خدمة الوكيل هي برنامج مصمم لإدارة اتصالات العملاء بشفافية لخدمة واحدة أو أكثر، وتقديم بيانات متقدمة أو معالجة الاتصال على مستوى التطبيق (الطبقة 7 في نموذج OSI). ولتحقيق ذلك، تقوم خدمة البروكسي بإنشاء اتصال واحد مع العميل وآخر مع الخادم، بهدف ضمان الاتصال السلس بينهما.
عند تنفيذ موازنة التحميل من خلال خدمة وكيل (تعمل بشكل فعال كوكيل عكسي)، فمن الضروري تخصيص المهلات لتسهيل الاتصالات السلسة. قد لا تكون قيم المهلة الافتراضية كافية، اعتمادًا على خصائص العملاء أو خدمات التطبيق. سيتم تسجيل أي أخطاء متعلقة بالمهلة في سجلات النظام على / فار / سجل / سيسلوغ، مما يجعل من الضروري مراجعة هذا الملف بحثًا عن المشكلات المحتملة.
توفر هذه المقالة رؤى حول تحليل وتحديد مشكلات المهلة الشائعة في الخوادم الوكيلة. المعلومات الأساسية التي يجب التحقق منها هي ما إذا كانت المهلات تحدث على جانب الواجهة الخلفية أم على جانب العميل. بمجرد إجراء هذا التمييز، يمكن تطبيق تعديلات المهلة المناسبة.
الخلفيات الجانبية المهلات #
إذا كانت المهلات تحدث على الجانب الخلفي، فسيتم عرض الرسائل المقابلة على النحو التالي:
21 أغسطس 09:23:06 noid-ee-01 رطل: noid-proxy-farm-01، خدمة noid-service-01، الواجهة الخلفية 10.100.200.10:443، (7ff830b85700) خطأ في نسخ الخادم تابع: انتهت مهلة الاتصال 21 أغسطس 09 :23:06 noid-ee-01 رطل: noid-proxy-farm-01، خدمة noid-service-01، الواجهة الخلفية 10.100.200.11:443، (7ff832d8b700) خطأ في نسخ الخادم تابع: انتهت مهلة الاتصال في 21 أغسطس 09:23: 16 noid-ee-01 رطل: noid-proxy-farm-01، خدمة noid-service-01، الواجهة الخلفية 10.100.200.10:443، (7ff799926700) خطأ في نسخ الخادم تابع: انتهت مهلة الاتصال في 21 أغسطس 09:23:18 noid- ee-01 رطل: noid-proxy-farm-01، خدمة noid-service-01، الواجهة الخلفية 10.100.200.10:443، (7ff830bc6700) خطأ في نسخ الخادم تابع: أنبوب مكسور 21 أغسطس 09:23:19 noid-ee-01 رطل : noid-proxy-farm-01، خدمة noid-service-01، الواجهة الخلفية 10.100.200.10:444، (7f15f5a8c700) Connect_nb: انتهت مهلة الاستقصاء في 21 أغسطس 09:23:24 noid-ee-01 رطل: noid-proxy-farm -01، خدمة noid-service-01، الواجهة الخلفية 10.100.200.11:443، (7ff79a9a7700) خطأ في نسخ الخادم تابع: انتهت مهلة الاتصال في 21 أغسطس 09:23:24 noid-ee-01 رطل: noid-proxy-farm-01، خدمة noid-service-01، الواجهة الخلفية 10.100.200.10:443، (7ff79a28b700) خطأ في نسخ الخادم تابع: انتهت مهلة الاتصال
تحدد أخطاء مهلة الواجهة الخلفية هذه الأخطاء ذات الصلة مزرعة, الخدمةو الخلفية المرتبطة بالخطأ. تحدد هذه المعلومات بوضوح الواجهة الخلفية أو الواجهات الخلفية المرتبطة بالمشكلة. إذا كانت هناك عدة مزارع أو خدمات أو واجهات خلفية متورطة في مشكلة المهلة، فقد يلزم جمع معلومات إضافية للتحقيق في أي مشكلات محتملة في الشبكة.
يمكن أن يؤدي تمكين سجلات المزرعة إلى الكشف عن الحالات التي تستجيب فيها واجهة خلفية معينة بسرعة في البداية، ولكنها تواجه فجأة مشكلة انتهاء المهلة، كما هو موضح في مقتطف السجل أدناه:
25 يناير 19:57:04 noid-ee-01 رطل: noid-proxy-farm-01, my.service.com 185.106.182.130 - - [25/Jan/2024:19:57:04 +0000] "GET / myserv/ HTTP/1.1" 200 9 "" "Mozilla/3.0 (متوافق؛ ...)" (noid-service-01 -> 10.100.200.10:443) 0.039 ثوانى 25 يناير 19:57:04 noid-ee-01 رطل: noid-proxy-farm-01, my.service.com 88.111.111.111 - - [25/Jan/2024:19:57:04 +0000] "GET / myserv/ HTTP/1.1" 200 9 "" "Mozilla/3.0 (متوافق؛ ...)" (noid-service-01 -> 10.100.200.10:443) 0.035 ثوانى 25 يناير 19:57:04 noid-ee-01 رطل: noid-proxy-farm-01، خدمة noid-service-01، الواجهة الخلفية 10.100.200.10:443، (7fcd8eb0f700) Connect_nb: انتهت مهلة الاستقصاء 25 يناير 19:57:04 noid-ee-01 رطل: noid-proxy-farm-01، خدمة noid-service-01، الواجهة الخلفية 10.100.200.10:443، (7fcd8eb0f700) الخلفية 10.100.200.10:443 الاتصال: انتهت مهلة الاتصال 25 يناير 19:57:04 noid-ee-01 رطل: noid-proxy-farm-01، (7fcd8eb0f700) BackEnd 10.100.200.10:443 ميت (مقتول) في المزرعة: 'noid-proxy-farm-01'، الخدمة: 'ocp-ocuco-com' 25 يناير 19:57:04 noid-ee-01 رطل: noid-proxy-farm-01، خدمة noid-service-01، الواجهة الخلفية 10.100.200.10:443، (7fcd8eb0f700) الواجهة الخلفية ميتة (قُتلت) )
قد يشير هذا السلوك إلى أن الواجهة الخلفية قد وصلت إلى حد الاتصال الخاص بها، مما يمنع الاتصالات الإضافية. وبدلاً من ذلك، يمكن أن يشير ذلك إلى أن الواجهة الخلفية لا تطلق الاتصالات بسرعة كافية، مما يؤدي إلى عنق الزجاجة. لمعالجة هذه المشكلة، يوصى بمراقبة الواجهة الخلفية وتنفيذ التحسينات مثل السماح بمزيد من الاتصالات أو توسيع نطاق الخدمة عن طريق إضافة واجهات خلفية إضافية.
إذا كانت الواجهات الخلفية المحددة فقط تواجه مشكلات انتهاء المهلة داخل نفس الخدمة، فهذا يعني أن تلك الواجهات الخلفية المعينة قد تواجه مشكلات تتعلق ببطء تسليم التطبيق أو مشكلات في الشبكة. الحلول أو وسائل تخفيف هذه الأخطاء موضحة أدناه.
المهلات من جانب العميل #
على العكس من ذلك، تظهر مهلات العميل في سيسلوغ بالتنسيق التالي:
18 أغسطس 07:31:38 noid-ee-01 رطل: noid-proxy-farm-01، (7f8862187700) خطأ في القراءة من 12.91.1.78: انتهت مهلة الاتصال 18 أغسطس 07:31:43 noid-ee-01 رطل: noid -proxy-farm-01، (7f8863c71700) خطأ في القراءة من 12.2.1.105: انتهت مهلة الاتصال في 18 أغسطس 07:32:03 noid-ee-01 رطل: noid-proxy-farm-01، (7f886275e700) خطأ في القراءة من 12.41.1.58. 18: انتهت مهلة الاتصال في 07 أغسطس 32:07:01 noid-ee-01 رطل: noid-proxy-farm-7، (8880f84700d12.88.1.67) خطأ في القراءة من 18: انتهت مهلة الاتصال في 07 أغسطس 32:16:01 noid-ee -01 رطل: noid-proxy-farm-7، (8880933700f12.3.1.158) خطأ في القراءة من XNUMX: انتهت مهلة الاتصال
إذا كانت السجلات تفتقر إلى معلومات المزرعة أو الخدمة، فهذا يشير إلى أن طلب العميل لم يصل إلى الوكيل بشكل صحيح. يستغرق العميل وقتًا طويلاً لتنفيذ طلب HTTP، مما يجعل الوكيل غير مدرك للخدمة الطالبة. يمكن أن تساعد مجموعة عناوين IP في معرفة ما إذا كانت المشكلة تتعلق بشبكة داخلية أو عملاء خارجيين أو أولئك الذين يصلون عبر جدار حماية محدد.
علاوة على ذلك، بالنسبة للعملاء الخارجيين، من المهم التأكد من شرعيتهم. يمكن أن يساعد استخدام خدمات AbuseIP في جمع مثل هذه المعلومات.
بالإضافة إلى ذلك، لمعالجة مشكلات مهلة العميل، من الضروري التحقق من أن الوكيل لا ينهي الاتصالات قبل الأوان. تأكد من أن مجموع مهلة الاتصال ومهلة الواجهة الخلفية أقل من مهلة العميل لتجنب أي قطع اتصال سابق لأوانه بواسطة الوكيل.
راجع أدناه للحصول على رؤى حول معالجة هذه الأخطاء أو التخفيف من حدتها.
إصلاح المهلات الجانبية للواجهات الخلفية #
التحقق من طبقة الشبكة #
في البداية، من الضروري التأكد من استقرار طبقة الشبكة والتأكد من عدم وجود حزم مكررة، أو حزم مفقودة، أو تقلبات كبيرة في زمن الوصول. اتبع هذه الخطوات لإجراء التحقق من طبقة الشبكة:
1. قم بتنفيذ أمر ping من موازن التحميل إلى الواجهة الخلفية واتركه يعمل لعدة دقائق.
root@noid-ee-01:~# بينغ 10.100.200.10
2. لاحظ استجابات ping أثناء التنفيذ:
PING 10.100.200.10 (10.100.200.10) 56(84) بايت من البيانات. 64 بايت من 10.100.200.10: icmp_seq=1 ttl=64 مرة=0.395 مللي ثانية 64 بايت من 10.100.200.10: icmp_seq=2 ttl=64 مرة=0.626 مللي ثانية 64 بايت من 10.100.200.10: icmp_seq=3 ttl=64 الوقت=0.178 MS [...] 64 بايت من 10.100.200.10: ICMP_SEQ = 21 TTL = 64 time = 0.502 ms 64 bytes from 10.100.200.10: icmp_seq = 22 ttl = 64 time = 0.638 ms 64 bytes من 10.100.200.10: icmp_seq = 23 ttl=64 الوقت=0.573 مللي ثانية ^C --- 10.100.200.10 إحصائيات ping --- تم إرسال 23 حزمة، 23 تم استلامها، 0% فقدان الحزمة، الوقت 140 مللي ثانية RTT min/avg/max/mdev = 0.178/0.539/0.854/0.141 مللي ثانية
تشير هذه الاستجابة إلى أن الشبكة مستقرة، مع عدم وجود حزم مفقودة أو مشاكل في زمن الاستجابة. التأكد من عدم وجود أي شذوذ أثناء اختبار ping للتأكد من موثوقية طبقة الشبكة.
بالإضافة إلى ذلك، من خلال تنفيذ tcpdump عند تكرار المشكلة، يمكنك تحليل حركة مرور الشبكة لتحديد اللحظة المحددة التي يتعرض فيها الاتصال للتأخير أو عندما تكون حزم معينة مفقودة. استخدم الأمر التالي:
root@noid-ee-01:~# tcpdump -i أي منفذ tcp PORT ومضيف BACKENDIP -w /tmp/capture.pcap
سيقوم هذا الأمر بإنشاء ملف باسم /tmp/capture.pcapوالتي يمكن تحليلها باستخدام Wireshark. كن حذرًا، لأن هذا الملف قد ينمو بسرعة في حالة التقاط قدر كبير من حركة المرور.
ضبط مهلة الوكيل #
ضبط المهلات المختلفة في التكوين المتقدم للمزرعة يسمح لنا بتخصيص سلوك الوكيل ليناسب احتياجات خوادم التطبيقات لدينا، خاصة عندما تتطلب وقتًا إضافيًا لكل طلب أو عندما يكون أداء الشبكة بطيئًا. خذ بعين الاعتبار التوصيات التالية:
انتهت مهلة اتصال الواجهة الخلفية: قم بتعيين الحد الأقصى للوقت ل الاتصال () العملية ضد الخلفية المحددة. إذا كانت الرسائل مثل "connect_nb: انتهت مهلة الاستقصاء" تم اكتشافها، فكر في زيادة هذه القيمة من القيمة الافتراضية 20 ثانية إلى 30 أو 40 ثانية. ارفع القيمة تدريجيًا استنادًا إلى النتائج التي تمت ملاحظتها، مع الأخذ في الاعتبار أن المهلة قد تعالج مشكلة أساسية في مكان آخر.
مهلة الاستجابة الخلفية: ضبط هذه القيمة إذا كانت الرسالة "خطأ في خادم النسخ: انتهت مهلة الاتصال" تم تحديده. وبالمثل، قم برفع هذه القيمة بشكل تدريجي حتى يتم ملاحظة انخفاض في مثل هذه الرسائل. ومع ذلك، كن حذرًا حتى لا تزيد هذه القيمة بشكل مفرط، لأنها قد تخفي المشكلات الأساسية على الجانب الخلفي. القيمة الافتراضية هي 45 ثانية، لذا فكر في رفعها إلى 60 ثانية أو أكثر، مع مراقبة عدم وجود أخطاء.
تكرار التحقق من الواجهات الخلفية التي تم إحياؤها: في الحالات التي تكون فيها المهلات الأعلى ضرورية بسبب مشاكل في الشبكة أو خادم التطبيقات التي تسبب أخطاء HTTP 503 متقطعة (تشير إلى عدم توفر واجهة خلفية للخدمة)، فكر في تقليل هذه القيمة من 10 ثوانٍ إلى 5. يساعد هذا التعديل في تخفيف النتائج الإيجابية الخاطئة في وضع علامة على الواجهات الخلفية على أنها معطلة عن طريق المهلة. قم بتحليل ما إذا كانت المهلات ضمن الحدود العادية، حيث يمكن لموازن تحميل الوكيل تخفيف بعض المشكلات في هذا السياق.
يرجى إجراء تحليل شامل لتحديد مدى طبيعية المهلات. يتمتع موازن تحميل الوكيل بالقدرة على معالجة بعض المشكلات المتعلقة بالمهلة والتخفيف من حدتها.
لمزيد من المعلومات التفصيلية، راجع المقالة التالية:
تكوين الفحوصات الصحية #
يخدم Farm Guardian غرض تنشيط أو إلغاء تنشيط الواجهات الخلفية بناءً على توفرها. في هذا السيناريو، تتيح لنا الاستفادة من Farm Guardian التأكد من التوفر الفعلي للواجهات الخلفية. تعمل هذه العملية بشكل مستقل ومتوازي مع الوكيل، مما يوفر وسيلة للتحقق مما إذا كانت مشكلات الواجهة الخلفية تساهم حقًا في حدوث اختناق على جانب الواجهة الخلفية. بالإضافة إلى ذلك، من خلال فحص إحصائيات الواجهة الخلفية عندما يتم وضع علامة على الواجهة الخلفية بأنها معطلة، يمكننا تحديد عدد الاتصالات التي يعالجها ذلك الخادم، مما يمكننا من تحديد حدود الاتصال لكل واجهة خلفية.
يتيح لنا تكوين فحص FarmGuardian لـ TCP تحديد أي مشكلات تتعلق بالمصافحة مع الواجهات الخلفية، والتي قد تشير إلى وجود اختناق في طبقة النظام أو خادم الويب. من ناحية أخرى، يساعد تكوين فحص FarmGuardian لـ HTTP في تحديد المشكلات في طبقة التطبيق مع الواجهات الخلفية، مما يشير إلى الاختناقات المحتملة في طبقة التطبيق أو قاعدة البيانات.
إصلاح المهلات من جانب العميل #
التحقق من طبقة الشبكة #
للتحقق من استقرار الشبكة، قم بتنفيذ اختبار ping من خادم أو جهاز آخر إلى عنوان IP الخاص بـ Virtual IP الذي تم تكوينه لمزرعة موازنة التحميل. وهذا يضمن وجود منظور خارجي ويساعد في تأكيد موثوقية الشبكة.
التحقق من العملاء الشرعيين #
استخدم أدوات آمنة لتحديد ما إذا كانت مشكلات المهلة مرتبطة بالعملاء الشرعيين أو الروبوتات أو المهاجمين المحتملين. إذا كانت المهلات مرتبطة بمستخدمين غير مصرح لهم، فقم بتنفيذ قوائم IPDS السوداء و/أو حماية DoS لحماية خدماتك وضمان تسليمها فقط للمستخدمين الصالحين والحقيقيين.
ضبط مهلة الوكيل #
علاوة على ذلك، فكر في ضبط مهلات الوكيل لتتناسب مع طبيعة العملاء المتصلين بخدماتك عبر موازن التحميل. على سبيل المثال، إذا ساهم العملاء المستندون إلى الهاتف المحمول أو مشكلات جدار الحماية أو الشبكات البطيئة في زيادة أوقات الاستجابة، فقم بضبط مهلة طلب العميل الخيار في إعدادات متقدمة من مزرعة LSLB الخاصة بك. القيمة الافتراضية هي 30 ثانية; يمكنك زيادتها إلى 60 ثانية أو أكثر بناءً على متطلباتك المحددة. يجب أن تتجاوز قيمة مهلة العميل مجموع مهلة الاتصال ومهلة استجابة الواجهة الخلفية.
لمزيد من المعلومات التفصيلية، يرجى الرجوع إلى المقالة التالية: