PostgreSQL идэвхтэй сессийн түүх - шинэ pgsentinel өргөтгөл

Фирм pgsentinel ижил нэртэй pgsentinel өргөтгөлийг гаргасан (github репозитор), энэ нь PostgreSQL-д pg_active_session_history харагдацыг нэмдэг - идэвхтэй сешнүүдийн түүх (Oracle-ийн v$active_session_history-той төстэй).

Үндсэндээ эдгээр нь pg_stat_activity-ийн секундын секундын агшин зуурын агшин зургууд боловч чухал зүйлүүд байдаг:

  1. Бүх хуримтлагдсан мэдээлэл нь зөвхөн RAM-д хадгалагддаг бөгөөд ашигласан санах ойн хэмжээг хамгийн сүүлд хадгалагдсан бичлэгийн тоогоор зохицуулдаг.
  2. Queryid талбар нэмэгдсэн - pg_stat_statements өргөтгөлийн ижил queryid (урьдчилан суулгах шаардлагатай).
  3. Дээд_level_query талбар нэмэгдсэн - одоогийн асуулга дуудсан асуулгын текст (pl/pgsql ашигласан тохиолдолд)


pg_active_session_history талбаруудын бүрэн жагсаалт:

      Багана | Төрөл -----------------+------------------------- үнс_цаг | datid цагийн бүстэй цагийн тэмдэг | oid datename | текст pid | бүхэл тоо usesysid | oid хэрэглэгчийн нэр | текст програмын нэр | text client_addr | text client_hostname | text client_port | бүхэл тоон backend_start | цагийн бүс xact_start | бүхий цагийн тэмдэг цагийн бүс query_start | бүхий цагийн тэмдэг цагийн бүсийн төлөв_өөрчлөлттэй цагийн тэмдэг | хүлээх_үйл явдлын_төрөлтэй цагийн тэмдэг | хүлээх_үйл явдал | текст бичнэ текстийн төлөв | текст backend_xid | xid backend_xmin | xid дээд_түвшний_асуулга | текст асуулга | текст queryid | 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 харагдац байгаа эсэхийг шалгадаг бөгөөд хэрэв байгаа бол хуримтлагдсан түүхийг бүхэлд нь ачаалж, 15 секунд тутамд графикийг шинэчилж, шинэ ирж буй өгөгдлийг үргэлжлүүлэн уншдаг.

PostgreSQL идэвхтэй сессийн түүх - шинэ pgsentinel өргөтгөл

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх