قد تكون المشكلة التي تواجهها، حيث يعاني موقع الويب الخاص بك من التحميل الزائد على الرغم من الانتقال إلى خادم مخصص ذي ثمانية أنوية، ناجمة عن عدة عوامل. فيما يلي الخطوات التي يمكنك اتخاذها لاستكشاف المشكلة وحلها:
1.
ابدأ بتحليل أجزاء الخادم التي تتعرض لضغط زائد: وحدة المعالجة المركزية، أو الذاكرة، أو وحدات الإدخال/الإخراج. يمكنك استخدام أدوات مثل:
- top أو htop : لمراقبة استخدام وحدة المعالجة المركزية والذاكرة.
- iostat : للتحقق من عمليات الإدخال/الإخراج على القرص.
- netstat أو iftop : لمراقبة اتصالات الشبكة والنطاق الترددي.
سيساعدك هذا في تحديد ما إذا كانت وحدة المعالجة المركزية، أو ذاكرة الوصول العشوائي، أو القرص، أو الشبكة هي السبب.
2.
إذا كنت تستخدم خادم ويب مثل Apache أو Nginx، فتأكد من تحسينه للتعامل مع حركة المرور الكثيفة. تتضمن بعض التكوينات التي يجب التحقق منها ما يلي:
- الحد الأقصى للاتصالات : اضبط MaxClients (Apache) أو worker_connections (Nginx) على قيمة يمكن لخادمك التعامل معها.
- الحفاظ على الحياة : تأكد من تمكين KeepAlive وتعيين KeepAliveTimeout على قيمة منخفضة (مثل 2-5 ثوانٍ).
- معالجة الاتصالات : استخدم المعالجة القائمة على الأحداث في Nginx أو حدث MPM في Apache لإدارة الاتصالات بكفاءة أكبر.
3.
إذا كان موقعك يعتمد على قاعدة بيانات (مثل MySQL/MariaDB)، فقد تكون قاعدة البيانات هي السبب. تحقق من:
- الاستعلامات البطيئة : قم بتمكين تسجيل الاستعلامات لتحديد الاستعلامات البطيئة باستخدام slow_query_log في MySQL.
- الفهرسة : تأكد من فهرسة جداول قاعدة البيانات بشكل صحيح، وخاصةً للاستعلامات المستخدمة بشكل متكرر.
- مجموعة الاتصالات : استخدم مجموعة اتصالات مثل MySQLTuner أو pgbouncer (PostgreSQL) لإدارة اتصالات قاعدة البيانات بكفاءة.
4.
- تمكين التخزين المؤقت للصفحة بالكامل : إذا كان موقعك يعتمد على نظام إدارة المحتوى (مثل WordPress)، فاستخدم مكونات إضافية للتخزين المؤقت مثل WP Super Cache أو W3 Total Cache .
- استخدم وكيلًا عكسيًا : قم بإعداد ذاكرة التخزين المؤقت لـ Varnish أو Nginx لتقليل الحمل على خادم الويب الخاص بك وتقديم المحتوى الثابت بشكل أسرع.
- استفد من شبكة CDN : يمكن لـ Cloudflare تخزين الأصول الثابتة (CSS وJS والصور) على مستوى العالم، مما يقلل الحمل على خادم المصدر الخاص بك.
5.
حتى بعد حظر الروبوتات في Cloudflare، قد تتمكن بعض الروبوتات التي تستهلك الكثير من الموارد من تجاوزها. ابحث عن:
- سجلات حركة مرور الروبوت : قم بتحليل سجلات خادم الويب الخاص بك بحثًا عن الطلبات المتكررة من عناوين IP أو وكلاء مستخدم معينين.
- تحديد المعدل : قم بتكوين تحديد المعدل في Cloudflare أو خادم الويب الخاص بك لتقليص حركة المرور من عناوين IP أو الروبوتات المسيئة.
قد يعمل وضع "أنا تحت الهجوم" في Cloudflare على تخفيف هجمات DDoS، ولكن من المفيد أيضًا التحقق مما إذا كان الارتفاع في حركة المرور مشروعًا أم مرتبطًا بحركة المرور الآلية من الروبوتات.
6.
إذا كان موقعك مبرمجًا خصيصًا أو يعتمد بشكل كبير على المعالجة من جانب الخادم (على سبيل المثال، PHP أو Node.js)، فقد يكون الكود غير الفعال هو المشكلة.
- إنشاء ملف تعريف : استخدم أدوات مثل Xdebug (PHP) أو New Relic لإنشاء ملف تعريف لتطبيقك وتحديد الاختناقات.
- المعالجة غير المتزامنة : نقل المهام غير الحرجة (مثل إرسال رسائل البريد الإلكتروني أو معالجة الملفات الكبيرة) إلى العاملين في الخلفية باستخدام قوائم الانتظار (على سبيل المثال، RabbitMQ، Redis).
7.
قد يؤدي العدد المفرط من اتصالات قاعدة البيانات إلى إبطاء الموقع، خاصة مع وجود 6000 زائر. تأكد من تحسين تجمع اتصالات قاعدة البيانات لديك، وقلل من مهلة الاتصال.
8.
إذا كنت تستخدم PHP-FPM أو مديري عمليات مشابهين، فتأكد من تكوين حد العملية بشكل صحيح. إذا تم إنشاء عدد كبير جدًا من العاملين في PHP، فقد يؤدي ذلك إلى إرهاق الخادم. اضبط pm.max_children والإعدادات ذات الصلة.
9.
- تصغير CSS/JS : قم بتقليل الحمل على الخادم الخاص بك عن طريق ضغط وتقليل ملفات CSS وJS وHTML.
- تحميل الصور بشكل كسول : قم بتنفيذ التحميل الكسول للصور ومقاطع الفيديو لتقليل كمية البيانات التي يلزم نقلها.
10.
تحقق مما إذا كانت بعض الصفحات أو واجهات برمجة التطبيقات أو الأقسام في موقع الويب الخاص بك تتلقى المزيد من الزيارات أو تتسبب في زيادة التحميل.
- استخدم Google Analytics أو Matomo لتحديد ارتفاعات الزيارات وسلوك المستخدم التي قد تؤثر سلبًا على خادمك.
- تأكد من عدم وجود ثغرات أو نصوص برمجية تسمح بالإساءة (مثل قسم التعليقات المعرض للخطر، أو نموذج التحميل، أو صفحة تسجيل الدخول).
11.
إذا كان تنشيط وضع "تحت الهجوم" في Cloudflare مفيدًا، فقد تكون المشكلة مرتبطة بهجمات الحرمان من الخدمة الموزعة أو حركة المرور الضارة. يمكنك:
- قم بتمكين WAF (جدار حماية تطبيقات الويب) في Cloudflare لمنع الطلبات الضارة.
- قم بحظر عناوين IP أو البلدان المشبوهة التي تولد حركة مرور مفرطة ولكنها ليست جمهورك المستهدف.
- قم بزيادة قواعد الأمان في Cloudflare لتحدي حركة المرور أو الروبوتات المشبوهة.
12.
إذا استمر نمو حركة المرور، ففكر في توزيع الحمل عبر خوادم متعددة باستخدام موازن التحميل مثل
HAProxy أو عن طريق التوسع أفقيًا مع موفري الخدمات السحابية مثل AWS أو Google Cloud أو DigitalOcean.
باتباع هذه الخطوات والمراقبة عن كثب، يجب أن تكون قادرًا على تحديد السبب الجذري للحمل الزائد وتحسين الأداء العام واستقرار موقع الويب الخاص بك. أخبرني إذا كنت بحاجة إلى مزيد من المساعدة في أي مجال محدد!