نصائح لتسريع أداء المواقع المبنية بإطار عمل لارافيل

الكثير من الشركات تستخدم إطار العمل لاراڤيل (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

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

0 comments:

إرسال تعليق