LoginSignup
12
11

More than 5 years have passed since last update.

postgresqlのチューニングメモ by PGTune

Last updated at Posted at 2018-08-06

概要

PGTuneを使って、postgresqlのチューニングをしたときの作業メモです。

手順

設定値を自動生成する

PGTuneを使って設定値を自動生成します。

現在の設定値を確認する。

psqlから以下をたたきます。PGTuneが出力した設定と見比べて問題がないか確認します。

SHOW max_connections; SHOW shared_buffers; SHOW effective_cache_size; SHOW maintenance_work_mem; SHOW checkpoint_completion_target; SHOW wal_buffers; SHOW default_statistics_target; SHOW random_page_cost; SHOW effective_io_concurrency; SHOW work_mem; SHOW min_wal_size; SHOW max_wal_size; SHOW max_worker_processes; SHOW max_parallel_workers_per_gather; SHOW max_parallel_workers;

設定を反映する

psqlからPGTuneのAlter Systemにあるコマンドをたたきます。
これを実行すると、postgresql.auto.confに設定値が書き込まれるので、次回起動時には設定が反映されますが、そのままだと現在のプロセスに設定が反映されません。SHOW max_connections;などを実行してみると、反映されていないことが分かると思います。

なので、postgresqlを再起動するか、pg_reload_conf()、pg_ctl reload、SIGHUPで現在のプロセスを再起動せずに設定を反映させます。

詳細は以下を参照
https://www.postgresql.jp/document/9.6/html/sql-altersystem.html

# DB Version: 10
# OS Type: linux
# DB Type: web
# Total Memory (RAM): 8 GB
# CPUs num: 8
# Connections num: 100
# Data Storage: ssd

ALTER SYSTEM SET
 max_connections = '100';
ALTER SYSTEM SET
 shared_buffers = '2GB';
ALTER SYSTEM SET
 effective_cache_size = '6GB';
ALTER SYSTEM SET
 maintenance_work_mem = '512MB';
ALTER SYSTEM SET
 checkpoint_completion_target = '0.7';
ALTER SYSTEM SET
 wal_buffers = '16MB';
ALTER SYSTEM SET
 default_statistics_target = '100';
ALTER SYSTEM SET
 random_page_cost = '1.1';
ALTER SYSTEM SET
 effective_io_concurrency = '200';
ALTER SYSTEM SET
 work_mem = '5242kB';
ALTER SYSTEM SET
 min_wal_size = '1GB';
ALTER SYSTEM SET
 max_wal_size = '2GB';
ALTER SYSTEM SET
 max_worker_processes = '8';
ALTER SYSTEM SET
 max_parallel_workers_per_gather = '4';
ALTER SYSTEM SET
 max_parallel_workers = '8';

pg_reload_confで設定を反映

SELECT pg_reload_conf();

pg_ctl reloadで設定を反映

調べていません。pg_reload_confで十分だと思います。

SIGHUPで設定を反映

postgresの親プロセスを探す

ps axuf | grep postgres

SIGHUPを送る

kill -HUP [postgresのpid]
12
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
11