برمجة

كيف ترتّب تحسين استعلامات PostgreSQL باستخدام pg_stat_statements؟

فريق فايندو جروب2 دقائق قراءة0 مشاهدة0 تعليقات
مشاركة:
رسم أشرطة يقارن إجمالي زمن التنفيذ بين ثلاثة استعلامات في PostgreSQL

ابدأ بسؤال واحد

لو طلب مدير التشغيل تسريع شاشة المخزون، افصل بين سؤالين. أي استعلام يستهلك وقت قاعدة البيانات على مدار الساعة؟ وأي استعلام يجعل الموظف ينتظر عند فتح الشاشة؟ الأول يساعدك في تخفيف الحمل، والثاني يحتاج ربط القياس بمسار الطلب الذي يراه المستخدم.

اقرأ الأرقام كوحدة واحدة

تعرض الإضافة عدد الاستدعاءات ووقت التنفيذ التراكمي والمتوسط. في مثال افتراضي، استعلام متوسطه 20 مللي ثانية نُفّذ 12 ألف مرة يستهلك 240 ثانية من زمن التنفيذ التراكمي. تقرير متوسطه ثانيتان نُفّذ 60 مرة يستهلك 120 ثانية. قد تبدأ بالأول لتخفيف الحمل وبالثاني لو كان وقت انتظار التقرير هو المشكلة. مجموع أزمنة التنفيذ قد يتداخل عبر جلسات متزامنة.

قِس الفرق بين لقطتين

احتفظ بلقطتين من العدادات لقاعدة البيانات نفسها وبالمفاتيح التي تميّز صف الاستعلام. اطرح عدد الاستدعاءات والزمن بين اللقطتين، واحسب متوسط النافذة بقسمة فرق الزمن على فرق الاستدعاءات عند وجود استدعاءات. إذا أُعيد ضبط الإحصاءات أو اختفى الصف، ابدأ نافذة جديدة. لا تستخدم المتوسط لحساب المئين 95.

اختبار قبول التغيير

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

من فايندو جروب: أنظمة تخطيط موارد المؤسسات.

المراجع

التصنيفات:برمجة
شارك:

التعليقات

لا توجد تعليقات بعد

أضف تعليقك

كن أول من يعلق على هذا المقال

02 · تابع القراءة

مقالات ذات صلة