نصائح لتسريع أداء المواقع المبنية بإطار عمل لارافيل
الكثير من الشركات تستخدم إطار العمل لاراڤيل (Laravel) لبناء موقع الويب الخاص بالشركة. اليوم سنقوم بعمل تحسين لسرعة بي اتش بي لاراڤِل في خطوات بسيطة.
استخدام Laravel Mix لتحسين وتصغير الملفات 🔗
لارافيل ميكس تقوم بخلط العديد من ملفات الـ CSS لينتج ملف واحد. وبذلك يحتاج الموقع لطلب ملف واحد في http request واحد فقط. مثال على طريقة استخدام ميكس.
mix.styles([
'public/css/vendor/normalize.css',
'public/css/styles.css',
], 'public/css/all.css');
استخدام الحفظ المؤقت cache دائماً 🔗
الكاش في مجال البرمجة معناه استخدام المعلومات التي تم تكوينها أو انتاجها في خطوات سابقة. الكاشينج (caching) يلعب دور كبير في تحسين أداء مواقع الويب.
على سبيل المثال، يتم طلب API معين كثيراً جداً. إن استخدمنا نفس الرد على الطلب السابق بدلاً من إجراء طلب جديد للـ API . وبذلك نوفر الكثير من الوقت اللازم لإجراء الطلب، ونقلل من استهلاك قواعد البيانات وتقليل عدد مرات التواصل مع قاعدة البيانات.
إطار العمل لاراڤيل يوفر لنا أمر سهل وبسيط لعمل حفظ مؤقت للكثير من الأمور. يمكنك عمل cache من خلال هذا الأمر.
php artisan config:cache
على سبيل المثال عمل cache للمسارات routes بهذا الأمر.
php artisan route:cache
استخدام الطوابير Queues 🔗
من هياكل البيانات الضرورية في تحسين الأداء هي الطوابير (queue). نستخدم الطابور (queue) غالباً لإرسال رسائل من المستخدم إلى الخدمة أو العكس. سنقوم بالحديث عن استخدام الكيوز (queues) في مقال منفصل إن شاء الله لأنها مهمة جداً في تحسين أداء المواقع المبنية بـ لارافيل.
تحديث لارافيل و بي إتش بي 🔗
التحديثات تقوم بعمل الكثير من التحسينات في سرعة وأداء إطار العمل لارافيل ولغة البرمجة PHP لذلك أنصحك بعمل تحديث لإطار العمل واللغة دائماً.
التصغير minification 🔗
معني minification تصغير حجم أجزاء التطبيق قدر الإمكان. يُمكنك تقليل حجم الكود ، اعدادات السيرفر ، والكثير من الملفات الثابتة في الموقع الإلكتروني. والآن أقدم لك الأشياء التي يمكن تصغيرها.
تصغير HTML 🔗
تصغير HTML معناها تقليل حجم الكود وتقسيمه إلى عدّة أجزاء مما يساعد في تكوين صفحة الويب أسرع مما يجعل رد السيرفر أسرع.
تصغير CSS 🔗
تصغير ملفات CSS معناه حذف أوامر التنسيق الغير مهمة ، وإزالة الكود المكتوب بشكل خاطئ، وحذف المسافات ، والكثير من العمليات التي تساعد في تصغير ملف التنسيقات CSS . ولكن يجب عليك تجرب واختبار ملف CSS بعد التصغير لأن المتصفحات المختلفة تتعامل بشكل مختلف مع ملفات CSS المصغرة.
تصغير جافاسكربت 🔗
تصغير كود جافاسكربت يساعد في تقليل وقت تنفيذ الكود على جهاز المستخدم. تصغير جافاسكربت (javascript) يتم عن طريق الكثير من العمليات أهمها إزالة الـ API calls الغير مستخدمه ، وإزالة المتغيرات الغير مستخدمه ، وإزالة الـ imports الغير مستخدمه ، .. إلخ.
مراقبة ومتابعة أداء الموقع بإستخدام أداة Scout APM (أداة مدفوعة) 🔗
أداة Scout APM هي أداة متخصصة في مراقبة تطبيقات الويب لمعرفة المشاكل والعيوب بهدف تحسين أداء مواقع الويب. هذه الأداة تدعم لغات وإطارات عمل كثيرة منها لغة PHP و لغة روبي Ruby ولغة بايثون Python ولغة إيليكسير Elixir وغيرها من لغات البرمجة.
تعدم أداة سكوت إيه بي إم إطار عمل لارافيل من إصدار 5.5 أو أحدث. تساعد أداة Scout APM في معرفة وتحديد أوامر قواعد البيانات N+1 queries وهي تعتبر مشكلة أساسية في Laravel Eloquent .
تثبيت Scout APM في تطبيق لارافيل سهل جداً. كل ما عليك هو تنفيذ هذا الأمر في التيرمينال.
composer require scoutapp/scout-apm-laravel
ثم تنفيذ الأمر scout-app وبذلك نتأكد أنه تم التثبيت بنجاح.
بعد ذلك، نقوم بإضافة هذه الثوابت لملف .env
لكي تكامل scout apm مع تطبيق لارافيل الخاص بك.
# Scout settings
SCOUT_MONITOR=true
SCOUT_KEY="[AVAILABLE IN THE SCOUT UI]"
SCOUT_NAME="A FRIENDLY NAME FOR YOUR APP"
إن كنت تريد تثبيت تطبيق لارافيل على منصة هيروكو (Heroku) من خلال إضافة هيروكو (heroku addon) ، فأنت لا تحتاج إلى إضافة SCOUT_MONITOR ولا SCOUT_KEY لأن هيروكو يقوم بإضافتهم تلقائياً.
ثم بعد ذلك تضيف ملف config/scout_amp.php بإستخدام هذا الأمر.
php artisan vendor:publish --provider=\"Scoutapm\\Laravel\\Providers\\ScoutApmServiceProvider\"
وبعد ذلك تقوم بحذف ملفات الكاش (ملفات الحفظ المؤقت) ، وتقوم بإعادة بنائها مرةً أخرى. استخدم هذه الأوامر بالترتيب.
php artisan cache:clear
php artisan route:cache
php artisan config:cache
ويُمكنك التأكد من حالة الحفظ المؤقت (cache) من خلال هذا الأمر.
php artisan about
إن أردت أن تضيف امتداد / اضافة scoutapm PHP extension استخدم هذا الأمر.
sudo pecl install scoutapm
إن كنت تفضل مشاهدة الفيديو أكثر من قراءة المقالات، اشترك في القناة على اليوتيوب من هنا . إن كنت تستخدم برنامج تليجرام ، يُمكنك الاشتراك في قناة تيليجرام للحصول على الموضوعات الجديدة. لمزيد من المعلومات عن البرمجة ولينكس وأندرويد وويندوز وماك وآيفون وتصميم المواقع، ابحث عن “موقع أبانوب حنا للبرمجيات” على جوجل وادخل للموقع وستجد موضوع جديد يشرح فكرة أو معلومة جميلة ومفيدة كل يوم.