Campaign Classic v7 - Syfte och användning av db-modulen pg_stat_statements

Lär dig mer om syftet med och användningen av db-modulen pg_stat_statements i Adobe Campaign Classic v7.

Beskrivning description

Miljö

Adobe Campaign Classic v7 (ACC v7)

Problem/symtom

  1. Vad är databasmodulen pg_stat_statements?

  2. Varför ska klienter aktivera det?

  3. Hur aktiveras det?

Upplösning resolution

  1. Modulen pg_stat_statements tillhandahåller ett sätt att spåra körningsstatistik för alla SQL-satser som körs av en server.

    Modulen måste läsas in genom att pg_stat_statements läggs till i shared_preload_libraries i postgresql.conf eftersom ytterligare delat minne krävs.

    Det innebär att en serveromstart krävs för att lägga till eller ta bort modulen.

    Länk https://www.postgresql.org/docs/9.4/pgstatstatements.html

  2. Att implementera ett vytypsschema i den här tabellen som gör att vi kan övervaka frågor som tar lång tid.

    På så sätt kan kunderna trimma dem och optimera prestandan.

    Det här tillägget innehåller mätvärden för frågor som körs: vilka frågor som körs oftast och hur lång tid varje fråga tar.

  3. pg_stat_statements

    1. Kontrollera att det officiella PostgreSQL Contrib-paketet för postgres-versionen är installerat.

      code language-none
      $ dpkg -l | grep postgres
      postgresql-contrib-9.3
      

      Installera den om den inte är installerad.

      code language-none
      $ apt-get install postgresql-contrib-9.3
      
    2. Ändra postgresql.conf om du vill förhandsladda modulen vid start.

      Standard: shared_preload_libraries = ''

      Nytt: shared_preload_libraries = 'pg_stat_statements'

      Om du använder både pg_stat_statements och auto_explain använder du ONE-posten och avgränsar med kommatecken.

      code language-none
      shared_preload_libraries = 'auto_explain,pg_stat_statements'
      
    3. Kör CREATE-frågan i den databas som du vill övervaka:

      Inget tillägg behöver skapas för auto_explain, endast för pg_stat_statements.

      code language-none
      psql
      postgres=# \c mydatabase
      mydatabase=# CREATE EXTENSION pg_stat_statements;
      
    4. Lägg till raderna i avsnittet ANPASSAD OPTIONS i postgresql.conf:

      code language-none
      pg_stat_statements.max = 5000
      pg_stat_statements.track = all
      pg_stat_statements.save = on
      
    5. Starta om tjänsten för efterarbete.

    Exempel: Få de fem mest kostsamma frågorna i databaserna.

    code language-none
    SELECT query, calls, total_time, rows, 100.0*shared_blks_hit/nullif(shared_blks_hit+shared_blks_read,0) AS hit_percent
    from pg_stat_statements as s inner join pg_database as d on d.oid = s.dbid
    where d.datname = 'Database_Name'
    order by total_time desc limit 5;
    
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f