PostgreSQL செயலில் உள்ள அமர்வு வரலாறு - புதிய pgsentinel நீட்டிப்பு

நிறுவனம் pgsentinel அதே பெயரில் pgsentinel நீட்டிப்பை வெளியிட்டது (கிதுப் களஞ்சியம்), இது Pg_active_session_history காட்சியை PostgreSQL இல் சேர்க்கிறது — செயலில் உள்ள அமர்வுகளின் வரலாறு (Oracle இன் v$active_session_history போன்றது).

அடிப்படையில், இவை pg_stat_activity இலிருந்து வினாடிக்கு நொடி ஸ்னாப்ஷாட்கள், ஆனால் முக்கியமான புள்ளிகள் உள்ளன:

  1. அனைத்து திரட்டப்பட்ட தகவல்களும் RAM இல் மட்டுமே சேமிக்கப்படும், மேலும் நுகரப்படும் நினைவக அளவு கடைசியாக சேமிக்கப்பட்ட பதிவுகளின் எண்ணிக்கையால் கட்டுப்படுத்தப்படுகிறது.
  2. queryid புலம் சேர்க்கப்பட்டது - pg_stat_statements நீட்டிப்பிலிருந்து அதே வினவல் (முன் நிறுவல் தேவை).
  3. top_level_query புலம் சேர்க்கப்பட்டது - தற்போதைய வினவல் அழைக்கப்பட்ட வினவலின் உரை (pl/pgsql ஐப் பயன்படுத்தினால்)


pg_active_session_history புலங்களின் முழு பட்டியல்:

      நெடுவரிசை | வகை --------------------------------------------- ash_time | நேர மண்டலத்துடன் கூடிய நேர முத்திரை | oid தேதிபெயர் | உரை pid | முழு எண் பயன்கள்ysid | oid பயன்பாட்டு பெயர் | உரை பயன்பாடு_பெயர் | உரை கிளையன்ட்_சேர் | உரை கிளையன்ட்_ஹோஸ்ட்பெயர் | உரை கிளையன்_போர்ட் | முழு எண் பின்தளத்தில்_தொடக்கம் | நேர மண்டலத்துடன் கூடிய நேர முத்திரை xact_start | நேர மண்டல வினவல்_தொடக்கத்துடன் நேரமுத்திரை | நேர மண்டல நிலை_மாற்றத்துடன் நேரமுத்திரை | நேர மண்டலம் காத்திருக்கும்_நிகழ்வு_வகை | உரை காத்திருக்க_நிகழ்வு | உரை நிலை | உரை backend_xid | xid backend_xmin | xid top_level_query | உரை வினவல் | உரை வினவல் | பெரிய பின்தளம்_வகை | உரை                     

நிறுவலுக்கு இன்னும் ஆயத்த தொகுப்பு எதுவும் இல்லை. ஆதாரங்களைப் பதிவிறக்கம் செய்து, நூலகத்தை நீங்களே அசெம்பிள் செய்ய பரிந்துரைக்கப்படுகிறது. நீங்கள் முதலில் உங்கள் சேவையகத்திற்கான “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 காட்சியின் இருப்பை சரிபார்க்கிறது, அது இருந்தால், அது திரட்டப்பட்ட முழு வரலாற்றையும் அதிலிருந்து ஏற்றுகிறது மற்றும் புதிய உள்வரும் தரவைத் தொடர்ந்து படிக்கிறது, ஒவ்வொரு 15 வினாடிகளுக்கும் வரைபடத்தைப் புதுப்பிக்கிறது.

PostgreSQL செயலில் உள்ள அமர்வு வரலாறு - புதிய pgsentinel நீட்டிப்பு

ஆதாரம்: www.habr.com

கருத்தைச் சேர்