Software Development

الاستخدام المفرط لوحدة المعالجة المركزية في مواقع ووردبريس وما يجب فعله حيال ذلك

Ece Kaya

Ece Kaya

بلس كلاودز أوثر

الاستخدام المفرط لوحدة المعالجة المركزية في مواقع ووردبريس وما يجب فعله حيال ذلك

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

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

ما هو استخدام وحدة المعالجة المركزية ولماذا يرتفع في ووردبريس؟

وحدة المعالجة المركزية (CPU) هي عقل الخادم الخاص بك. في كل مرة يزور فيها شخص ما موقع ووردبريس الخاص بك، يقوم الخادم بتشغيل كود PHP، واستعلام قاعدة البيانات، وتجميع الصفحة، وإرسالها إلى المتصفح. كل هذه العمليات تستهلك طاقة وحدة المعالجة المركزية. عندما تحدث الكثير من هذه العمليات في نفس الوقت أو عندما تكون العمليات الفردية غير فعالة، يرتفع استخدام وحدة المعالجة المركزية.

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

الأسباب الشائعة لاستهلاك وحدة المعالجة المركزية (CPU) بشكل مفرط في ووردبريس

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

القوالب الثقيلة من حيث الموارد تُعتبر عاملًا رئيسيًا آخر. القوالب المليئة بالشرائح المتحركة، والرسوم المتحركة، وتأثيرات المنظر (parallax)، وجافاسكريبت المتقدم قد تبدو رائعة، لكنها تجبر الخادم على العمل بجهد أكبر لتوليد كل صفحة. القالب الأخف غالبًا ما يؤدي إلى استهلاك أقل لوحدة المعالجة المركزية وأوقات تحميل أسرع.

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

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

غالبًا ما يُستهان بتأثير البرمجيات القديمة. الإصدارات القديمة من نواة ووردبريس، والإضافات، والقوالب تفتقر إلى التحسينات في الأداء التي تتضمنها الإصدارات الأحدث. تشغيل إصدار قديم من PHP (أي شيء أقل من PHP 8.x) يُعد مكلفًا بشكل خاص، حيث أن الإصدارات الحديثة من PHP أسرع بكثير وأكثر كفاءة في استخدام الذاكرة من الإصدارات السابقة.

أخيرًا، يُعتبر غياب التخزين المؤقت (الكاش) على الأرجح أكبر عامل يضخم جميع المشكلات الأخرى. بدون التخزين المؤقت، يقوم ووردبريس بإعادة إنشاء كل صفحة ديناميكيًا لكل زائر. أما التخزين المؤقت على مستوى الصفحة فيعني أن معظم الزوار يتلقون ملف HTML ثابت بدلاً من ذلك، متجاوزين تنفيذ PHP واستعلامات قاعدة البيانات بالكامل. ويمكن أن تكون وفورات وحدة المعالجة المركزية (CPU) كبيرة للغاية.

أتمتة محتوى ووردبريس الخاص بك

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

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

يمكنك تجربتها مجانًا على plusclouds.com/us/community/auto-quill

image

كيفية تشخيص المشكلة قبل إصلاحها

قبل إجراء أي تغييرات، تحتاج إلى معرفة مصدر التحميل الفعلي. عادةً ما يعرض لك لوحة تحكم الاستضافة (cPanel أو Plesk أو لوحة تحكم سحابية) استخدام وحدة المعالجة المركزية على مدار الوقت. ابحث عن الارتفاعات وحاول ربطها بأوقات محددة أو أنماط حركة المرور أو المهام المجدولة.

Query Monitor هو إضافة ووردبريس تعرض لك استعلامات قاعدة البيانات، وأخطاء PHP، وأداء الخطافات لكل تحميل صفحة، وهو لا يقدر بثمن لتحديد الاستعلامات البطيئة المرتبطة بإضافات معينة. تقدم New Relic مراقبة أعمق على مستوى التطبيق إذا كان لديك إمكانية الوصول إلى أدوات الخادم. يمكن لتقرير حركة المرور في Wordfence مساعدتك في تصور حركة مرور الروبوتات التي تضرب موقعك في الوقت الفعلي، ومع ذلك يجب إزالته بعد ذلك إذا لم تكن بحاجة إليه، حيث يمكن لأدوات فحص الأمان نفسها أن تساهم في تحميل وحدة المعالجة المركزية.

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

راقب ارتفاع استخدام وحدة المعالجة المركزية قبل أن يتسبب في تعطل موقعك

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

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

image

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

ماذا تفعل بشأن الاستهلاك المفرط لوحدة المعالجة المركزية في ووردبريس

قم بتثبيت إضافة تخزين مؤقت كاملة للصفحات وقم بإعدادها بشكل صحيح. إضافات مثل FlyingPress أو WP Rocket أو W3 Total Cache يمكنها تقديم نسخ HTML ثابتة من صفحاتك، مما يقلل بشكل كبير من العمل المطلوب من PHP وقاعدة البيانات في كل زيارة. قم بإقران ذلك مع شبكة CDN مثل Cloudflare أو QUIC.cloud لنقل تسليم الأصول وإضافة جدار حماية على مستوى الحافة ضد الروبوتات الضارة.

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

قم بتحويل wp-cron إلى مهمة cron حقيقية على الخادم. من خلال تعطيل وظيفة pseudo-cron في ووردبريس وجدولة المهام على مستوى النظام بدلاً من ذلك، فإنك تقضي على العبء الناتج عن تشغيل wp-cron في كل زيارة لصفحة. تتيح لك معظم لوحات تحكم الاستضافة تكوين ذلك في غضون دقائق قليلة.

ابقَ على كل شيء محدثًا. يجب أن تعمل نواة ووردبريس والقوالب والإضافات دائمًا على أحدث الإصدارات المستقرة. إذا كنت تستخدم PHP 7.x أو أقدم، فإن الترقية إلى PHP 8.x هي واحدة من أكثر التغييرات تأثيرًا وأقلها جهدًا يمكنك القيام بها.

قم بتحسين قاعدة بياناتك بانتظام. مع مرور الوقت، يجمع ووردبريس نسخًا سابقة من التدوينات، وخيارات مؤقتة، وتعليقات مزعجة، وبيانات إضافات يتيمة. يمكن لأدوات مثل WP-Optimize أو أدوات مشابهة تنظيف ذلك وتقليل العمل الذي يتعين على MySQL القيام به في كل استعلام.

إذا كنت على استضافة مشتركة وقد قمت بكل ما سبق دون جدوى، فقد تكون المشكلة هيكلية. غالبًا ما تحد بيئات الاستضافة المشتركة بشكل كبير من عدد أنوية المعالج، ولا يمكن لأي قدر من التحسين التغلب على بنية تحتية ضعيفة. الانتقال إلى VPS أو منصة سحابية بموارد مخصصة ويفضل أن تستخدم خوادم LiteSpeed، التي تتعامل مع عدد أكبر بكثير من الطلبات المتزامنة مقارنة بـ Apache، يمكن أن يقلل من استهلاك المعالج بنسبة 50% أو أكثر.

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

بيئة الاستضافة المناسبة مهمة

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

تتعامل الاستضافة المعتمدة على LiteSpeed مع ضعف الاتصالات المتزامنة تقريبًا مقارنة بخطط Apache مع استهلاك أقل للمعالج. تخفض وحدات تخزين NVMe من زمن استجابة الإدخال/الإخراج الذي يبطئ استعلامات قاعدة البيانات. إذا كنت تتوسع، فإن بيئة سحابية بقدرات توسع تلقائي (حيث تتوسع الموارد تلقائيًا أثناء ارتفاع حركة المرور بدلاً من الاصطدام بسقف صلب للمعالج) تقضي على خطر تدهور الأداء خلال أهم لحظاتك.

الخلاصة

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

#الاستخدام المفرط لوحدة المعالجة المركزية، ووردبريس