في الآونة الأخيرة ، هناك دائمًا أشخاص في المجموعة يشكون دائمًا ، قال على شبكة CDN عالية الدفاع بعد الموقع بطيء مثل الحلزون ، تجربة المستخدم مباشرة من خلال قلب الأرض. أنا أنظر إلى هذا الوضع بسعادة - هذه المشكلة التي صعدت على الحفرة قبل خمس سنوات، لم أكن أتوقع أن هناك الآن الكثير من الناس يتجهون إليها. إن شبكة CDN عالية الدفاع هي في الأساس “حارس شخصي”، ولكن إذا تركت الحارس الشخصي يقف في الوضع الخاطئ، فلن يتمكن من صد الرصاص فحسب، بل سيحجب أيضًا جميع العملاء خارج الباب.
لأكون صادقًا، لا يمكن حقًا أن يسمح الكمون العالي لهذا الوعاء بعودة جميع شبكات CDN. لقد وجدت أن ثمانين في المائة من الحالات هي مشكلة في التكوين، وتم اختيار اثنين في المائة من العقد لتكون سيئة. في العام الماضي لمساعدة محطة للتجارة الإلكترونية للقيام بالترحيل، والاستخدام الأصلي لشبكة CDN كبيرة عالية الدفاع، ارتفع زمن الوصول إلى 300 مللي ثانية +، وشكاوى المستخدم من الطلب أكثر. في وقت لاحق، تم الضغط على العملية إلى 80 مللي ثانية أو أقل، عاد معدل التحويل مباشرة إلى 15%. اليوم سأضع الجزء السفلي من تقنيات التحسين خارج الصندوق، لا تجمع فقط، تذكر أن تجرب.
كشف السبب أولاً: ما هي طبيعة الانتشاء المتأخر؟
كثير من الناس يرون الكمون العالي على بائعي CDN اللعنة، في الواقع، الاحتمال هو أنك أنت نفسك لا تفهم. CDN عالية الدفاع من أجل تحمل الهجوم، يجب تصفية حركة المرور حول مركز التنظيف، ثم العودة إلى المصدر إلى الخادم. أكثر قفزة دوران، وبطبيعة الحال يرتفع وقت الاستجابة. لكن المفتاح هو - موقع مركز التنظيف، والعودة إلى استراتيجية المصدر، واختيار البروتوكول، كل ذلك يمكن أن يفعل شيئًا.
الحالة الأكثر فظاعة التي رأيتها هي عندما استخدمت إحدى الشركات عقدة أمريكية لتسريع المستخدمين المحليين واشتكت من التأخير. يا أخي، لم تعد هذه مشكلة تأخير، بل هي فئة جغرافية لم تمر آه. وبالإضافة إلى ذلك، فإن مصافحة TLS، وحجم نافذة TCP، ومعدل ضرب ذاكرة التخزين المؤقت لهذه التفاصيل الأساسية، هي في الحقيقة اليد التي تخنق عنق التأخير.
نصيحة 1: الاختيار الذكي للعقدة، لا تثق في “التحسين التلقائي” للبائعين”
يحب بائعو شبكات CDN التباهي بجدولتهم الذكية، ولكن لا تصدق ذلك. قد تكون “العقدة المثلى” المزعومة لديهم هي الأقل تكلفة، وليس الأسرع. عندما استخدمت CDN5، وجدت أنها كانت دائمًا ما تقوم بجدولة المستخدمين إلى عقد باردة منخفضة التحميل، وكان زمن الاستجابة يتضاعف مباشرةً.
ثم اقتحمت طريقي وقمت بأمرين: أولاً، استخدمت مسبارًا ذاتي الإنشاء لمراقبة زمن انتقال العقدة في الوقت الفعلي. اكتب برنامج نصي لتشغيل اختبار ping و traceroute بانتظام، واسحب البيانات إلى قاعدة البيانات الخاصة بك لتحليلها. ثانيًا، وفقًا للمنطقة الجغرافية للمستخدم والمشغل لإجراء جدولة مضبوطة بدقة. يجب ألا يتم إلقاء مستخدمي الاتصالات في عقدة يونيكوم، مستخدمو قوانغدونغ من الصعب على عقدة بكين يبحثون فقط عن التوبيخ.
إليك البرنامج النصي لاكتشاف العقدة الذي أستخدمه (إصدار بايثون):
إذا قمت بالتشغيل لمدة أسبوع، ستتمكن من رسم خريطة حرارية لزمن الاستجابة، وسيتضح لك أي عقدة مستقرة وأي عقدة عائمة. ثم افعل شيئًا على مستوى نظام أسماء النطاقات DNS، باستخدام DNSPod أو الدقة الذكية لـ Cloudflare، وفقًا لمشغلين مختلفين ومقاطعات مختلفة للعودة إلى عناوين IP مختلفة للعقدة.
النصيحة 2: تحسين البروتوكول لتثبيت TCP/TLS على الأرض
HTTP/2 و HTTP/3 هي قوانين النكهة الحقيقية. في العام الماضي كنت أقوم بالتحسين لعميل 08Host ووجدت أنهم كانوا لا يزالون يستخدمون HTTP/1.1، مع إنشاء اتصالات جديدة لكل مورد واستغراق مصافحة TLS معظم الوقت. بعد إجبارهم على ترقية HTTP/2، أدى تعدد الإرسال مباشرةً إلى خفض وقت التحميل إلى النصف.
ولكن الأكثر قسوة هو HTTP/3 (استنادًا إلى QUIC). هذا البروتوكول مقاوم بطبيعته لفقدان الحزم، ومناسب بشكل خاص لتقلبات الشبكة المتنقلة في المشهد. cdn07 مدعوم بالكامل، ويمكن تقليل تقلبات التأخير المفتوحة بواسطة 30%. ومع ذلك، لاحظ أن المعدات القديمة قد تكون متوافقه مع سحب التوافق المنفرجة، يجب أن تقوم بعمل جيد لبرنامج التدهور.
مثال على تهيئة Nginx (مع تشغيل HTTP/2 و 0-RTT TLS):
بالإضافة إلى ذلك، تعتبر مصافحة TLS قاتلة غير مرئية. يوصى بتمكين استئناف جلسة العمل وتدبيس OCSP، والذي يمكنه ضغط وقت المصافحة من 300 مللي ثانية إلى 100 مللي ثانية. كان هناك عميل لم يصدق أن TLS لها مثل هذا التأثير الكبير، وعرضت عليه مخطط مقارنة التقاط حزم Wireshark وسكت على الفور.
النصيحة 3: استراتيجيات التخزين المؤقت والحوسبة الطرفية للتغلب على الطلبات الديناميكية إلى الثابتة
الاستخدام الأكثر غباءً لشبكات CDN عالية الدفاع هو إعادة الموقع بالكامل إلى المصدر. حتى أن بعض رفاقي يعيدون الصور و CSS إلى المصدر ديناميكيًا، فإذا لم تتعثر، فمن الذي يتعثر؟ لقد رأيت أن أكثر التحسينات شراسة هو تحويل الطلب الديناميكي 60% إلى تخزين مؤقت على الحافة.
على سبيل المثال، يمكن استخدام حالة تسجيل دخول المستخدم لمثل هذه الحالة التي تبدو ضرورية للعودة إلى مصدر الطلب، في الواقع، يمكن استخدام حوسبة الحافة للتعامل معها. CDN5 و CDN07 يدعمان تخزين KV الحافة، وذاكرة التخزين المؤقت لجلسة المستخدم إلى العقدة، مما يقلل من العودة إلى مصدر الرحلة ذهابًا وإيابًا. 08المضيف أكثر قسوة، ويدعم مباشرة حافة WebAssembly قيد التشغيل، ويمكن تجميعها على مستوى عقدة طلب واجهة برمجة التطبيقات.
يجب أن تكون قواعد التخزين المؤقت مرتبطة بالموت:
لا تنس تسخين ذاكرة التخزين المؤقت مسبقًا! خاصة قبل العرض الترويجي الكبير، استخدم البرنامج النصي لتنظيف الموارد الشائعة إلى عقدة حافة CDN مسبقًا. بمجرد وجود محطة للتجارة الإلكترونية لم تقم بالإحماء، بعد بدء الحدث CDN العودة إلى مصدر حركة المرور انفجر الخادم، فإن 50٪ بالكامل في صفحة الخطأ 502.
البيض ذو العلامات التجارية: حيل الكمون من ثلاثة بائعين لشبكات CDN
تجربة ذاتية بحتة، فقط كمرجع: CDN5 عقدة CDN5 آسيا والمحيط الهادئ التحكم في زمن الوصول مستقر، خاصة في هونغ كونغ وسنغافورة، بمتوسط 80 مللي ثانية أو أقل، لكن عقد أوروبا والولايات المتحدة أكثر سحبًا. CDN07 تنفيذ CDN07 HTTP/3 الأكثر جذرية، التحسين المحمول جيد، لكن تكوين الخلفية المضادة للإنسان. 08وعاء المضيف الرخيص، خط BGP المحلي جيد، لكن القدرة على منع DDoS ليست جيدة مثل الأولين، ومناسبة للهجوم ليست سيناريوهات متكررة. سيناريوهات متكررة.
كلمة أخيرة للمخالفة: تحسين وقت الاستجابة هو معركة مستمرة، وليس مرة واحدة فقط بعد إجراء المباراة
قم بتشغيل تخطيط زمن الاستجابة مرة واحدة في الشهر، وتحقق من زيارات ذاكرة التخزين المؤقت أسبوعيًا، وراقب المراقبة في الوقت الفعلي يوميًا. إذا توفرت لديك الشروط، يمكنك استخدام أداة إدارة أداء APM كاملة الارتباط، وإذا لم تتوفر لديك الشروط، يمكنك كتابة البرامج النصية للمراقبة بنفسك. بمجرد أن اعتقدت أن التحسين كان في مكانه، كانت النتيجة أن مشغلًا معينًا تعرض فجأةً لخلل في التوجيه، وارتفع زمن انتقال العقدة بشكل كبير. في وقت لاحق، قمتُ بتجاوز فشل متعدد الخطوط، وعندها فقط استلقيت تمامًا.
إن شبكة CDN عالية الدفاع ليست حلًا سحريًا، إنها لعبة مفاضلة - لعبة بين الأمان ووقت الاستجابة. للحصول على كليهما، عليك ضبطها بنفسك. أولئك الذين يعتمدون على الأخوة خارج الصندوق، يوصى بزيادة الأموال مباشرةً على ANYCAST العالمية، وإلا فإنه بصراحة وفقًا لمهاراتي في رمي المهارات. تذكر أن الأموال التي يتم توفيرها من تحسين زمن الوصول تساوي أكثر بكثير من فاتورة CDN نفسها.

