PostgreSQL فعال سيشن جي تاريخ - نئون pgsentinel واڌارو

ڪمپني pgsentinel ساڳئي نالي جي pgsentinel واڌارو جاري ڪيو (github مخزن)، جيڪو شامل ڪري ٿو pg_active_session_history view to PostgreSQL — فعال سيشن جي تاريخ (Oracle جي v$active_session_history وانگر).

بنيادي طور تي، اهي pg_stat_activity مان صرف سيڪنڊ-جي-سيڪنڊ سنيپ شاٽ آهن، پر اهم نقطا آهن:

  1. سموري جمع ڪيل معلومات صرف رام ۾ محفوظ ڪئي وئي آهي، ۽ ميموري جي استعمال ڪيل رقم آخري ذخيرو رڪارڊ جي تعداد جي ذريعي منظم ڪئي وئي آهي.
  2. queryid فيلڊ شامل ڪيو ويو آهي - ساڳيو queryid pg_stat_statements ايڪسٽينشن کان (پري انسٽاليشن گهربل).
  3. top_level_query فيلڊ شامل ڪيو ويو آھي - سوال جو متن جنھن مان موجوده سوال کي سڏيو ويو آھي (pl/pgsql استعمال ڪرڻ جي صورت ۾)


pg_active_session_history شعبن جي مڪمل فهرست:

      ڪالم | قسم ------------------------------ ash_time | ٽائم اسٽيمپ ٽائم زون سان گڏ datid | oid datename | متن pid | integer useysid | oid استعمال ڪندڙ نالو | text application_name | متن client_addr | متن client_hostname | متن ڪلائنٽ_پورٽ | integer backend_start | ٽائم اسٽيمپ ٽائم زون سان xact_start | ٽائم اسٽيمپ ٽائم زون سان گڏ query_start | ٽائم اسٽيمپ سان گڏ ٽائم زون state_change | ٽائم اسٽيمپ ٽائم زون سان گڏ wait_event_type | متن wait_event | متن جي حالت | متن backend_xid | xid backend_xmin | xid top_level_query | ٽيڪسٽ سوال | متن جو سوال | bigint backend_type | متن                     

انسٽاليشن لاءِ اڃا تائين ڪو به تيار ٿيل پيڪيج ناهي. اهو تجويز ڪيل آهي ته ذريعن کي ڊائون لوڊ ڪريو ۽ لائبريري پاڻ کي گڏ ڪريو. توهان کي پهريان توهان جي سرور لاءِ “devel” پيڪيج انسٽال ڪرڻ جي ضرورت آهي ۽ PATH متغير ۾ pg_config ڏانهن رستو مقرر ڪريو. اسان گڏ ڪريون ٿا:

cd pgsentinel/src
ڪر
انسٽال ڪريو

postgres.conf ۾ پيرا ميٽر شامل ڪريو:

shared_preload_libraries = 'pg_stat_statements,pgsentinel'
track_activity_query_size = 2048
pg_stat_statements.track = سڀ

# يادگيري ۾ رکيل تازو رڪارڊن جو تعداد
pgsentinel_ash.max_entries = 10000

PostgreSQL ٻيهر شروع ڪريو ۽ هڪ واڌارو ٺاهيو:

ايڪسٽينشن pgsentinel ٺاهيو؛

گڏ ڪيل معلومات اسان کي سوالن جا جواب ڏيڻ جي اجازت ڏئي ٿي جهڙوڪ:

  • توهان ڪهڙي انتظار واري سيشن تي گهڻو وقت گذاريو؟
  • ڪهڙا سيشن سڀ کان وڌيڪ سرگرم هئا؟
  • ڪهڙيون درخواستون سڀ کان وڌيڪ سرگرم هيون؟

توهان، يقينا، SQL سوالن کي استعمال ڪندي انهن سوالن جا جواب حاصل ڪري سگهو ٿا، پر اهو وڌيڪ آسان آهي انهي کي ڏسڻ لاءِ گراف تي بصري طور تي مائوس سان دلچسپي جي وقت جي وقفن کي اجاگر ڪندي. توھان ھي ڪري سگھوٿا مفت پروگرام سان PASH- ڏسندڙ (توهان سيڪشن ۾ گڏ ڪيل بائنري ڊائون لوڊ ڪري سگهو ٿا ريليز).

جڏهن شروع ٿئي ٿو، PASH-Viewer (ورجن 0.4.0 کان شروع ٿئي ٿو) pg_active_session_history view جي موجودگي جي جانچ ڪري ٿو ۽ جيڪڏهن اهو موجود آهي، اهو ان مان پوري جمع ٿيل تاريخ لوڊ ڪري ٿو ۽ نئين ايندڙ ڊيٽا پڙهڻ جاري رکي ٿو، گراف کي هر 15 سيڪنڊن ۾ اپڊيٽ ڪندي.

PostgreSQL فعال سيشن جي تاريخ - نئون pgsentinel واڌارو

جو ذريعو: www.habr.com

تبصرو شامل ڪريو