كيفية متابعة الاستعلامات واوقات تنفيذها و التحسين في الاستعلامات

laravel , lumen , sql , query


السلام عليكم ورحمة الله وبركاته 

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

اليوم سوف نقوم بالقاء الضوء علي الباكديج 

mnabialek/laravel-sql-logger

طريقة التسطيب مع الامر التالي في سطر الاوامر

composer require mnabialek/laravel-sql-logger --dev

في حال اردت تسطيبها في البروكدشن امسح --dev

اذا كنت علي اصدار اقل من < 5.5

افتح المسار التالي

config/app.php

قم بضافة السطر التالي

 
Mnabialek\LaravelSqlLogger\Providers\ServiceProvider::class,

اذا كنت في اصدار اعلي من  5.5 كل شئ سيتم بشكل اتوماتيكي لا تقلق

اذا كنت تقوم باستخدام لومين مثل المثال افتح المسار التالي bootstrap/app.php 

واضف السطر التالي

$app->register(Mnabialek\LaravelSqlLogger\Providers\ServiceProvider::class);

للمزيد قم بالطلاع علي رابط الباكديج

تقوم الباكديج بحفظ كل الاستعلامات التي تقوم علي النظام في ملفات في المسار التالي

/storage/logs/sql

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

/* Origin (request): POST http://192.168.10.10/app/v1/student/store
Query 1 - 2021-05-17 07:50:49 [7.41ms] */
select count(*) as aggregate from `students` where `email` = 'sdfsdfsdfsdf@student.com';
/*==================================================*/

السطر الاول يوضح من قام بالاستعلام و مدة وتاريخ الاستعلام
السطر الثاني يوضح الصيغة النهائية للاستعلام
تقوم ايضا الباكدج بعمل ملفات لتخزين الاستعلامات التي يتطلب تنفذها وقت طويل في ملف منفصل يكون اسم الملف
يحتوي علي كلمة slow

/* Origin (console): vendor/bin/phpunit
Query 14 - 2021-05-19 05:49:58 [386.17ms] */
alter table `universities` add index `universities_admins_count_index`(`admins_count`);
/*==================================================*/


كما نري الاستعلام التالي نفذ خلال 386 وهو رقم كبير نسبيا لذلك تقوم الباكدج بضافته  الي الملف الخاص بالاستعلامات ذات وقت التنفيذ الطويل

الباكديج  من الباكدجات  المهمة جدا وخصوصا لو انت شغال علي  api

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

جميع حقوق المقال محفوظة لخدمات ويب يمنع النقل بدون اذن من فريق عمل خدمات ويب

بالتوفيق للجميع



0 Comments


    Not Comments Here

Add Comment


You Must have account Login Or Register

5dmat-web team