Statgres stat بدون أعصاب وسلالات

قبل عامين ، عند التعامل مع مشكلة أخرى في أداء postgres ، اضطررت إلى الخوض في إحصاءات postgres. في الخوض في وجهات النظر والوظائف ، وجدت نفسي أفكر في أن العمل مع ما هو متخلف عن السداد ليس مناسبًا تمامًا.

وفي الواقع ، في postgres الكثير من جميع أنواع المقاييس ، يتم تقديمها جميعًا في شكل تمثيلات ووظائف. من ناحية ، أنها مريحة للغاية ، كتب SELECT وتلقى البيانات. من ناحية أخرى ، فإن هذه الكتابات الدورية متعبة قليلاً.

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

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

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

هناك ابتكار كبير آخر هو أن موقع pgenter ليس الآن مجرد عارض مشابه للإحصاءات. الآن يمكن تفريغ الإحصاءات في الملفات المحلية ثم عرضها عند الضرورة. يتم استخدامه عندما لا يكون هناك رصد محتمل أو يكون من الضروري جمع الإحصائيات أثناء قياس الأداء على آلة أو حاوية افتراضية مؤقتة. نتيجة لذلك ، اتضح أنه شيء يشبه حزمة أوراكل أو على سبيل المثال سار من حزمة sysstat . في هذه الحالة ، لا تحتاج إلى تسييج أي شيء على المستوى الأساسي ، ولا توجد وظائف إضافية ، إلخ.

نتيجة لذلك ، حصلنا على 3 أدوات مساعدة في ثنائي واحد وكلها تسمى أوامر فرعية منفصلة كما يبدو في git أو perf .

في هذا الصدد ، تنتهي الابتكارات الرئيسية وتبقى التحسينات الصغيرة. ترتبط بشكل رئيسي بالعارض العلوي:

  • الآن ، بشكل افتراضي ، بدلاً من الإحصائيات الموجودة في قواعد البيانات ، يتم عرض إحصائيات النشاط - من المتصل ، والطلبات التي يتم تنفيذها ، والمدة ، وما إلى ذلك. تظهر التجربة أنه في معظم الأحيان يكون من الضروري تقييم النشاط الحالي ، لذلك ربما يكون من المنطقي إظهار هذا التمثال على الفور.
  • في إحصائيات النشاط ، يمكنك الآن رؤية كل من عمليات الخلفية (المضافة في postgres 10) والعملاء المتخلفين الذين لا يفعلون شيئًا (ممكّنًا بواسطة مفتاح التشغيل السريع). في السابق ، لم يتم عرض الخمول على الإطلاق ، بسبب عدم جدواها ، ولكن قلة من الناس يحتاجون إليه فجأة.
  • تستخدم الإحصائيات المرتبطة بالجداول في عرضين منفصلين ، والآن يتم دمج جميع الإحصائيات وعرضها في عرض واحد.
  • تدعم وظيفة التصفية الآن التعبيرات العادية ، ويمكنك تعيين معلمات ما تريد رؤيته بشكل أكثر مرونة ... أسماء الجداول ، والفهارس ، والوظائف ، والاستعلامات ، وما إلى ذلك.

من المحتمل أنني نسيت أن أذكر بعض الميزات الأخرى ، لكنني سردت الأكثر إثارة للاهتمام في رأيي.

يبدو أن هذا كل شيء ، كل أولئك الذين يستخدمون بالفعل الأداة التي أحث على تحديثها ، وجميع الذين يسمعون للمرة الأولى ، أحثك ​​على تجربة أو مشاهدة عرض توضيحي صغير.



هناك أيضًا عرض تقديمي من التقرير ، على الرغم من أن النسخة القديمة موصوفة هناك ، ولكن من المنطقي إلقاء نظرة أيضًا.

وبطبيعة الحال ، أنا في انتظار ردود الفعل وتقارير الأخطاء. أتمنى لك يومًا سعيدًا للجميع!

Source: https://habr.com/ru/post/ar425083/


All Articles