عند تشغيل Laravel VPS إنتاجي، السرعة ليست رفاهية في تطبيقات Laravel — هي الفرق بين مستخدم يبقى وآخر يغادر، وبين خادم يتحمّل الذروة وآخر ينهار. والخبر الجيّد أن تحسين أداء Laravel على VPS لا يحتاج عتاداً أقوى بالضرورة، بل إعداداً أذكى: PHP 8.4، وOPcache، وRedis، وNginx مضبوط، وأوامر تحسين Laravel. في هذا الدليل نبني هذا الستاك كاملاً على VPS، ثم نعرض أرقاماً حقيقية قبل وبعد قِسناها فعلياً على خادم من مرام — والفرق سيفاجئك.

ركائز أداء Laravel على VPS: PHP 8.4 وOPcache وNginx وRedis
أربع ركائز تعمل معاً لأقصى سرعة: PHP 8.4، OPcache، Nginx + PHP-FPM، وRedis.

لماذا يهمّ أداء Laravel؟

كل مللي ثانية في زمن الاستجابة تؤثّر على تجربة المستخدم وترتيبك في البحث ومعدّل التحويل. تطبيق Laravel غير المُحسَّن يعيد في كل طلب قراءة ملفات PHP وتصريفها وبناء إعداداته من الصفر — وهذا هدر هائل. تحسين أداء Laravel يعني إلغاء هذا الهدر عبر التخزين المؤقت على كل المستويات: الشيفرة، والإعدادات، والبيانات. لنبنِ ذلك خطوة بخطوة.

الركائز الأربع لأداء Laravel VPS

يقوم الإعداد الأمثل على أربع ركائز متكاملة، كلٌّ تعالج طبقة مختلفة من الأداء:

  • PHP 8.4: أحدث إصدار بأداء أعلى ومترجم JIT مدمج.
  • OPcache: يخزّن شيفرة PHP المترجَمة في الذاكرة فيُلغي إعادة التصريف.
  • Nginx + PHP-FPM: خادم ويب سريع مع عمّال معالجة مضبوطين.
  • Redis: كاش وجلسات وطوابير في الذاكرة، يخفّف الحِمل عن قاعدة البيانات.

PHP 8.4 وضبط PHP-FPM

ابدأ بأحدث PHP. ثبّت PHP 8.4 (عبر مستودع ondrej على Ubuntu) مع إضافات Laravel:

sudo add-apt-repository ppa:ondrej/php && sudo apt update
sudo apt install -y php8.4-fpm php8.4-cli php8.4-mysql php8.4-mbstring \
  php8.4-xml php8.4-bcmath php8.4-curl php8.4-zip php8.4-intl php8.4-opcache php8.4-redis

ثم اضبط عمّال PHP-FPM حسب ذاكرة خادمك في /etc/php/8.4/fpm/pool.d/www.conf — كل عامل يستهلك ذاكرة، فوازن بين العدد والموارد:

pm = dynamic
pm.max_children = 20      ; اضبطه = (الذاكرة المتاحة ÷ حجم عملية PHP)
pm.start_servers = 4
pm.min_spare_servers = 2
pm.max_spare_servers = 8

OPcache: أكبر قفزة أداء

هذه أهمّ خطوة على الإطلاق لتحسين أداء Laravel. OPcache يخزّن الشيفرة المترجَمة (bytecode) في الذاكرة، فبدل قراءة وتصريف ملفات PHP في كل طلب، يُنفّذ الخادم النسخة الجاهزة مباشرةً:

آلية عمل OPcache: بدون تصريف متكرّر مقابل bytecode مخزّن في الذاكرة
بدون OPcache يُعاد تصريف PHP في كل طلب؛ معه يُنفَّذ bytecode جاهز من الذاكرة.

فعّل OPcache واضبطه في /etc/php/8.4/fpm/conf.d/opcache.ini بهذه القيم المناسبة للإنتاج:

opcache.enable=1
opcache.memory_consumption=256
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=20000
opcache.validate_timestamps=0
opcache.jit=1255
opcache.jit_buffer_size=128M
⚠️ القيمة validate_timestamps=0 تمنع OPcache من فحص تغيّر الملفات (أسرع)، لكنها تعني أنك يجب أن تُعيد تحميل PHP-FPM أو تشغّل opcache_reset() بعد كل نشر لرؤية التعديلات.

Redis للكاش والجلسات

