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

لقد رافقت البنية التحتية للخادم للمتاجر عبر الإنترنت خلال الجمعة السوداء ، ولم يتم الاتصال بي مطلقًا أو منحني الوقت للتحضير. أشارك تجربتي مع أولئك الذين سيحصلون على نفس الطلب اليوم.
(أنت محظوظ إذا كنت تستطيع القيام بذلك بشكل صحيح ، أي إعداد المراقبة في غضون بضعة أشهر ، وتحليل حركة المرور ، والاختناقات ، وهندسة المشروع ، وإجراء اختبارات الضغط ، إذا لزم الأمر ، وإعادة بناء البنية مع المطورين ، وربط قدرات الخادم الإضافية مقدمًا. سنتحدث عن النهج الصحيح في وقت آخر ، هنا عن تدابير الحريق).
أنشأنا المراقبة
أعتقد أن المراقبة أساسية في أي حال. ستظل هناك مشكلات ، ولكن بفضل مراقبة الجداول الزمنية ، يمكنك فهم مكان الاختناقات الآن.
إذا كان ذلك ممكنًا ، أستخدم حلولًا مثل Zabbix / Prometheus / ELK (اعتمادًا على الهندسة المعمارية) ، إذا لم يكن كذلك ، فأنا أقوم بتوصيل SaaS بسرعة مثل okmeter.io. حتى إذا استمرت عملية البيع ليوم واحد فقط ، فلن تتمكن من إلقاء نظرة على مجموعة من المؤشرات في الشاشة مثل يوم الزولو على التوالي.
لا تزال الأدوات الرائعة هي blackfire.io/newrelic.com للتوصيف ، pinba.org لتحليل الصفحات "البطيئة" بشكل عام.
سيساعد blackfire / newrelic على حل المشكلة في صفحة معينة ، سيساعدك pinba على معرفة الصفحات التي يتم تحميلها في أغلب الأحيان وتشغيلها لفترة أطول (كل هذا خارج الصندوق في Bitrix ، على سبيل المثال ، ولكن حاول الانتقال إلى لوحة المشرف والعمل هناك عندما يقوم الخادم و الموقع بالفعل سيء للغاية).
اقطع الفائض
أقوم بإيقاف كل شيء يمكن إيقاف تشغيله: وحدات غير ضرورية مشروطة في الوقت الحالي ، وجميع أنواع الجمال ، وما إلى ذلك.
البيع هو عملية بسيطة ، خصم كبير على عدد من المنتجات. يريد الزائر الذي يعاني من عيون ملتهبة اختيار منتج حتى بيعه ، وتقديم طلب ، والحصول على خصم ، وإجراء الدفع.
الاشتراك في النشرة الإخبارية ، والتسجيل في الموقع ، والاستطلاع حول جودة الخدمة - كل هذا لا يهم العميل الآن ، يمكن تعطيل هذه الوحدات أو تبسيطها. أقوم بإيقاف تشغيل كل شيء بدونه يمكن أن يعمل الموقع بهدوء لبضعة أيام.
حالة من الممارسة: خلال الجمعة السوداء ، قمت بالتصحيح على خادم يعمل تحت الكثير من حركة المرور ، وبعد ساعتين اتضح أن وحدة خدمة التسليم بطيئة للغاية ، والتي تصل إلى الخدمات الخارجية وتحسب تلقائيًا تكلفة التسليم لكل طلب. عندما ازدادت حركة المرور مئات المرات ، توقفت هذه الخدمات الخارجية عن التأقلم.
يمكنك فقط الجلوس والتفكير ، وماذا يمكن أن يقع على موقعك / في تطبيق جوال / إلخ؟
ترك السقوط
أنا أستعد لحقيقة أن أي خدمة ستسقط على أي حال. في هذه الحالة ، تحتاج إلى إظهار شيء للزوار على الأقل.
على سبيل المثال ، يجب ألا تحظر وحدة خدمة التسليم غير العاملة أو نموذج الدفع الطلب بالكامل ، ويمكن للمستخدم العودة غدًا وإكمال طلبه.
على صفحات أخطاء الخمسينات ، أظهر البريد أو رقم الهاتف لقسم المبيعات.
error_page 500 502 503 504 /50x.html; location = /50x.html { root /srv/www/yourwebsite.com/htdocs/sale-contacts/; }
رفع نسخة من الموقع
إذا كان من الممكن الحصول على نسخة من الموقع لاختبار التغييرات ، فهذا جيد جدًا. أنا لا أتحدث عن نظام نشر قائم :)
بالمناسبة ، ستتيح لك خدمات السحابة العصرية إنشاء نسخة من خادم المعركة بسرعة وسهولة.
دراسة حالة: موقع واحد ، ساعدت في الحفاظ على بنيته التحتية خلال الجمعة السوداء ، بعد التحسين من قبل المطورين (جزئيًا أثناء التنقل) ، وإضافة الموارد ، وتحسين البرامج ، بدأ العمل بشكل أكثر أو أقل احتمالًا مع حركة المرور الكثيفة ، ولكن لا يزال كثيرًا تباطأ عند وضع أوامر. يعتقد المستخدمون أن الطلبات لم يتم إرسالها ، وفي حالة الضغط فقط ، ضغطوا على زر الخروج عدة مرات. ضغطت عدة شخصيات الزر 300 مرة! اختبار ضغط كبير :) مئات المرات من الزوار ، ونحو 300 أوامر أكثر! :)
خدمات CDN
يمكنك الاستغناء عن CDN ، ولكن إذا كانت الخوادم لا تستطيع بشكل موضوعي التعامل مع عودة الكمية الصحيحة من الإحصاءات ، فمن الضروري.
يمكنك توصيل CDN بسرعة لنظام CMS الشهير مثل
1C-Bitrix و
Wordpress . ولكن لا يمكنك تكوين CDN أثناء التنقل ، عليك أن تتوخى الحذر مقدمًا.
AntidDoS
أوصي بشدة بتوصيل خدمات AntiDDoS ، وتأكد مسبقًا (وإلا ، في ظل الحمل المفاجئ ، دون التكيف مع حركة المرور العادية ، فقد يبدأون في منع الزوار الشرعيين).
يمكن القيام بذلك لفترة معينة مجانًا:
إضافة قدرات الخادم
نتوقع إمكانية إضافة الموارد. سيكون من الممكن إضافة موارد إلى الخادم الرئيسي ، وإنشاء عقدة جديدة لموازنة الاستعلامات ، وعقدة لـ mysql ، إلخ. إذا لم تكن نفسك ، فإن المتعاقد الخارجي المستأجر على الجانب سوف يشكرك كثيرًا على ذلك.
من الملائم إذا كان لدى مزود الخدمة القدرة على استضافة خوادم مادية وسحابية (Selectel.ru ، Servers.com).
فوه ، دعنا نذهب
أخطر شيء هو الدقائق الأولى بعد النشرات الإخبارية. لم يتم تسخين ذاكرة التخزين المؤقت حتى الآن ، وهناك القليل من الإحصائيات ، ما زلت لا تعرف قدرات النظام (إذا لم تكن قد أجريت اختبارات خطيرة مسبقًا).
بعض التكوينات
التخزين المؤقت في nginx
سننشئ ذاكرة تخزين مؤقت سعة 500 ميجابايت لمدة 3 ساعات لجميع الصفحات باستثناء صفحات الطلب.
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=blackfriday_cache:180m max_size=500m inactive=7d; # blackfriday_cache, 180 proxy_cache_key "$request_method$scheme$host$request_uri"; proxy_cache_use_stale error timeout invalid_header http_500; map $uri $cookie_nocache { # , ; 1 - , 0 - "/order" "1"; "/bitrix" "1"; default "0"; } location / { .... proxy_hide_header "Set-Cookie"; # proxy_ignore_headers "X-Accel-Expires"; proxy_ignore_headers "Expires"; proxy_ignore_headers "Cache-Control"; proxy_ignore_headers "Set-Cookie"; add_header X-Cache $upstream_cache_status; ... proxy_no_cache $cookie_nocache; # , map; 1 - proxy_cache blackfriday_cache; # proxy_cache_valid 180m; # 180 proxy_cache_valid 404 1m; # 404 - 1 .... proxy_pass http://backend; # } location @backend { .... # }
مواد إضافية كثيرة ، روابط:
تسمح لك قناة 100 ميجا بايت بإعطاء 12 صفحة تزن 1 ميجا بايت في الثانية ، وهذا 43 ألفًا في الساعة ؛ إن nginx قادرة على إعطاء مثل هذا الحجم حتى على خادم غير مكلف.
نوزع الطلبات عبر عدة عقد (يجب أن يكون الموقع جاهزًا للعمل مع عدة عقد ويب)
عبر Round-Robin DNS
(كن حذرا هنا ، هذه الطريقة لم تعد مدعومة بشكل صحيح من قبل العديد من مزودي DNS)
$ dig lifehacker.ru +short 136.243.37.180 136.243.37.178
عبر المنبع nginx
$ cat nginx.conf upstream backend { server backend1.yoursite.com; server backend2.yoursite.com; } server { server_name yoursite.com; location / { proxy_pass http://backend; } } location @backend { .... # }
عبر Cloudflare ، Qrator ، إلخ.
لديهم القدرة على تعيين العديد من الخلفيات الخلفية مباشرة من اللوحة ، وعادة ما يكون تحديث التكوين فوريًا.
بهدوء
يحدث أنه من المستحيل ضمان عمل مثالي ، ولكن الشيء الرئيسي للأعمال هو أن النظام يعمل بشكل أساسي. دعها تبطئ ، ولكن يجب أن تمكن المستخدمين من تقديم الطلبات ، وعدم الضغط على F5 إلى ما لا نهاية. "الانقسام البائس والمثبط والمزعج للأعصاب" ، يستخدمه آلاف العملاء في نفس الوقت ، ويقومون بإصدار الأوامر وإصدارها وإصدار أوامر لها ، ويعتبر كل منهم ذا قيمة. رأيت أمثلة حيث قام المتجر في يوم واحد بتحول لمدة ستة أشهر وكانت النتيجة تستحق كل الأعصاب.
مبيعات ناجحة لك :)