[تم الحل] احتاج ضبط TTFBلتحسين سرعة استجابة السيرفر

بما أن القيمة لديك وصلت إلى 1 ثانية، فهذا يعني أن السيرفر يأخذ وقتاً طويلاً جداً في "التفكير" وتجهيز بيانات الصفحة قبل إرسال أول بايت للمتصفح. في سكربت XenForo 2.3.10، هذا التأخير غالباً ما يكون بسبب استعلامات قاعدة البيانات الثقيلة أو عدم تفعيل التخزين المؤقت (Caching).

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

الخيار الأفضل: استخدام Redis. هو أسرع محرك تخزين مؤقت حالياً.

طريقة التفعيل في XenForo:
1 يجب أن يكون ⁠Redis⁠ مثبتاً على السيرفر الخاص بك (تواصل مع الدعم الفني للاستضافة إذا لم تكن متأكداً).
2 افتح ملف ⁠src/config.php⁠ الموجود في مجلد السكربت.
3 أضف الأكواد التالية لربط السكربت بـ Redis:
2. تفعيل تحسين استعلامات قاعدة البيانات (Query Optimization)
السكربت قد يعاني من بطء إذا كان حجم قاعدة البيانات كبيراً جداً (كبير الحجم في الجداول).

تنظيف قاعدة البيانات: من لوحة تحكم XenForo، اذهب إلى ⁠Tools -> Rebuild caches⁠ وقم بتشغيل الأدوات الخاصة بتنظيف الذاكرة المؤقتة.

الاستعلامات البطيئة: إذا كان هناك إضافات (Add-ons) غير برمجية بشكل جيد، فهي تسبب استعلامات بطيئة. جرب تعطيل الإضافات التي تظهر في الصفحة الرئيسية واحدة تلو الأخرى وشاهد هل ينخفض الـ TTFB.

3. تحسين إعدادات PHP و OpCache
يجب أن تعمل نسخة PHP بكامل طاقتها.

OpCache: تأكد من أن إضافة ⁠Zend OpCache⁠ مفعلة في إعدادات PHP على السيرفر، فهي تحفظ كود PHP المترجم في الذاكرة.
نسخة PHP: تأكد أنك تستخدم PHP 8.2 أو 8.3. النسخ الحديثة أسرع بكثير من النسخ القديمة في معالجة طلبات السكربت.

4. استخدام نظام Page Caching (التخزين المؤقت للصفحات)

إذا كان المنتدى يعاني من ضغط زوار كبير:
استخدم إضافة (Add-on) لعمل Cache للصفحات للزوار "غير المسجلين" (Guest Caching). هذا يجعل السيرفر لا يقوم بتجهيز الصفحة من الصفر، بل يرسل نسخة جاهزة ومخزنة مسبقاً، مما يجعل الـ TTFB ينخفض إلى أقل من 200 ميلي ثانية.

كيف تختبر النتائج؟
بعد تفعيل ⁠Redis⁠ وضبط إعدادات الـ ⁠config.php⁠:
1 استخدم أداة WebPageTest.org.
2 أدخل رابط المنتدى.
3 انظر إلى عمود "Time to First Byte" في جدول النتائج.

سؤال لك لتقييم الوضع: هل الاستضافة التي تستخدمها مشتركة (Shared Hosting) أم لديك سيرفر خاص (VPS)؟
(لأن الاستضافة المشتركة غالباً ما تضع قيوداً على الذاكرة تجعل الـ TTFB مرتفعاً مهما حاولنا تحسين الأكواد).

بانتظار ردك لنعرف كيف نكمل في الخطوة القادمة.

ادارة كود نت .
 
لإتمام إعدادات التخزين المؤقت (Caching) عبر Redis في سكربت XenForo 2.3.10، يجب تعديل ملف src/config.php.
إليك الأكواد التي يجب أن تضيفها. افتح الملف باستخدام مدير الملفات في لوحة تحكم الاستضافة (مثل cPanel) وانتقل إلى المسار src/config.php:
الكود المطلوب إضافته:
ابحث عن أي سطر يبدأ بـ $config، وأضف هذا الكود في أي مكان داخل الملف (يفضل قبل علامة الإغلاق ?> إن وجدت، أو في نهاية الملف):
كود:
// تفعيل التخزين المؤقت باستخدام Redis
$config['cache']['enabled'] = true;
$config['cache']['provider'] = 'Redis';
$config['cache']['config'] = [
    'host' => '127.0.0.1',
    'port' => 6379,
    'password' => '', // ضع كلمة مرور Redis هنا إذا كانت الاستضافة تتطلب ذلك، وإلا اتركها فارغة
    'timeout' => 1.5
];
تنبيهات هامة جداً قبل الحفظ:
1. تأكد من دعم السيرفر لـ Redis: قبل إضافة الكود، تأكد من أن خدمة Redis تعمل على سيرفرك. إذا أضفت الكود دون أن يكون Redis مفعلاً على مستوى السيرفر، سيتوقف الموقع عن العمل (ستظهر رسالة خطأ 500).
كيف تتأكد؟* تواصل مع دعم الاستضافة واسألهم: "هل خدمة Redis متاحة على السيرفر، وهل هناك كلمة مرور للاتصال بها؟".
2. خيار بديل (إذا لم يكن Redis متاحاً):
إذا لم تدعم استضافتك Redis، يمكنك استخدام **File Cache** (التخزين المؤقت على الملفات)، وهو أسهل ولا يتطلب إعدادات معقدة من جهة السيرفر. استخدم الكود التالي بدلاً من كود Redis:
كود:
   $config['cache']['enabled'] = true;
   $config['cache']['provider'] = 'Filesystem';
   $config['cache']['config'] = [
       'directory' => '/path/to/your/xf/internal_data/cache'
   ];
(تأكد من استبدال المسار أعلاه بالمسار الحقيقي لمجلد internal_data/cache في موقعك).
3. بعد إضافة الكود:
احفظ الملف.
قم بتنظيف ذاكرة التخزين المؤقت من لوحة تحكم XenForo:
Tools -> Rebuild caches.
إذا واجهت أي خطأ بعد الحفظ، قم بحذف الكود فوراً وسيعود الموقع للعمل.
هل تريدني أن أشرح لك كيف تتأكد من أن Redis يعمل بنجاح بعد إضافة الكود؟


ادارة كود نت .

ملاحظة : يرجى حل هذهِ المشكلة عبر مراسلة الاستضافة المستضيف عليها وترك الامر اليهم ولاتفعل اي شيء وان احببت ان تحلها يدويًا انتَ فهذهِ الشيء لك لكن ايضًا لايساعدك بحل مشكلة 100% ان قمت بالشرح ، فالوحيد القادر على حل المشكلة هوَ صاحب الاستضافة .

تقدم كود نت ، خدمات الاستضافة المشتركة ، يمكن نقل موقعك بالكامل علينا بمبلغ 80$ سنوي بمواصفات

  1. قواعد بيانات >>غير محدود
  2. بريد الالكتروني >>غير محدود
  3. نطاقات فرعية >>غير محدود
  4. مساحة تخزين >> 15 كيكا حقيقية .
  5. لوحة تحكم >> cPanel
  6. دعم فني على مدار الاسبوع 24 ساعة .
 
تم تطبيق الشرح وانا على استضافه مشتركه اخى مهدى
تواصل مع دعم الفني الخاص باستضافتكم المشتركة ، لحل مشاكل ..
لكن ملاحظة صديقي : فهذهِ المشاكل تعتمد احيانًا على شكل المنتدى ، اي بمعنى استايل المنتدى له تأثير كبير على الاداء
 
عودة
أعلى أسفل