انقل كاش Laravel وجلساته إلى Redis (في الذاكرة) بدل قاعدة البيانات أو الملفات. بعد تثبيت php8.4-redis وخادم Redis، عدّل ملف .env:

CACHE_STORE=redis
SESSION_DRIVER=redis
REDIS_CLIENT=phpredis

الآن تُخدَم الجلسات ونتائج الكاش من الذاكرة بسرعة فائقة، وتتحرّر قاعدة البيانات للعمل الأساسي — وهذا فارق كبير في التطبيقات كثيفة القراءة.

اقرأ أيضاً: التعامل مع التزامن العالي: Redis والطوابير ومعالجة المهام

ضبط Nginx

اضبط Nginx لضغط الاستجابات وإبقاء الاتصالات حيّة، ما يقلّل حجم النقل وزمن التأسيس:

# في /etc/nginx/nginx.conf
gzip on;
gzip_types text/css application/javascript application/json image/svg+xml;
keepalive_timeout 65;

# وفي كتلة الموقع: تخزين الأصول الثابتة طويلاً
location ~* \.(css|js|jpg|png|webp|woff2)$ {
    expires 30d;
    add_header Cache-Control "public, immutable";
}

تحسينات Laravel VPS للإنتاج

أخيراً، خزّن إعدادات ومسارات Laravel مسبقاً بأمر واحد يجمع كل تحسينات الإنتاج:

php artisan optimize

# يشمل: config:cache + route:cache + view:cache + event:cache
# للتراجع أثناء التطوير: php artisan optimize:clear
✅ اجعل php artisan optimize جزءاً من سكربت النشر لديك، بعد كل git pull وcomposer install — لتضمن أن الإنتاج يعمل دائماً بأقصى سرعة.

أداء Laravel VPS: الأرقام قبل وبعد

لم نكتب هذا نظرياً. طبّقنا هذا الإعداد على تطبيق Laravel حقيقي على خادم VPS من مرام، وقِسنا الأداء بأداة ApacheBench قبل وبعد:

أرقام أداء Laravel قبل وبعد الإعداد الأمثل: 27.9 مقابل 581.9 طلب في الثانية
قياس فعلي: الإعداد الأمثل رفع الإنتاجية من 27.9 إلى 581.9 طلب/ثانية (~21×).

الفرق مذهل وحقيقي: انتقلت الإنتاجية من 27.9 إلى 581.9 طلب في الثانية — تحسّن يقارب 21 ضعفاً — وانخفض زمن المعالجة تحت الحِمل من ~36 إلى ~1.7 مللي ثانية، بصفر طلبات فاشلة. الجزء الأكبر من هذه القفزة يأتي من OPcache وكاش الإطار، اللذين يُلغيان إعادة تصريف PHP وبناء الإعدادات في كل طلب.

⚠️ شفافية: «قبل» = PHP 8.3 بلا OPcache وبلا كاش إطار (حالة تطوير شائعة)؛ «بعد» = PHP 8.4 مع OPcache/JIT وRedis وoptimize. الأرقام مقاسة على خادم مرام فعلي بأداة ab، وتتغيّر حسب التطبيق والكود — الغاية إظهار حجم أثر الإعداد لا رقم ثابت.

الخلاصة

تحسين أداء Laravel على VPS لا يحتاج سحراً، بل إعداداً منهجياً: PHP 8.4 حديث، OPcache مضبوط، Redis للكاش والجلسات، Nginx وPHP-FPM محسّنان، وأوامر تحسين Laravel. النتيجة — كما قِسنا فعلياً — قفزة تصل إلى 21 ضعفاً في الإنتاجية على نفس العتاد. طبّق هذه الخطوات على خادمك، وستمنح مستخدميك تجربة أسرع دون دفع المزيد. راجع توثيق Laravel للنشر وتوثيق OPcache الرسمي، وتوثيق Nginx، وتوثيق Redis للتعمّق.

من واقع مرام

نُجهّز خوادم مرام ببيئة Laravel محسّنة جاهزة: PHP حديث، OPcache مضبوط، وNVMe سريع — ونساعدك في ضبط Redis وPHP-FPM لتطبيقك تحديداً. الأرقام في هذا المقال مقاسة على عتادنا فعلياً، لا وعوداً تسويقية.

امنح Laravel السرعة التي يستحقها

خوادم VPS من مرام مهيّأة للأداء العالي — بيئة Laravel محسّنة ودعم عربي تقني حقيقي.

جرّب VPS سريع لـLaravel ←