PostgreSQL ಸಕ್ರಿಯ ಅಧಿವೇಶನ ಇತಿಹಾಸ - ಹೊಸ pgsentinel ವಿಸ್ತರಣೆ

ಫರ್ಮ್ pgsentinel ಅದೇ ಹೆಸರಿನ pgsentinel ವಿಸ್ತರಣೆಯನ್ನು ಬಿಡುಗಡೆ ಮಾಡಿದೆ (ಗಿಥಬ್ ರೆಪೊಸಿಟರಿ), ಇದು Pg_active_session_history ವೀಕ್ಷಣೆಯನ್ನು PostgreSQL ಗೆ ಸೇರಿಸುತ್ತದೆ - ಸಕ್ರಿಯ ಅವಧಿಗಳ ಇತಿಹಾಸ (Oracle ನ v$active_session_history ಯಂತೆಯೇ).

ಮೂಲಭೂತವಾಗಿ, ಇವುಗಳು pg_stat_activity ನಿಂದ ಎರಡನೇ-ಸೆಕೆಂಡ್ ಸ್ನ್ಯಾಪ್‌ಶಾಟ್‌ಗಳಾಗಿವೆ, ಆದರೆ ಪ್ರಮುಖ ಅಂಶಗಳಿವೆ:

  1. ಎಲ್ಲಾ ಸಂಗ್ರಹವಾದ ಮಾಹಿತಿಯನ್ನು RAM ನಲ್ಲಿ ಮಾತ್ರ ಸಂಗ್ರಹಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಕೊನೆಯದಾಗಿ ಸಂಗ್ರಹಿಸಿದ ದಾಖಲೆಗಳ ಸಂಖ್ಯೆಯಿಂದ ಸೇವಿಸಿದ ಮೆಮೊರಿಯ ಪ್ರಮಾಣವನ್ನು ನಿಯಂತ್ರಿಸಲಾಗುತ್ತದೆ.
  2. queryid ಕ್ಷೇತ್ರವನ್ನು ಸೇರಿಸಲಾಗಿದೆ - pg_stat_statements ವಿಸ್ತರಣೆಯಿಂದ ಅದೇ queryid (ಪೂರ್ವ-ಸ್ಥಾಪನೆಯ ಅಗತ್ಯವಿದೆ).
  3. top_level_query ಕ್ಷೇತ್ರವನ್ನು ಸೇರಿಸಲಾಗಿದೆ - ಪ್ರಸ್ತುತ ಪ್ರಶ್ನೆಯನ್ನು ಕರೆಯಲಾದ ಪ್ರಶ್ನೆಯ ಪಠ್ಯ (pl/pgsql ಬಳಸುವ ಸಂದರ್ಭದಲ್ಲಿ)


pg_active_session_history ಕ್ಷೇತ್ರಗಳ ಸಂಪೂರ್ಣ ಪಟ್ಟಿ:

      ಅಂಕಣ | ವಿಧ ------------------+--------------------------- ash_time | ಟೈಮ್ ಝೋನ್ ಜೊತೆ ಟೈಮ್ ಸ್ಟ್ಯಾಂಪ್ ಡೇಟಿಡ್ | oid ದಿನಾಂಕ ಹೆಸರು | ಪಠ್ಯ ಪಿಡ್ | ಪೂರ್ಣಾಂಕ ಉಪಯೋಗಗಳುysid | oid ಬಳಕೆಯ ಹೆಸರು | ಪಠ್ಯ ಅಪ್ಲಿಕೇಶನ್_ಹೆಸರು | ಪಠ್ಯ ಕ್ಲೈಂಟ್_ಆಡ್ಆರ್ | ಪಠ್ಯ ಕ್ಲೈಂಟ್_ಹೋಸ್ಟ್ ಹೆಸರು | ಪಠ್ಯ ಕ್ಲೈಂಟ್_ಪೋರ್ಟ್ | ಪೂರ್ಣಾಂಕ ಬ್ಯಾಕೆಂಡ್_ಪ್ರಾರಂಭ | ಸಮಯ ವಲಯದೊಂದಿಗೆ ಟೈಮ್‌ಸ್ಟ್ಯಾಂಪ್ xact_start | ಸಮಯ ವಲಯದ ಪ್ರಶ್ನೆ_ಪ್ರಾರಂಭದೊಂದಿಗೆ ಟೈಮ್‌ಸ್ಟ್ಯಾಂಪ್ | ಸಮಯ ವಲಯ ಸ್ಥಿತಿ_ಬದಲಾವಣೆಯೊಂದಿಗೆ ಟೈಮ್‌ಸ್ಟ್ಯಾಂಪ್ | ಸಮಯ ವಲಯದೊಂದಿಗೆ ಸಮಯಸ್ಟ್ಯಾಂಪ್ ನಿರೀಕ್ಷಿಸಿ_ಈವೆಂಟ್_ಪ್ರಕಾರ | ಪಠ್ಯ ನಿರೀಕ್ಷಿಸಿ_ಈವೆಂಟ್ | ಪಠ್ಯ ಸ್ಥಿತಿ | ಪಠ್ಯ ಬ್ಯಾಕೆಂಡ್_xid | xid ಬ್ಯಾಕೆಂಡ್_xmin | xid top_level_query | ಪಠ್ಯ ಪ್ರಶ್ನೆ | ಪಠ್ಯ ಪ್ರಶ್ನೆ | ಬಿಗಿಂಟ್ ಬ್ಯಾಕೆಂಡ್_ಟೈಪ್ | ಪಠ್ಯ                     

ಅನುಸ್ಥಾಪನೆಗೆ ಇನ್ನೂ ಯಾವುದೇ ಸಿದ್ಧ ಪ್ಯಾಕೇಜ್ ಇಲ್ಲ. ಮೂಲಗಳನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡಲು ಮತ್ತು ಲೈಬ್ರರಿಯನ್ನು ನೀವೇ ಜೋಡಿಸಲು ಸೂಚಿಸಲಾಗುತ್ತದೆ. ನೀವು ಮೊದಲು ನಿಮ್ಮ ಸರ್ವರ್‌ಗಾಗಿ "ಡೆವೆಲ್" ಪ್ಯಾಕೇಜ್ ಅನ್ನು ಸ್ಥಾಪಿಸಬೇಕು ಮತ್ತು PATH ವೇರಿಯೇಬಲ್‌ನಲ್ಲಿ pg_config ಗೆ ಮಾರ್ಗವನ್ನು ಹೊಂದಿಸಬೇಕು. ನಾವು ಸಂಗ್ರಹಿಸುತ್ತೇವೆ:

ಸಿಡಿ 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-ವೀಕ್ಷಕ (ಆವೃತ್ತಿ 0.4.0 ರಿಂದ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ) pg_active_session_history ವೀಕ್ಷಣೆಯ ಉಪಸ್ಥಿತಿಯನ್ನು ಪರಿಶೀಲಿಸುತ್ತದೆ ಮತ್ತು ಅದು ಅಸ್ತಿತ್ವದಲ್ಲಿದ್ದರೆ, ಅದು ಸಂಪೂರ್ಣ ಸಂಗ್ರಹವಾದ ಇತಿಹಾಸವನ್ನು ಅದರಿಂದ ಲೋಡ್ ಮಾಡುತ್ತದೆ ಮತ್ತು ಹೊಸ ಒಳಬರುವ ಡೇಟಾವನ್ನು ಓದುವುದನ್ನು ಮುಂದುವರಿಸುತ್ತದೆ, ಪ್ರತಿ 15 ಸೆಕೆಂಡುಗಳಿಗೆ ಗ್ರಾಫ್ ಅನ್ನು ನವೀಕರಿಸುತ್ತದೆ.

PostgreSQL ಸಕ್ರಿಯ ಅಧಿವೇಶನ ಇತಿಹಾಸ - ಹೊಸ pgsentinel ವಿಸ್ತರಣೆ

ಮೂಲ: www.habr.com

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