30
Copyright(c)2013 NTT Corp. All Rights Reserved. DB統計情報取得/可視化ツール pg_statsinfo と pg_stats_reporter のご紹NTT OSSセンタ 近藤 光正

DB統計情報取得/可視化ツール pg ... - postgresql.jp · • pg_stats_reporter (DB統計情報可視化ツール) • PG-REX (PostgreSQLの È可 ÷クラスタPG + Pacemaker

  • Upload
    others

  • View
    50

  • Download
    0

Embed Size (px)

Citation preview

  • Copyright(c)2013 NTT Corp. All Rights Reserved.

    DB/ pg_statsinfo pg_stats_reporter

    NTT OSS

  • 2 Copyright(c)2013 NTT Corp. All Rights Reserved.

    PostgreSQL

    pg_statsinfo (DB) pg_stats_reporter (DB) PG-REX (PostgreSQLPG + Pacemaker + pgsqlRA )

    PostgreSQL Disk IO

  • 3 Copyright(c)2013 NTT Corp. All Rights Reserved.

    pg_statsinfo PostgreSQL /

    pg_stats_reporter pg_statsinfo /

    pg_statsinfo

    pg_statsinfo

    pg_statsinfo

    DB

    DB/

    DBA

    DBB

    DBC

    pg_stats_reporter

    DB

    pg_stats_reporter

  • 4 Copyright(c)2013 NTT Corp. All Rights Reserved.

    DB pg_statsinfo

    DB pg_stats_reporter

    DBT-2 DBT-2 TIPS

  • 5 Copyright(c)2013 NTT Corp. All Rights Reserved.

    PostgreSQL /

    (pg_catalog)/ / OS/

    BSD 2.5.0

    http://pgfoundry.org/frs/?group_id=1000422 PostgreSQL 9.3

    http://pgstatsinfo.projects.pgfoundry.org/pg_statsinfo-ja.html

    pg_statsinfo

    /

  • 6 Copyright(c)2013 NTT Corp. All Rights Reserved.

    C

    PostgreSQL shared_preload_library postgresql.conf

    DBpg_statsinfo

    DBDBDBOK

    pg_statsinfo

    pg_statsinfod

    DB

    ()

    DB DB

    pg_catalog

    OS

    DB

  • 7 Copyright(c)2013 NTT Corp. All Rights Reserved.

    PostgreSQL

    J http://www.postgresql.jp /document/9.2/html/monitoring-stats.html

    10

    PostgreSQL

    VACUUM

    /proc OS 5

    CPUidel, iowait, system, user, Load Average memfree, buffers, cached, swap, dirty IO size, IO time,

    pg_statsinfo 1/5

  • 8 Copyright(c)2013 NTT Corp. All Rights Reserved.

    / pg_stats_reporter

    pg_statsinfo 2/5

    $ pg_statsinfo -U postgres -B 2013-10-01 -r ALL less

    101

  • 9 Copyright(c)2013 NTT Corp. All Rights Reserved.

    DB

    pg_statsinfo TRUNCATE

    TIPS

    pg_statsinfo 3/5

    pg_statsinfo

    pg_statsinfo

    DBA

    DBB

    DB

    1

    DB/

    DB

  • 10 Copyright(c)2013 NTT Corp. All Rights Reserved.

    PostgreSQL

    PostgreSQLpg_statsinfo PostgreSQL

    syslog pg_log

    INFOLOG

    1

    pg_statsinfo 4/5

    pg_statsinfod

    PostgreSQL(csv)

    statsinfo(postgresql.log)

    pg_statsinfo

  • 11 Copyright(c)2013 NTT Corp. All Rights Reserved.

    DB

    statsrepo.alert UPDATE

    pg_statsinfo 5/5

    instid ID

    rollback_tps 100 commit_tps 1000

    garbage_size 20000 (MB) garbage_percent 30 (%)

    garbage_percent_table 30 (%)

    response_avg 10 () response_worst 60 ()

    enable_alert true

  • 12 Copyright(c)2013 NTT Corp. All Rights Reserved.

    pg_statsinfo

    $ su# rpm ivh pg_statsinfo-2.4.0-1.pg92.rhel6.x86_64.rpm

    1.RPM

    #shared_preload_libraries = pg_statsinfo # log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log' #

    2. postgresql.conf

    $ pg_ctl D data start

    3. PostgreSQL

    server startingLOG: loaded library "pg_statsinfo"LOG: pg_statsinfo launcher started

    LOG: startLOG: installing schema: statsinfo

    LOG: installing schema: statsrepo_partition

    4.

    WebJhttp://pgstatsinfo.projects.pgfoundry.org/pg_statsinfo-ja.html#install

  • 13 Copyright(c)2013 NTT Corp. All Rights Reserved.

    300KB 800KB

    DBT-%

    DB

    DBpostgresql.conf pg_statsinfo.repository_server

    host=localhost port=5432

    DB/var/lib/pgsql/.pgpass

    pg_statsinfo TIPS

  • 14 Copyright(c)2013 NTT Corp. All Rights Reserved.

    pg_statsinfo / DB OSWAL

    pg_reporter pg_reporter

    BSD 2..0 http://pgfoundry.org/frs/?group_id=1000422 http://pgstatsinfo.projects.pgfoundry.org/pg_stats_reporter-ja.html

    pg_stats_reporter

    pg_stats_reporter

  • 15 Copyright(c)2013 NTT Corp. All Rights Reserved.

    Apache + PHP + PostgreSQL

    PHP + PostgreSQL PostgreSQL 8.3

    PHP javascript + SQL

    PHP

    Smarty

    jQuery, jQuery UI, tablesorter, Superfish

    dygraphs, jqPlot

    pg_stats_reporter

  • 16 Copyright(c)2013 NTT Corp. All Rights Reserved.

    Web

    1/2

    DB

  • 17 Copyright(c)2013 NTT Corp. All Rights Reserved.

    PHP

    cron /

    Apache Apache

    2/2

    $ pg_stats_reporter -B 2013-10-01 -E 2013-10-08 -O report_dir [LOG] Report file created: sample_localhost_5432_1_20131008-1419_20131008-1945.html

    1011012 repot_dir

  • 18 Copyright(c)2013 NTT Corp. All Rights Reserved.

    2/2

    Index.html

    HTML

    HTML

  • 19 Copyright(c)2013 NTT Corp. All Rights Reserved.

    pg_stats_reporter

    $ su# rpm ivh httpd-2.2.15-15.el6_2.1.x86_64.rpm \\ php-5.3.3-3.el6_2.8.x86_64.rpm \\

    php-common-5.3.3-3.el6_2.8.x86_64.rpm \\ php-pgsql-5.3.3-3.el6_2.8.x86_64.rpm \\

    php-intl-5.3.3-3.el6_2.8.x86_64.rpm \\ pg_stats_reporter-1.0.0-1.el6.noarch.rpm

    1.RPM

    # vim /etc/pg_stats_reporter.ini----- DB ----- host = localhost

    port = 5432dbname = postgres

    username = postgrespassword =

    2. pg_stats_reporter.ini

    # service httpd start

    3. Apache

    4. Web URL

    http://localhost/pg_stats_reporter/pg_stats_reporter.php

    Web Jhttp://pgstatsinfo.projects.pgfoundry.org/pg_stats_reporter-ja.html#install

  • 20 Copyright(c)2013 NTT Corp. All Rights Reserved.

    Andoroid iPad

    jQuery UI IF IF

    Apache .httpaccess Apache

    /etc /pg_stats_reporter.ini

    pg_stats_reporter TIPS

  • 21 Copyright(c)2013 NTT Corp. All Rights Reserved.

    Open Source Development Labs(OSDL)TPC-C

    http://www.tpc.org/tpcc /

    warehouse

    10

    TPW Transaction per warehouse

    10 TPW warehouse

    CPU

    DBT-2

  • 22 Copyright(c)2013 NTT Corp. All Rights Reserved.

    /

    SQL IO

    SQL

    DB2WALpgbench

    DBT-2

  • 23 Copyright(c)2013 NTT Corp. All Rights Reserved.

    DL360 G7

    CPU Xeon E5640 2.66GHz (1P/4C)

    Memory DDR3-10600R-9 18GB

    RAID card P410i / 256MB cache

    Disk 4 x 146GB(1.5krpm) RAID 1 + 0

    max_connections = 300 shared_buffers = 2458MB work_mem = 1MB maintenance_work_mem = 64MB fsync = on wal_sync_method = fdatasync full_page_writes = on wal_buffers = -1 archive_mode = on

    checkpoint_segments = 300 checkpoint_timeout = 15min checkpoint_completion_target = 0.7 random_page_cost = 2.0 effective_cache_size = 9GB default_statistics_target = 10 log_destination = 'syslog autovacuum = on

    postgresql.conf

  • 24 Copyright(c)2013 NTT Corp. All Rights Reserved.

    pg_stats_reporter 1/5

    or PostgreSQL

    CHECKPOINT CHECKPOINT

    checkpoint_timeout = 15min, checkpoint_segments = 300

  • 25 Copyright(c)2013 NTT Corp. All Rights Reserved.

    WAL 4.6GBWAL WAL54MB/s WAL 12MB/s CHECKPOINTfull page writeWAL

    pg_stats_reporter 2/5

  • 26 Copyright(c)2013 NTT Corp. All Rights Reserved.

    CPU iowaitidle CHECKPOINT Load Average

    fsync()

    pg_stats_reporter 3/5

  • 27 Copyright(c)2013 NTT Corp. All Rights Reserved.

    HOT order_line stock

    pg_stats_reporter 4/5

  • 28 Copyright(c)2013 NTT Corp. All Rights Reserved.

    SELECT COMMIT

    COMMITWAL CHECKPOINTfsync()Disk IO

    pg_stats_reporter 5/5

  • 29 Copyright(c)2013 NTT Corp. All Rights Reserved.

    copy direct_cp

    direct_cp

    BSD OSS http://directcp.projects.pgfoundry.org/index.html

    SSD DB IO SSD IO SSD

    RAIDRAID CHECKPOINT fsync() RAID

    TIPS ()

  • 30 Copyright(c)2013 NTT Corp. All Rights Reserved.

    pg_statsinfo PostgreSQL /

    BSD http://pgstatsinfo.projects.pgfoundry.org/pg_statsinfo-ja.html

    DB SQL

    pg_stats_reporter pg_statsinfo /

    BSD http://pgstatsinfo.projects.pgfoundry.org/pg_stats_reporter-ja.html

    jQuery IF

    PHP + javascript patch