مدونة عمار الخوالده

قُصاصات

مجموعة من الملاحظات والأفكار السريعة

سجل الاستعلامات البطيئة - Slow Query Log

من الإعدادات المفيدة في MariaDB / MySQL، هي إعدادات الـ Slow Query Log،

وهي من الطرق التي تستخدم (بدون أدوات مراقبة خارجية) لمعرفة الـ Queries البطيئة في قاعدة البيانات،

يمكنك تحديد عدد الثواني التي إذا تجاوزها وقت تشغيل الـ Query يعتبر بطيئا.

خيارات تفعيل الـ Slow Query Log

توجد العديد من الإعدادات الأخرى كتحديد مسار الملف الخاص بالـ Log، أو بعض الشروط الإضافية التي يجب أن ينطبق حتى يتم تسجيل الـ Query على أنه بطيء


Databases

Server Sent Events (SSE)

بروتوكول HTTP يستخدم Request-Response model، مما يعني أن السيرفر لا يستطيع إرسال بيانات إلى الـ Client ما لم يقم الـ Client أولا بإرسال Request.

لكن يمكن استخدام SSE (Server Sent Events) لإرسال البيانات من السيرفر للـ Client، لا يزال الـ Client بحاجة إلى إرسال Request أولا، لكن يتم استخدام Keep-Alive لإبقاء الاتصال مفتوحا، والسيرفر سيرسل البيانات دون انهاء الـ Response، في الصورة السابقة تجد أنه قد تم إرسال أكثر من رسالة من السيرفر إلى الـ Client في أوقات مختلفة، كلها تعتبر Response واحدة لكن تم تقسيما وإرسالها بالتدريج،


Networking HTTP

الحفاظ على الاتصال بين HTTP 1.0 و HTTP 1.1

اقوم اليوم ببعض التجارب المتعلقة ببروتوكول HTTP لفهمه بشكل أعمق،

حاولت إرسال الـ Request باستخدام netcat عبر TCP مباشرة دون استخدام HTTP Client.

الصورة المرفقة توضح الفرق بين نسخة HTTP 1.0 و HTTP 1.1.

HTTP 1.0 vs HTTP 1.1 raw request

في النسخة 1.0 ستضطر لإرسال كل HTTP Request باتصال TCP جديد، بينما في النسخة 1.1، يمكن إرسال أكثر من HTTP Request على نفس الاتصال مما يزيد من سرعة العملية (ستختصر الوقت والموارد اللازمة لفتح اتصال جديد).


Networking HTTP