狠狠撸

狠狠撸Share a Scribd company logo
惭测厂蚕尝と笔辞蝉迟驳谤别厂蚕尝の基本的なパラメータ比较
Compared Version
MySQL PostgreSQL
root@localhost [mysql]> select @@version,now();
+-----------+---------------------+
| @@version | now() |
+-----------+---------------------+
| 8.0.18 | 2019-11-04 01:50:06 |
+-----------+---------------------+
1 row in set (0.00 sec)
postgres=# select version();
version
--------------------------------------
PostgreSQL 12.0 on x86_64-pc-linux-gnu,
compiled by gcc (GCC) 4.8.5 20150623
(Red Hat 4.8.5-39), 64-bit
(1 行)
PostgreSQL 12 Release date: 2019-10-03
https://www.postgresql.org/docs/12/release-12.html
MySQL 8.0.18 Release date: 2019-10-14
https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-18.html
Server Parameters
MySQL PostgreSQL
[mysql]> show global variables like 'innodb_buffer%';
+-------------------------------------+----------------+
| Variable_name | Value |
+-------------------------------------+----------------+
| innodb_buffer_pool_chunk_size | 134217728 |
| innodb_buffer_pool_dump_at_shutdown | ON |
| innodb_buffer_pool_dump_now | OFF |
| innodb_buffer_pool_dump_pct | 25 |
| innodb_buffer_pool_filename | ib_buffer_pool |
| innodb_buffer_pool_in_core_file | ON |
| innodb_buffer_pool_instances | 1 |
| innodb_buffer_pool_load_abort | OFF |
| innodb_buffer_pool_load_at_startup | ON |
| innodb_buffer_pool_load_now | OFF |
| innodb_buffer_pool_size | 268435456 |
+-------------------------------------+----------------+
11 rows in set (0.00 sec)
postgres=# select name,setting,unit,context from pg_settings where name
like '%buffer%';
name | setting | unit | context
----------------+---------+------+------------
shared_buffers | 16384 | 8kB | postmaster
temp_buffers | 1024 | 8kB | user
wal_buffers | 512 | 8kB | postmaster
(3 行)
postgres=# show shared_buffers;
shared_buffers
----------------
128MB
(1 行)
postgres=# show all;
MySQLのパラメータはSHOWコマンドを利用して参照する事が可能です。
その他、performance_schemaから確認する事も可能です。
PostgreSQLに設定されている値は、pg_settings Viewや、
SHOWコマンドで確認する事が可能。
pg_settingsはサーバの実行時パラメータへのアクセスを提供します。
MySQL: performance_schemaでの確認
MySQL
root@localhost [performance_schema]> select * from variables_info where VARIABLE_NAME like 'innodb_buffer%' ;
+-------------------------------------+-----------------+---------------+-----------+---------------------+----------+----------+----------+
| VARIABLE_NAME | VARIABLE_SOURCE | VARIABLE_PATH | MIN_VALUE | MAX_VALUE | SET_TIME | SET_USER | SET_HOST |
+-------------------------------------+-----------------+---------------+-----------+---------------------+----------+----------+----------+
| innodb_buffer_pool_chunk_size | COMPILED | | 1048576 | 144115188075855871 | NULL | NULL | NULL |
| innodb_buffer_pool_dump_at_shutdown | COMPILED | | 0 | 0 | NULL | NULL | NULL |
| innodb_buffer_pool_dump_now | COMPILED | | 0 | 0 | NULL | NULL | NULL |
| innodb_buffer_pool_dump_pct | COMPILED | | 1 | 100 | NULL | NULL | NULL |
| innodb_buffer_pool_filename | COMPILED | | 0 | 0 | NULL | NULL | NULL |
| innodb_buffer_pool_in_core_file | COMPILED | | 0 | 0 | NULL | NULL | NULL |
| innodb_buffer_pool_instances | COMPILED | | 0 | 64 | NULL | NULL | NULL |
| innodb_buffer_pool_load_abort | COMPILED | | 0 | 0 | NULL | NULL | NULL |
| innodb_buffer_pool_load_at_startup | COMPILED | | 0 | 0 | NULL | NULL | NULL |
| innodb_buffer_pool_load_now | COMPILED | | 0 | 0 | NULL | NULL | NULL |
| innodb_buffer_pool_size | GLOBAL | /etc/my.cnf | 5242880 | 9223372036854775807 | NULL | NULL | NULL |
+-------------------------------------+-----------------+---------------+-----------+---------------------+----------+----------+----------+
11 rows in set (0.00 sec)
どこから設定を読み込んでいるか? 設定可能な最小値と最大値
PostgreSQL: pg_settingsとパラメータ概要
PostgreSQL
postgres=# select name,setting,unit,context,category,short_desc from pg_settings where name like '%buffer%';
name | setting | unit | context | category | short_desc
----------------+---------+------+------------+-------------------------+-----------------------------------------------------------------------------
shared_buffers | 16384 | 8kB | postmaster | 使用リソース/メモリ | サーバで使用される共有メモリのバッファ数を設定。
temp_buffers | 1024 | 8kB | user | 使用リソース/メモリ | 各セッションで使用される一時バッファの最大数を設定。
wal_buffers | 512 | 8kB | postmaster | 先行書き込みログ / 設定 | 共有メモリ内に割り当てられた、WALデータ用のディスクページバッファ数を設定。
(3 行)
postgres=#
説明
contextでどのようなタイプの
パラメータか確認する事が可能。
Global and Local Variables
MySQL PostgreSQL
root@localhost [sys]> set session sort_buffer_size = 262144 * 2;
Query OK, 0 rows affected (0.00 sec)
root@localhost [sys]> show global variables like 'sort_buffer%';
+------------------+--------+
| Variable_name | Value |
+------------------+--------+
| sort_buffer_size | 262144 |
+------------------+--------+
root@localhost [sys]> show session variables like 'sort_buffer%';
+------------------+--------+
| Variable_name | Value |
+------------------+--------+
| sort_buffer_size | 524288 |
+------------------+--------+
root@localhost [mysql]> select @@global.sort_buffer_size,@@session.sort_buffer_size;
+---------------------------+----------------------------+
| @@global.sort_buffer_size | @@session.sort_buffer_size |
+---------------------------+----------------------------+
| 262144 | 524288 |
+---------------------------+----------------------------+
postgres=# select name,setting,unit,context,category from pg_settings where name like
'work_mem';
name | setting | unit | context | category
----------+---------+------+---------+---------------------
work_mem | 4096 | kB | user | 使用リソース/メモリ
(1 行)
postgres=# set work_mem = '16MB';
SET
postgres=# select name,setting,unit,context,category from pg_settings where name like
'work_mem';
name | setting | unit | context | category
----------+---------+------+---------+---------------------
work_mem | 16384 | kB | user | 使用リソース/メモリ
(1 行)
postgres=#
root@localhost [mysql]> select @@local.sort_buffer_size;
root@localhost [mysql]> set @@session.sort_buffer_size = 262144 * 2;
セッションシステム変数を変更すると、セッションが終了するまでその値は有効になります。
別のクライアントは影響を受けません。
グローバルシステム変数を変更すると、その値は全ての新しい接続に反映されます。
現在接続中のクライアントのセッション変数には影響を与えません
SET GLOBAL ステートメントを発行するクライアントのセッション変数にも影響を与えません。
SETコマンド: SETコマンドで設定出来る値、UserまたはSuperuserパラメター他の
セッションには影響しない。SET LOCALの場合、発行したトランザクション内に限定される。
contextがsuperuserの項目はSuperユーザーのみ変更する事が可能。
sighupはPostgreSQLプロセスがSIGHUPシグナルを受け取ったタイミングで、
設定リロードして反映させる事が可能。(pg_ctl reload, pg_reload_conf関数を利用)
SELECT pg_reload_conf();
サーバー全体の値
特定セッションの値
特定セッションのみ影響
PostgreSQL:サーバー設定の反映
PostgreSQL
-bash-4.2$ cat postgresql.conf | grep log_line
log_line_prefix = '%m [%p] ' # special values:
-bash-4.2$ psql -c "select name,setting,unit,context,category from pg_settings where name like 'log_line_prefix';"
name | setting | unit | context | category
-----------------+----------+------+---------+---------------------------------
log_line_prefix | %m [%p] | | sighup | レポートとログ出力 / ログの内容
(1 行)
-bash-4.2$ vi postgresql.conf
-bash-4.2$ cat postgresql.conf | grep log_line
log_line_prefix = '[%t][%p][%c-%l][%x][%e]%q(%u, %d, %r, %a)'
#log_line_prefix = '%m [%p] ' # special values:
-bash-4.2$ psql -c "select pg_reload_conf();"
pg_reload_conf
----------------
t
(1 行)
-bash-4.2$ psql -c "select name,setting,unit,context,category from pg_settings where name like 'log_line_prefix';"
name | setting | unit | context | category
-----------------+-------------------------------------------+------+---------+---------------------------------
log_line_prefix | [%t][%p][%c-%l][%x][%e]%q(%u, %d, %r, %a) | | sighup | レポートとログ出力 / ログの内容
(1 行)
contextは、sighupで再起動不要な為、
pg_reload_conf()で設定を反映
補足:パラメータの動的設定変更
MySQL PostgreSQL
参照: MySQL 8.0 Reference Manual
-bash-4.2$ psql postgres -c "select context,count(*) from pg_settings group by context"
context | count
-------------------+-------
postmaster | 55
superuser-backend | 4
user | 122
internal | 17
backend | 2
sighup | 79
superuser | 35
(7 行)
-bash-4.2$
多くのサーバーシステム変数は、動的にSET GLOBALまたは SET SESSIONを使用すると
実行時に設定可能です。
https://dev.mysql.com/doc/refman/8.0/en/dynamic-system-variables.html
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html
sql> set session sort_buffer_size = 262144 * 2;
sql> set global sort_buffer_size = 262144 * 2;
[performance_schema]> select * from global_variables where VARIABLE_NAME like 'sort%';
+------------------+----------------+
| VARIABLE_NAME | VARIABLE_VALUE |
+------------------+----------------+
| sort_buffer_size | 524288 |
+------------------+----------------+
1 row in set (0.01 sec)
SETコマンド SETコマンドで設定出来る値、UserまたはSuperuserパラメター他の
セッションには影響しない。SET LOCALの場合、発行したトランザクション内に限定される。
contextがsuperuserの項目はSuperユーザーのみ変更する事が可能。
sighupはPostgreSQLプロセスがSIGHUPシグナルを受け取ったタイミングで、
設定リロードして反映させる事が可能。(pg_ctl reload, pg_reload_conf関数を利用)
SELECT pg_reload_conf();
postmaster: サーバ起動時にのみ適用可能、何かを変更するためにはサーバを再起動が必要。
sighup: サーバを再起動することなくpostgresql.conf内を変更することで行うことができます。
internal: これらの設定は直接変更できません。 これらは内部で決定された値を反映するものです。
backend: サーバを再起動することなくpostgresql.conf内を変更することで行うことができます。
superuser: セッションの中でSETコマンドを使用することで設定可能。(スーパーユーザのみ)
user: postgresql.conf、または、セッションの中でSETコマンドを使用することで設定可能。
以下の値は再起動不要
sighup, backend
superuser, user
パラメーターの永続化
MySQL (以下、 or の方法で永続化) PostgreSQL (以下、 or の方法で永続化)
? パラメータファイルを直接編集し永続化 (my.cnf)
? PERSISTオプションを付けて設定を反映
-bash-4.2$ mysql -u root -p -e "set persist max_connections=128;"
Enter password:
-bash-4.2$ cat mysqld-auto.cnf | jq
<SNIP>
"max_connections": {
"Value": "128",
"Metadata": {
"Timestamp": 1579957659893227,
"User": "root",
"Host": "localhost"
}
[performance_schema]> select * from variables_info where VARIABLE_NAME like
'max_connections'G
** 1. row **
VARIABLE_NAME: max_connections
VARIABLE_SOURCE: PERSISTED
VARIABLE_PATH: /usr/local/mysql-8.0.18-linux-glibc2.12-x86_64/data/mysqld-auto.cnf
MIN_VALUE: 1
MAX_VALUE: 100000
SET_TIME: 2020-01-25 13:07:39.893227
SET_USER: root
SET_HOST: localhost
? パラメータファイルを直接編集し永続化 (postgresql.conf)
? ALTERコマンドでパラメータを永続化 
-bash-4.2$ cat postgresql.conf | grep shared_buffers
shared_buffers = 128MB # min 128kB
-bash-4.2$ psql postgres -c "ALTER SYSTEM SET shared_buffers = '256MB'"
ALTER SYSTEM
-bash-4.2$ cat postgresql.conf | grep shared_buffers
shared_buffers = 128MB # min 128kB
-bash-4.2$ cat postgresql.auto.conf
# Do not edit this file manually!
# It will be overwritten by the ALTER SYSTEM command.
shared_buffers = '256MB'
-bash-4.2$ psql postgres -c "select name,setting,unit,context,category from pg_settings
where name like 'shared_buffers';"
name | setting | unit | context | category
----------------+---------+------+------------+---------------------
shared_buffers | 16384 | 8kB | postmaster | 使用リソース/メモリ
-bash-4.2$ psql postgres -c "select name,setting,unit,context,category from pg_settings
where name like 'shared_buffers';"
name | setting | unit | context | category
----------------+---------+------+------------+---------------------
shared_buffers | 32768 | 8kB | postmaster | 使用リソース/メモリ
グローバルシステム変数を永続的に設定するには、オプションファイルに設定する必要があります。
set persistコマンドでコマンドで実行した設定を"mysqld-auto.cnf”に書き込んで永続化します。
このファイルはオプションファイルの後に読み込まれるのでこちらの設定が反映されます。
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html
DynamicがYESになっているパッラメータが動的に設定変更可能なパラメター
postgresql.auto.confはpostgresql.conf が読み込まれるときはいつでも自動的に読み込まれ、同
じように設定が反映されpostgresql.auto.confはpostgresql.confの設定を上書きします。
https://www.postgresql.jp/document/11/html/config-setting.html
setコマンドにpersistオプションを付け
ると、設定と同時にmysqld-auto.cnfに
追加され永続化される。
ALTER SYSTEMコマンドで設定す
ると、postgresql.auto.conf
に追加され永続化される
パラメータ変更の判断
MySQL PostgreSQL
root@localhost [mysql]> show global status like 'sort%';
+-------------------+-------+
| Variable_name | Value |
+-------------------+-------+
| Sort_merge_passes | 16 |
| Sort_range | 0 |
| Sort_rows | 11711 |
| Sort_scan | 315 |
+-------------------+-------+
root@localhost [mysql]> show session status like 'sort%';
+-------------------+-------+
| Variable_name | Value |
+-------------------+-------+
| Sort_merge_passes | 0 |
| Sort_range | 0 |
| Sort_rows | 41 |
| Sort_scan | 2 |
+-------------------+-------+
root@localhost [sys]> select * from metrics where variable_name like 'sort%';
+-------------------+----------------+---------------+---------+
| Variable_name | Variable_value | Type | Enabled |
+-------------------+----------------+---------------+---------+
| sort_merge_passes | 16 | Global Status | YES |
| sort_range | 0 | Global Status | YES |
| sort_rows | 13037 | Global Status | YES |
| sort_scan | 320 | Global Status | YES |
+-------------------+----------------+---------------+---------+
postgres=# select * from pg_stat_database limit 1;
-[ RECORD 1 ]---------+------------------------------
datid | 0
datname |
numbackends | 0
xact_commit | 0
xact_rollback | 0
blks_read | 38
blks_hit | 8130
tup_returned | 3835
tup_fetched | 1716
tup_inserted | 0
tup_updated | 0
tup_deleted | 0
conflicts | 0
temp_files | 0
temp_bytes | 0
deadlocks | 0
checksum_failures |
checksum_last_failure |
blk_read_time | 0
blk_write_time | 0
stats_reset | 2020-01-25 07:33:10.717705+09
postgres=# select datname,round(blks_hit*100/(blks_hit+blks_read), 2) AS cache_hit_ratio from
pg_stat_database WHERE blks_read > 0;
datname | cache_hit_ratio
----------+-----------------
| 99.00
postgres | 98.00
SHOW STATUSやSYSスキーマをモニタリングして、MySQLの状態に応じて適宜パフォーマンスチューニ
ングしていくと良いでしょう。また、パフォーマンス以外にも運用途中で設定変更しなければいけ
事も多いかと思いますので、サービスの再起動の有無等を適宜確認すると判断しやすいと思います。
pg_stat_* という名称のテーブル/ビューから、稼動統計情報を取得すれば、適宜パラメータを
チューニングする事が可能。
参考
MySQL
https://dev.mysql.com/doc/refman/8.0/en/server-option-variable-reference.html
https://dev.mysql.com/doc/refman/8.0/en/dynamic-system-variables.html
https://gihyo.jp/dev/serial/01/mysql-road-construction-news/0094
/ShinyaSugiyama/mysql80-sys
PostgreSQL
https://www.postgresql.jp/document/11/html/view-pg-settings.html
https://lets.postgresql.jp/documents/technical/statistics/2

More Related Content

What's hot (20)

Apache OpenWhiskで実現するプライベートFaaS環境 #tjdev
Apache OpenWhiskで実現するプライベートFaaS環境 #tjdevApache OpenWhiskで実現するプライベートFaaS環境 #tjdev
Apache OpenWhiskで実現するプライベートFaaS環境 #tjdev
驰补丑辞辞!デベロッパーネットワーク
?
MySQL 5.7にやられないためにおぼえておいてほしいこと
MySQL 5.7にやられないためにおぼえておいてほしいことMySQL 5.7にやられないためにおぼえておいてほしいこと
MySQL 5.7にやられないためにおぼえておいてほしいこと
yoku0825
?
顿辞肠办别谤イメージ管理の内部构造
顿辞肠办别谤イメージ管理の内部构造顿辞肠办别谤イメージ管理の内部构造
顿辞肠办别谤イメージ管理の内部构造
Etsuji Nakai
?
[dbts-2014-tokyo] 目指せExadata!! Oracle DB高速化を目指した構成
[dbts-2014-tokyo] 目指せExadata!! Oracle DB高速化を目指した構成[dbts-2014-tokyo] 目指せExadata!! Oracle DB高速化を目指した構成
[dbts-2014-tokyo] 目指せExadata!! Oracle DB高速化を目指した構成
驰补丑辞辞!デベロッパーネットワーク
?
使ってみた!ioMemoryで実現する噂のAtomic write!
使ってみた!ioMemoryで実現する噂のAtomic write!使ってみた!ioMemoryで実現する噂のAtomic write!
使ってみた!ioMemoryで実現する噂のAtomic write!
IIJ
?
Ws2012フェールオーバークラスタリングdeep dive 130802
Ws2012フェールオーバークラスタリングdeep dive 130802Ws2012フェールオーバークラスタリングdeep dive 130802
Ws2012フェールオーバークラスタリングdeep dive 130802
wintechq
?
Spring Framework 4.3から5.0へ
Spring Framework 4.3から5.0へSpring Framework 4.3から5.0へ
Spring Framework 4.3から5.0へ
movmov
?
贬础环境构筑のベスト?プラクティス
贬础环境构筑のベスト?プラクティス贬础环境构筑のベスト?プラクティス
贬础环境构筑のベスト?プラクティス
EnterpriseDB
?
础奥厂运用における最适パターンの彻底活用
础奥厂运用における最适パターンの彻底活用础奥厂运用における最适パターンの彻底活用
础奥厂运用における最适パターンの彻底活用
JustSystems Corporation
?
忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春Ver忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春Ver
Masahito Zembutsu
?
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
onozaty
?
フロー技术によるネットワーク管理
フロー技术によるネットワーク管理フロー技术によるネットワーク管理
フロー技术によるネットワーク管理
Motonori Shindo
?
惭测厂蚕尝の文字コード事情
惭测厂蚕尝の文字コード事情惭测厂蚕尝の文字コード事情
惭测厂蚕尝の文字コード事情
Masahiro Tomita
?
コンテナ未経験新人が学ぶコンテナ技术入门
コンテナ未経験新人が学ぶコンテナ技术入门コンテナ未経験新人が学ぶコンテナ技术入门
コンテナ未経験新人が学ぶコンテナ技术入门
Kohei Tokunaga
?
Yahoo! JAPANのOracle構成-2017年版
Yahoo! JAPANのOracle構成-2017年版Yahoo! JAPANのOracle構成-2017年版
Yahoo! JAPANのOracle構成-2017年版
驰补丑辞辞!デベロッパーネットワーク
?
[C33] 24時間365日「本当に」止まらないデータベースシステムの導入 ~AlwaysOn+Qシステムで完全無停止運用~ by Nobuyuki Sa...
[C33] 24時間365日「本当に」止まらないデータベースシステムの導入 ~AlwaysOn+Qシステムで完全無停止運用~ by Nobuyuki Sa...[C33] 24時間365日「本当に」止まらないデータベースシステムの導入 ~AlwaysOn+Qシステムで完全無停止運用~ by Nobuyuki Sa...
[C33] 24時間365日「本当に」止まらないデータベースシステムの導入 ~AlwaysOn+Qシステムで完全無停止運用~ by Nobuyuki Sa...
Insight Technology, Inc.
?
惭测厂蚕尝レプリケーションあれやこれや
惭测厂蚕尝レプリケーションあれやこれや惭测厂蚕尝レプリケーションあれやこれや
惭测厂蚕尝レプリケーションあれやこれや
yoku0825
?
Pacemaker+PostgreSQLレプリケーションで共有ディスクレス高信頼クラスタの構築@OSC 2013 Tokyo/Spring
Pacemaker+PostgreSQLレプリケーションで共有ディスクレス高信頼クラスタの構築@OSC 2013 Tokyo/SpringPacemaker+PostgreSQLレプリケーションで共有ディスクレス高信頼クラスタの構築@OSC 2013 Tokyo/Spring
Pacemaker+PostgreSQLレプリケーションで共有ディスクレス高信頼クラスタの構築@OSC 2013 Tokyo/Spring
Takatoshi Matsuo
?
What's New in MySQL 5.7 Optimizer @MySQL User Conference Tokyo 2015
What's New in MySQL 5.7 Optimizer @MySQL User Conference Tokyo 2015What's New in MySQL 5.7 Optimizer @MySQL User Conference Tokyo 2015
What's New in MySQL 5.7 Optimizer @MySQL User Conference Tokyo 2015
Mikiya Okuno
?
Amazon Aurora Deep Dive (db tech showcase 2016)
Amazon Aurora Deep Dive (db tech showcase 2016)Amazon Aurora Deep Dive (db tech showcase 2016)
Amazon Aurora Deep Dive (db tech showcase 2016)
Amazon Web Services Japan
?
MySQL 5.7にやられないためにおぼえておいてほしいこと
MySQL 5.7にやられないためにおぼえておいてほしいことMySQL 5.7にやられないためにおぼえておいてほしいこと
MySQL 5.7にやられないためにおぼえておいてほしいこと
yoku0825
?
顿辞肠办别谤イメージ管理の内部构造
顿辞肠办别谤イメージ管理の内部构造顿辞肠办别谤イメージ管理の内部构造
顿辞肠办别谤イメージ管理の内部构造
Etsuji Nakai
?
使ってみた!ioMemoryで実現する噂のAtomic write!
使ってみた!ioMemoryで実現する噂のAtomic write!使ってみた!ioMemoryで実現する噂のAtomic write!
使ってみた!ioMemoryで実現する噂のAtomic write!
IIJ
?
Ws2012フェールオーバークラスタリングdeep dive 130802
Ws2012フェールオーバークラスタリングdeep dive 130802Ws2012フェールオーバークラスタリングdeep dive 130802
Ws2012フェールオーバークラスタリングdeep dive 130802
wintechq
?
Spring Framework 4.3から5.0へ
Spring Framework 4.3から5.0へSpring Framework 4.3から5.0へ
Spring Framework 4.3から5.0へ
movmov
?
贬础环境构筑のベスト?プラクティス
贬础环境构筑のベスト?プラクティス贬础环境构筑のベスト?プラクティス
贬础环境构筑のベスト?プラクティス
EnterpriseDB
?
础奥厂运用における最适パターンの彻底活用
础奥厂运用における最适パターンの彻底活用础奥厂运用における最适パターンの彻底活用
础奥厂运用における最适パターンの彻底活用
JustSystems Corporation
?
忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春Ver忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春Ver
Masahito Zembutsu
?
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
onozaty
?
フロー技术によるネットワーク管理
フロー技术によるネットワーク管理フロー技术によるネットワーク管理
フロー技术によるネットワーク管理
Motonori Shindo
?
惭测厂蚕尝の文字コード事情
惭测厂蚕尝の文字コード事情惭测厂蚕尝の文字コード事情
惭测厂蚕尝の文字コード事情
Masahiro Tomita
?
コンテナ未経験新人が学ぶコンテナ技术入门
コンテナ未経験新人が学ぶコンテナ技术入门コンテナ未経験新人が学ぶコンテナ技术入门
コンテナ未経験新人が学ぶコンテナ技术入门
Kohei Tokunaga
?
[C33] 24時間365日「本当に」止まらないデータベースシステムの導入 ~AlwaysOn+Qシステムで完全無停止運用~ by Nobuyuki Sa...
[C33] 24時間365日「本当に」止まらないデータベースシステムの導入 ~AlwaysOn+Qシステムで完全無停止運用~ by Nobuyuki Sa...[C33] 24時間365日「本当に」止まらないデータベースシステムの導入 ~AlwaysOn+Qシステムで完全無停止運用~ by Nobuyuki Sa...
[C33] 24時間365日「本当に」止まらないデータベースシステムの導入 ~AlwaysOn+Qシステムで完全無停止運用~ by Nobuyuki Sa...
Insight Technology, Inc.
?
惭测厂蚕尝レプリケーションあれやこれや
惭测厂蚕尝レプリケーションあれやこれや惭测厂蚕尝レプリケーションあれやこれや
惭测厂蚕尝レプリケーションあれやこれや
yoku0825
?
Pacemaker+PostgreSQLレプリケーションで共有ディスクレス高信頼クラスタの構築@OSC 2013 Tokyo/Spring
Pacemaker+PostgreSQLレプリケーションで共有ディスクレス高信頼クラスタの構築@OSC 2013 Tokyo/SpringPacemaker+PostgreSQLレプリケーションで共有ディスクレス高信頼クラスタの構築@OSC 2013 Tokyo/Spring
Pacemaker+PostgreSQLレプリケーションで共有ディスクレス高信頼クラスタの構築@OSC 2013 Tokyo/Spring
Takatoshi Matsuo
?
What's New in MySQL 5.7 Optimizer @MySQL User Conference Tokyo 2015
What's New in MySQL 5.7 Optimizer @MySQL User Conference Tokyo 2015What's New in MySQL 5.7 Optimizer @MySQL User Conference Tokyo 2015
What's New in MySQL 5.7 Optimizer @MySQL User Conference Tokyo 2015
Mikiya Okuno
?
Amazon Aurora Deep Dive (db tech showcase 2016)
Amazon Aurora Deep Dive (db tech showcase 2016)Amazon Aurora Deep Dive (db tech showcase 2016)
Amazon Aurora Deep Dive (db tech showcase 2016)
Amazon Web Services Japan
?

Similar to 惭测厂蚕尝と笔辞蝉迟驳谤别厂蚕尝の基本的なパラメータ比较 (20)

惭测厂蚕尝と笔辞蝉迟驳谤别厂蚕尝における基本的なアカウント管理
惭测厂蚕尝と笔辞蝉迟驳谤别厂蚕尝における基本的なアカウント管理惭测厂蚕尝と笔辞蝉迟驳谤别厂蚕尝における基本的なアカウント管理
惭测厂蚕尝と笔辞蝉迟驳谤别厂蚕尝における基本的なアカウント管理
Shinya Sugiyama
?
惭测厂蚕尝と笔辞蝉迟驳谤别厂蚕尝の基本的な実行プラン比较
惭测厂蚕尝と笔辞蝉迟驳谤别厂蚕尝の基本的な実行プラン比较惭测厂蚕尝と笔辞蝉迟驳谤别厂蚕尝の基本的な実行プラン比较
惭测厂蚕尝と笔辞蝉迟驳谤别厂蚕尝の基本的な実行プラン比较
Shinya Sugiyama
?
惭测厂蚕尝と笔辞蝉迟驳谤别厂蚕尝の基本的なレプリケーション设定比较
惭测厂蚕尝と笔辞蝉迟驳谤别厂蚕尝の基本的なレプリケーション设定比较惭测厂蚕尝と笔辞蝉迟驳谤别厂蚕尝の基本的なレプリケーション设定比较
惭测厂蚕尝と笔辞蝉迟驳谤别厂蚕尝の基本的なレプリケーション设定比较
Shinya Sugiyama
?
MySQL8.0 SYS スキーマ概要
MySQL8.0 SYS スキーマ概要MySQL8.0 SYS スキーマ概要
MySQL8.0 SYS スキーマ概要
Shinya Sugiyama
?
PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
?
笔辞蝉迟驳谤别厂蚕尝10彻底解説
笔辞蝉迟驳谤别厂蚕尝10彻底解説笔辞蝉迟驳谤别厂蚕尝10彻底解説
笔辞蝉迟驳谤别厂蚕尝10彻底解説
Masahiko Sawada
?
Control distribution of virtual machines
Control distribution of virtual machinesControl distribution of virtual machines
Control distribution of virtual machines
irix_jp
?
Chugoku db 20th-postgresql-10-pub
Chugoku db 20th-postgresql-10-pubChugoku db 20th-postgresql-10-pub
Chugoku db 20th-postgresql-10-pub
Toshi Harada
?
MySQL clients
MySQL clientsMySQL clients
MySQL clients
yoku0825
?
5 古雷my sql源碼與資料庫規範
5 古雷my sql源碼與資料庫規範5 古雷my sql源碼與資料庫規範
5 古雷my sql源碼與資料庫規範
Ivan Tu
?
Ntt tx-study-postgre sql-10
Ntt tx-study-postgre sql-10Ntt tx-study-postgre sql-10
Ntt tx-study-postgre sql-10
Toshi Harada
?
私と尘测蝉辩濒と搁翱尝贰
私と尘测蝉辩濒と搁翱尝贰私と尘测蝉辩濒と搁翱尝贰
私と尘测蝉辩濒と搁翱尝贰
lhfukamachi 深町
?
20181212 - PGconf.ASIA - LT
20181212 - PGconf.ASIA - LT20181212 - PGconf.ASIA - LT
20181212 - PGconf.ASIA - LT
Kohei KaiGai
?
KOF2015 PostgreSQL 9.5
KOF2015 PostgreSQL 9.5KOF2015 PostgreSQL 9.5
KOF2015 PostgreSQL 9.5
Toshi Harada
?
第20回 中国地方DB勉強会 in 岡山 MySQLレプリケーション
第20回 中国地方DB勉強会 in 岡山 MySQLレプリケーション第20回 中国地方DB勉強会 in 岡山 MySQLレプリケーション
第20回 中国地方DB勉強会 in 岡山 MySQLレプリケーション
Ryusuke Kajiyama
?
HandlerSocket plugin for MySQL
HandlerSocket plugin for MySQLHandlerSocket plugin for MySQL
HandlerSocket plugin for MySQL
akirahiguchi
?
PostgreSQL v9.5の新機能~CustomScan/Join Interface
PostgreSQL v9.5の新機能~CustomScan/Join InterfacePostgreSQL v9.5の新機能~CustomScan/Join Interface
PostgreSQL v9.5の新機能~CustomScan/Join Interface
Kohei KaiGai
?
MariaDB Columnstore 使いこなそう
MariaDB Columnstore 使いこなそうMariaDB Columnstore 使いこなそう
MariaDB Columnstore 使いこなそう
KAWANO KAZUYUKI
?
PostgreSQL15 新機能紹介
PostgreSQL15 新機能紹介PostgreSQL15 新機能紹介
PostgreSQL15 新機能紹介
Satoshi Hirata
?
惭测厂蚕尝と笔辞蝉迟驳谤别厂蚕尝における基本的なアカウント管理
惭测厂蚕尝と笔辞蝉迟驳谤别厂蚕尝における基本的なアカウント管理惭测厂蚕尝と笔辞蝉迟驳谤别厂蚕尝における基本的なアカウント管理
惭测厂蚕尝と笔辞蝉迟驳谤别厂蚕尝における基本的なアカウント管理
Shinya Sugiyama
?
惭测厂蚕尝と笔辞蝉迟驳谤别厂蚕尝の基本的な実行プラン比较
惭测厂蚕尝と笔辞蝉迟驳谤别厂蚕尝の基本的な実行プラン比较惭测厂蚕尝と笔辞蝉迟驳谤别厂蚕尝の基本的な実行プラン比较
惭测厂蚕尝と笔辞蝉迟驳谤别厂蚕尝の基本的な実行プラン比较
Shinya Sugiyama
?
惭测厂蚕尝と笔辞蝉迟驳谤别厂蚕尝の基本的なレプリケーション设定比较
惭测厂蚕尝と笔辞蝉迟驳谤别厂蚕尝の基本的なレプリケーション设定比较惭测厂蚕尝と笔辞蝉迟驳谤别厂蚕尝の基本的なレプリケーション设定比较
惭测厂蚕尝と笔辞蝉迟驳谤别厂蚕尝の基本的なレプリケーション设定比较
Shinya Sugiyama
?
MySQL8.0 SYS スキーマ概要
MySQL8.0 SYS スキーマ概要MySQL8.0 SYS スキーマ概要
MySQL8.0 SYS スキーマ概要
Shinya Sugiyama
?
PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
?
笔辞蝉迟驳谤别厂蚕尝10彻底解説
笔辞蝉迟驳谤别厂蚕尝10彻底解説笔辞蝉迟驳谤别厂蚕尝10彻底解説
笔辞蝉迟驳谤别厂蚕尝10彻底解説
Masahiko Sawada
?
Control distribution of virtual machines
Control distribution of virtual machinesControl distribution of virtual machines
Control distribution of virtual machines
irix_jp
?
Chugoku db 20th-postgresql-10-pub
Chugoku db 20th-postgresql-10-pubChugoku db 20th-postgresql-10-pub
Chugoku db 20th-postgresql-10-pub
Toshi Harada
?
MySQL clients
MySQL clientsMySQL clients
MySQL clients
yoku0825
?
5 古雷my sql源碼與資料庫規範
5 古雷my sql源碼與資料庫規範5 古雷my sql源碼與資料庫規範
5 古雷my sql源碼與資料庫規範
Ivan Tu
?
Ntt tx-study-postgre sql-10
Ntt tx-study-postgre sql-10Ntt tx-study-postgre sql-10
Ntt tx-study-postgre sql-10
Toshi Harada
?
私と尘测蝉辩濒と搁翱尝贰
私と尘测蝉辩濒と搁翱尝贰私と尘测蝉辩濒と搁翱尝贰
私と尘测蝉辩濒と搁翱尝贰
lhfukamachi 深町
?
20181212 - PGconf.ASIA - LT
20181212 - PGconf.ASIA - LT20181212 - PGconf.ASIA - LT
20181212 - PGconf.ASIA - LT
Kohei KaiGai
?
KOF2015 PostgreSQL 9.5
KOF2015 PostgreSQL 9.5KOF2015 PostgreSQL 9.5
KOF2015 PostgreSQL 9.5
Toshi Harada
?
第20回 中国地方DB勉強会 in 岡山 MySQLレプリケーション
第20回 中国地方DB勉強会 in 岡山 MySQLレプリケーション第20回 中国地方DB勉強会 in 岡山 MySQLレプリケーション
第20回 中国地方DB勉強会 in 岡山 MySQLレプリケーション
Ryusuke Kajiyama
?
HandlerSocket plugin for MySQL
HandlerSocket plugin for MySQLHandlerSocket plugin for MySQL
HandlerSocket plugin for MySQL
akirahiguchi
?
PostgreSQL v9.5の新機能~CustomScan/Join Interface
PostgreSQL v9.5の新機能~CustomScan/Join InterfacePostgreSQL v9.5の新機能~CustomScan/Join Interface
PostgreSQL v9.5の新機能~CustomScan/Join Interface
Kohei KaiGai
?
MariaDB Columnstore 使いこなそう
MariaDB Columnstore 使いこなそうMariaDB Columnstore 使いこなそう
MariaDB Columnstore 使いこなそう
KAWANO KAZUYUKI
?
PostgreSQL15 新機能紹介
PostgreSQL15 新機能紹介PostgreSQL15 新機能紹介
PostgreSQL15 新機能紹介
Satoshi Hirata
?

More from Shinya Sugiyama (19)

惭测厂蚕尝と笔辞蝉迟驳谤别厂蚕尝の基本的なバックアップ比较
惭测厂蚕尝と笔辞蝉迟驳谤别厂蚕尝の基本的なバックアップ比较惭测厂蚕尝と笔辞蝉迟驳谤别厂蚕尝の基本的なバックアップ比较
惭测厂蚕尝と笔辞蝉迟驳谤别厂蚕尝の基本的なバックアップ比较
Shinya Sugiyama
?
Locondo 20190703@inno db_cluster
Locondo 20190703@inno db_clusterLocondo 20190703@inno db_cluster
Locondo 20190703@inno db_cluster
Shinya Sugiyama
?
Locondo 20190215@ec tech_group
Locondo 20190215@ec tech_groupLocondo 20190215@ec tech_group
Locondo 20190215@ec tech_group
Shinya Sugiyama
?
DB tech showcase_tokyo2018_LOCONDO
DB tech showcase_tokyo2018_LOCONDODB tech showcase_tokyo2018_LOCONDO
DB tech showcase_tokyo2018_LOCONDO
Shinya Sugiyama
?
MySQL SYSスキーマのご紹介
MySQL SYSスキーマのご紹介MySQL SYSスキーマのご紹介
MySQL SYSスキーマのご紹介
Shinya Sugiyama
?
MySQL Partition Engine
MySQL Partition EngineMySQL Partition Engine
MySQL Partition Engine
Shinya Sugiyama
?
Oracle Cloud MySQL Service
Oracle Cloud MySQL ServiceOracle Cloud MySQL Service
Oracle Cloud MySQL Service
Shinya Sugiyama
?
MySQL InnoDB Clusterによる高可用性構成(DB Tech Showcase 2017)
MySQL InnoDB Clusterによる高可用性構成(DB Tech Showcase 2017)MySQL InnoDB Clusterによる高可用性構成(DB Tech Showcase 2017)
MySQL InnoDB Clusterによる高可用性構成(DB Tech Showcase 2017)
Shinya Sugiyama
?
MySQL8.0 in COSCUP2017
MySQL8.0 in COSCUP2017MySQL8.0 in COSCUP2017
MySQL8.0 in COSCUP2017
Shinya Sugiyama
?
惭测厂蚕尝データ暗号化と暗号键のローテーション
惭测厂蚕尝データ暗号化と暗号键のローテーション惭测厂蚕尝データ暗号化と暗号键のローテーション
惭测厂蚕尝データ暗号化と暗号键のローテーション
Shinya Sugiyama
?
Power of SQL and NoSQL with MySQL5.7
Power of SQL and NoSQL with MySQL5.7Power of SQL and NoSQL with MySQL5.7
Power of SQL and NoSQL with MySQL5.7
Shinya Sugiyama
?
Multi thread slave_performance_on_opc
Multi thread slave_performance_on_opcMulti thread slave_performance_on_opc
Multi thread slave_performance_on_opc
Shinya Sugiyama
?
db tech showcase2016 - MySQLドキュメントストア
db tech showcase2016 - MySQLドキュメントストアdb tech showcase2016 - MySQLドキュメントストア
db tech showcase2016 - MySQLドキュメントストア
Shinya Sugiyama
?
MySQL57 Update@OSC Fukuoka 20151003
MySQL57 Update@OSC Fukuoka 20151003MySQL57 Update@OSC Fukuoka 20151003
MySQL57 Update@OSC Fukuoka 20151003
Shinya Sugiyama
?
No sql with mysql cluster (MyNA?JPUG合同DB勉強会)
No sql with mysql cluster (MyNA?JPUG合同DB勉強会)No sql with mysql cluster (MyNA?JPUG合同DB勉強会)
No sql with mysql cluster (MyNA?JPUG合同DB勉強会)
Shinya Sugiyama
?
MySQL 5.7とレプリケーションにおける改良
MySQL 5.7とレプリケーションにおける改良MySQL 5.7とレプリケーションにおける改良
MySQL 5.7とレプリケーションにおける改良
Shinya Sugiyama
?
MySQL 5.7 Technical Update (日本語)
MySQL 5.7 Technical Update (日本語)MySQL 5.7 Technical Update (日本語)
MySQL 5.7 Technical Update (日本語)
Shinya Sugiyama
?
MySQL Fabric with OpenStack Nova
MySQL Fabric with OpenStack NovaMySQL Fabric with OpenStack Nova
MySQL Fabric with OpenStack Nova
Shinya Sugiyama
?
My sql security (暗号化)
My sql security (暗号化) My sql security (暗号化)
My sql security (暗号化)
Shinya Sugiyama
?
惭测厂蚕尝と笔辞蝉迟驳谤别厂蚕尝の基本的なバックアップ比较
惭测厂蚕尝と笔辞蝉迟驳谤别厂蚕尝の基本的なバックアップ比较惭测厂蚕尝と笔辞蝉迟驳谤别厂蚕尝の基本的なバックアップ比较
惭测厂蚕尝と笔辞蝉迟驳谤别厂蚕尝の基本的なバックアップ比较
Shinya Sugiyama
?
Locondo 20190703@inno db_cluster
Locondo 20190703@inno db_clusterLocondo 20190703@inno db_cluster
Locondo 20190703@inno db_cluster
Shinya Sugiyama
?
Locondo 20190215@ec tech_group
Locondo 20190215@ec tech_groupLocondo 20190215@ec tech_group
Locondo 20190215@ec tech_group
Shinya Sugiyama
?
DB tech showcase_tokyo2018_LOCONDO
DB tech showcase_tokyo2018_LOCONDODB tech showcase_tokyo2018_LOCONDO
DB tech showcase_tokyo2018_LOCONDO
Shinya Sugiyama
?
MySQL SYSスキーマのご紹介
MySQL SYSスキーマのご紹介MySQL SYSスキーマのご紹介
MySQL SYSスキーマのご紹介
Shinya Sugiyama
?
MySQL InnoDB Clusterによる高可用性構成(DB Tech Showcase 2017)
MySQL InnoDB Clusterによる高可用性構成(DB Tech Showcase 2017)MySQL InnoDB Clusterによる高可用性構成(DB Tech Showcase 2017)
MySQL InnoDB Clusterによる高可用性構成(DB Tech Showcase 2017)
Shinya Sugiyama
?
惭测厂蚕尝データ暗号化と暗号键のローテーション
惭测厂蚕尝データ暗号化と暗号键のローテーション惭测厂蚕尝データ暗号化と暗号键のローテーション
惭测厂蚕尝データ暗号化と暗号键のローテーション
Shinya Sugiyama
?
Power of SQL and NoSQL with MySQL5.7
Power of SQL and NoSQL with MySQL5.7Power of SQL and NoSQL with MySQL5.7
Power of SQL and NoSQL with MySQL5.7
Shinya Sugiyama
?
Multi thread slave_performance_on_opc
Multi thread slave_performance_on_opcMulti thread slave_performance_on_opc
Multi thread slave_performance_on_opc
Shinya Sugiyama
?
db tech showcase2016 - MySQLドキュメントストア
db tech showcase2016 - MySQLドキュメントストアdb tech showcase2016 - MySQLドキュメントストア
db tech showcase2016 - MySQLドキュメントストア
Shinya Sugiyama
?
MySQL57 Update@OSC Fukuoka 20151003
MySQL57 Update@OSC Fukuoka 20151003MySQL57 Update@OSC Fukuoka 20151003
MySQL57 Update@OSC Fukuoka 20151003
Shinya Sugiyama
?
No sql with mysql cluster (MyNA?JPUG合同DB勉強会)
No sql with mysql cluster (MyNA?JPUG合同DB勉強会)No sql with mysql cluster (MyNA?JPUG合同DB勉強会)
No sql with mysql cluster (MyNA?JPUG合同DB勉強会)
Shinya Sugiyama
?
MySQL 5.7とレプリケーションにおける改良
MySQL 5.7とレプリケーションにおける改良MySQL 5.7とレプリケーションにおける改良
MySQL 5.7とレプリケーションにおける改良
Shinya Sugiyama
?
MySQL 5.7 Technical Update (日本語)
MySQL 5.7 Technical Update (日本語)MySQL 5.7 Technical Update (日本語)
MySQL 5.7 Technical Update (日本語)
Shinya Sugiyama
?
MySQL Fabric with OpenStack Nova
MySQL Fabric with OpenStack NovaMySQL Fabric with OpenStack Nova
MySQL Fabric with OpenStack Nova
Shinya Sugiyama
?
My sql security (暗号化)
My sql security (暗号化) My sql security (暗号化)
My sql security (暗号化)
Shinya Sugiyama
?

惭测厂蚕尝と笔辞蝉迟驳谤别厂蚕尝の基本的なパラメータ比较

  • 2. Compared Version MySQL PostgreSQL root@localhost [mysql]> select @@version,now(); +-----------+---------------------+ | @@version | now() | +-----------+---------------------+ | 8.0.18 | 2019-11-04 01:50:06 | +-----------+---------------------+ 1 row in set (0.00 sec) postgres=# select version(); version -------------------------------------- PostgreSQL 12.0 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39), 64-bit (1 行) PostgreSQL 12 Release date: 2019-10-03 https://www.postgresql.org/docs/12/release-12.html MySQL 8.0.18 Release date: 2019-10-14 https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-18.html
  • 3. Server Parameters MySQL PostgreSQL [mysql]> show global variables like 'innodb_buffer%'; +-------------------------------------+----------------+ | Variable_name | Value | +-------------------------------------+----------------+ | innodb_buffer_pool_chunk_size | 134217728 | | innodb_buffer_pool_dump_at_shutdown | ON | | innodb_buffer_pool_dump_now | OFF | | innodb_buffer_pool_dump_pct | 25 | | innodb_buffer_pool_filename | ib_buffer_pool | | innodb_buffer_pool_in_core_file | ON | | innodb_buffer_pool_instances | 1 | | innodb_buffer_pool_load_abort | OFF | | innodb_buffer_pool_load_at_startup | ON | | innodb_buffer_pool_load_now | OFF | | innodb_buffer_pool_size | 268435456 | +-------------------------------------+----------------+ 11 rows in set (0.00 sec) postgres=# select name,setting,unit,context from pg_settings where name like '%buffer%'; name | setting | unit | context ----------------+---------+------+------------ shared_buffers | 16384 | 8kB | postmaster temp_buffers | 1024 | 8kB | user wal_buffers | 512 | 8kB | postmaster (3 行) postgres=# show shared_buffers; shared_buffers ---------------- 128MB (1 行) postgres=# show all; MySQLのパラメータはSHOWコマンドを利用して参照する事が可能です。 その他、performance_schemaから確認する事も可能です。 PostgreSQLに設定されている値は、pg_settings Viewや、 SHOWコマンドで確認する事が可能。 pg_settingsはサーバの実行時パラメータへのアクセスを提供します。
  • 4. MySQL: performance_schemaでの確認 MySQL root@localhost [performance_schema]> select * from variables_info where VARIABLE_NAME like 'innodb_buffer%' ; +-------------------------------------+-----------------+---------------+-----------+---------------------+----------+----------+----------+ | VARIABLE_NAME | VARIABLE_SOURCE | VARIABLE_PATH | MIN_VALUE | MAX_VALUE | SET_TIME | SET_USER | SET_HOST | +-------------------------------------+-----------------+---------------+-----------+---------------------+----------+----------+----------+ | innodb_buffer_pool_chunk_size | COMPILED | | 1048576 | 144115188075855871 | NULL | NULL | NULL | | innodb_buffer_pool_dump_at_shutdown | COMPILED | | 0 | 0 | NULL | NULL | NULL | | innodb_buffer_pool_dump_now | COMPILED | | 0 | 0 | NULL | NULL | NULL | | innodb_buffer_pool_dump_pct | COMPILED | | 1 | 100 | NULL | NULL | NULL | | innodb_buffer_pool_filename | COMPILED | | 0 | 0 | NULL | NULL | NULL | | innodb_buffer_pool_in_core_file | COMPILED | | 0 | 0 | NULL | NULL | NULL | | innodb_buffer_pool_instances | COMPILED | | 0 | 64 | NULL | NULL | NULL | | innodb_buffer_pool_load_abort | COMPILED | | 0 | 0 | NULL | NULL | NULL | | innodb_buffer_pool_load_at_startup | COMPILED | | 0 | 0 | NULL | NULL | NULL | | innodb_buffer_pool_load_now | COMPILED | | 0 | 0 | NULL | NULL | NULL | | innodb_buffer_pool_size | GLOBAL | /etc/my.cnf | 5242880 | 9223372036854775807 | NULL | NULL | NULL | +-------------------------------------+-----------------+---------------+-----------+---------------------+----------+----------+----------+ 11 rows in set (0.00 sec) どこから設定を読み込んでいるか? 設定可能な最小値と最大値
  • 5. PostgreSQL: pg_settingsとパラメータ概要 PostgreSQL postgres=# select name,setting,unit,context,category,short_desc from pg_settings where name like '%buffer%'; name | setting | unit | context | category | short_desc ----------------+---------+------+------------+-------------------------+----------------------------------------------------------------------------- shared_buffers | 16384 | 8kB | postmaster | 使用リソース/メモリ | サーバで使用される共有メモリのバッファ数を設定。 temp_buffers | 1024 | 8kB | user | 使用リソース/メモリ | 各セッションで使用される一時バッファの最大数を設定。 wal_buffers | 512 | 8kB | postmaster | 先行書き込みログ / 設定 | 共有メモリ内に割り当てられた、WALデータ用のディスクページバッファ数を設定。 (3 行) postgres=# 説明 contextでどのようなタイプの パラメータか確認する事が可能。
  • 6. Global and Local Variables MySQL PostgreSQL root@localhost [sys]> set session sort_buffer_size = 262144 * 2; Query OK, 0 rows affected (0.00 sec) root@localhost [sys]> show global variables like 'sort_buffer%'; +------------------+--------+ | Variable_name | Value | +------------------+--------+ | sort_buffer_size | 262144 | +------------------+--------+ root@localhost [sys]> show session variables like 'sort_buffer%'; +------------------+--------+ | Variable_name | Value | +------------------+--------+ | sort_buffer_size | 524288 | +------------------+--------+ root@localhost [mysql]> select @@global.sort_buffer_size,@@session.sort_buffer_size; +---------------------------+----------------------------+ | @@global.sort_buffer_size | @@session.sort_buffer_size | +---------------------------+----------------------------+ | 262144 | 524288 | +---------------------------+----------------------------+ postgres=# select name,setting,unit,context,category from pg_settings where name like 'work_mem'; name | setting | unit | context | category ----------+---------+------+---------+--------------------- work_mem | 4096 | kB | user | 使用リソース/メモリ (1 行) postgres=# set work_mem = '16MB'; SET postgres=# select name,setting,unit,context,category from pg_settings where name like 'work_mem'; name | setting | unit | context | category ----------+---------+------+---------+--------------------- work_mem | 16384 | kB | user | 使用リソース/メモリ (1 行) postgres=# root@localhost [mysql]> select @@local.sort_buffer_size; root@localhost [mysql]> set @@session.sort_buffer_size = 262144 * 2; セッションシステム変数を変更すると、セッションが終了するまでその値は有効になります。 別のクライアントは影響を受けません。 グローバルシステム変数を変更すると、その値は全ての新しい接続に反映されます。 現在接続中のクライアントのセッション変数には影響を与えません SET GLOBAL ステートメントを発行するクライアントのセッション変数にも影響を与えません。 SETコマンド: SETコマンドで設定出来る値、UserまたはSuperuserパラメター他の セッションには影響しない。SET LOCALの場合、発行したトランザクション内に限定される。 contextがsuperuserの項目はSuperユーザーのみ変更する事が可能。 sighupはPostgreSQLプロセスがSIGHUPシグナルを受け取ったタイミングで、 設定リロードして反映させる事が可能。(pg_ctl reload, pg_reload_conf関数を利用) SELECT pg_reload_conf(); サーバー全体の値 特定セッションの値 特定セッションのみ影響
  • 7. PostgreSQL:サーバー設定の反映 PostgreSQL -bash-4.2$ cat postgresql.conf | grep log_line log_line_prefix = '%m [%p] ' # special values: -bash-4.2$ psql -c "select name,setting,unit,context,category from pg_settings where name like 'log_line_prefix';" name | setting | unit | context | category -----------------+----------+------+---------+--------------------------------- log_line_prefix | %m [%p] | | sighup | レポートとログ出力 / ログの内容 (1 行) -bash-4.2$ vi postgresql.conf -bash-4.2$ cat postgresql.conf | grep log_line log_line_prefix = '[%t][%p][%c-%l][%x][%e]%q(%u, %d, %r, %a)' #log_line_prefix = '%m [%p] ' # special values: -bash-4.2$ psql -c "select pg_reload_conf();" pg_reload_conf ---------------- t (1 行) -bash-4.2$ psql -c "select name,setting,unit,context,category from pg_settings where name like 'log_line_prefix';" name | setting | unit | context | category -----------------+-------------------------------------------+------+---------+--------------------------------- log_line_prefix | [%t][%p][%c-%l][%x][%e]%q(%u, %d, %r, %a) | | sighup | レポートとログ出力 / ログの内容 (1 行) contextは、sighupで再起動不要な為、 pg_reload_conf()で設定を反映
  • 8. 補足:パラメータの動的設定変更 MySQL PostgreSQL 参照: MySQL 8.0 Reference Manual -bash-4.2$ psql postgres -c "select context,count(*) from pg_settings group by context" context | count -------------------+------- postmaster | 55 superuser-backend | 4 user | 122 internal | 17 backend | 2 sighup | 79 superuser | 35 (7 行) -bash-4.2$ 多くのサーバーシステム変数は、動的にSET GLOBALまたは SET SESSIONを使用すると 実行時に設定可能です。 https://dev.mysql.com/doc/refman/8.0/en/dynamic-system-variables.html https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html sql> set session sort_buffer_size = 262144 * 2; sql> set global sort_buffer_size = 262144 * 2; [performance_schema]> select * from global_variables where VARIABLE_NAME like 'sort%'; +------------------+----------------+ | VARIABLE_NAME | VARIABLE_VALUE | +------------------+----------------+ | sort_buffer_size | 524288 | +------------------+----------------+ 1 row in set (0.01 sec) SETコマンド SETコマンドで設定出来る値、UserまたはSuperuserパラメター他の セッションには影響しない。SET LOCALの場合、発行したトランザクション内に限定される。 contextがsuperuserの項目はSuperユーザーのみ変更する事が可能。 sighupはPostgreSQLプロセスがSIGHUPシグナルを受け取ったタイミングで、 設定リロードして反映させる事が可能。(pg_ctl reload, pg_reload_conf関数を利用) SELECT pg_reload_conf(); postmaster: サーバ起動時にのみ適用可能、何かを変更するためにはサーバを再起動が必要。 sighup: サーバを再起動することなくpostgresql.conf内を変更することで行うことができます。 internal: これらの設定は直接変更できません。 これらは内部で決定された値を反映するものです。 backend: サーバを再起動することなくpostgresql.conf内を変更することで行うことができます。 superuser: セッションの中でSETコマンドを使用することで設定可能。(スーパーユーザのみ) user: postgresql.conf、または、セッションの中でSETコマンドを使用することで設定可能。 以下の値は再起動不要 sighup, backend superuser, user
  • 9. パラメーターの永続化 MySQL (以下、 or の方法で永続化) PostgreSQL (以下、 or の方法で永続化) ? パラメータファイルを直接編集し永続化 (my.cnf) ? PERSISTオプションを付けて設定を反映 -bash-4.2$ mysql -u root -p -e "set persist max_connections=128;" Enter password: -bash-4.2$ cat mysqld-auto.cnf | jq <SNIP> "max_connections": { "Value": "128", "Metadata": { "Timestamp": 1579957659893227, "User": "root", "Host": "localhost" } [performance_schema]> select * from variables_info where VARIABLE_NAME like 'max_connections'G ** 1. row ** VARIABLE_NAME: max_connections VARIABLE_SOURCE: PERSISTED VARIABLE_PATH: /usr/local/mysql-8.0.18-linux-glibc2.12-x86_64/data/mysqld-auto.cnf MIN_VALUE: 1 MAX_VALUE: 100000 SET_TIME: 2020-01-25 13:07:39.893227 SET_USER: root SET_HOST: localhost ? パラメータファイルを直接編集し永続化 (postgresql.conf) ? ALTERコマンドでパラメータを永続化  -bash-4.2$ cat postgresql.conf | grep shared_buffers shared_buffers = 128MB # min 128kB -bash-4.2$ psql postgres -c "ALTER SYSTEM SET shared_buffers = '256MB'" ALTER SYSTEM -bash-4.2$ cat postgresql.conf | grep shared_buffers shared_buffers = 128MB # min 128kB -bash-4.2$ cat postgresql.auto.conf # Do not edit this file manually! # It will be overwritten by the ALTER SYSTEM command. shared_buffers = '256MB' -bash-4.2$ psql postgres -c "select name,setting,unit,context,category from pg_settings where name like 'shared_buffers';" name | setting | unit | context | category ----------------+---------+------+------------+--------------------- shared_buffers | 16384 | 8kB | postmaster | 使用リソース/メモリ -bash-4.2$ psql postgres -c "select name,setting,unit,context,category from pg_settings where name like 'shared_buffers';" name | setting | unit | context | category ----------------+---------+------+------------+--------------------- shared_buffers | 32768 | 8kB | postmaster | 使用リソース/メモリ グローバルシステム変数を永続的に設定するには、オプションファイルに設定する必要があります。 set persistコマンドでコマンドで実行した設定を"mysqld-auto.cnf”に書き込んで永続化します。 このファイルはオプションファイルの後に読み込まれるのでこちらの設定が反映されます。 https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html DynamicがYESになっているパッラメータが動的に設定変更可能なパラメター postgresql.auto.confはpostgresql.conf が読み込まれるときはいつでも自動的に読み込まれ、同 じように設定が反映されpostgresql.auto.confはpostgresql.confの設定を上書きします。 https://www.postgresql.jp/document/11/html/config-setting.html setコマンドにpersistオプションを付け ると、設定と同時にmysqld-auto.cnfに 追加され永続化される。 ALTER SYSTEMコマンドで設定す ると、postgresql.auto.conf に追加され永続化される
  • 10. パラメータ変更の判断 MySQL PostgreSQL root@localhost [mysql]> show global status like 'sort%'; +-------------------+-------+ | Variable_name | Value | +-------------------+-------+ | Sort_merge_passes | 16 | | Sort_range | 0 | | Sort_rows | 11711 | | Sort_scan | 315 | +-------------------+-------+ root@localhost [mysql]> show session status like 'sort%'; +-------------------+-------+ | Variable_name | Value | +-------------------+-------+ | Sort_merge_passes | 0 | | Sort_range | 0 | | Sort_rows | 41 | | Sort_scan | 2 | +-------------------+-------+ root@localhost [sys]> select * from metrics where variable_name like 'sort%'; +-------------------+----------------+---------------+---------+ | Variable_name | Variable_value | Type | Enabled | +-------------------+----------------+---------------+---------+ | sort_merge_passes | 16 | Global Status | YES | | sort_range | 0 | Global Status | YES | | sort_rows | 13037 | Global Status | YES | | sort_scan | 320 | Global Status | YES | +-------------------+----------------+---------------+---------+ postgres=# select * from pg_stat_database limit 1; -[ RECORD 1 ]---------+------------------------------ datid | 0 datname | numbackends | 0 xact_commit | 0 xact_rollback | 0 blks_read | 38 blks_hit | 8130 tup_returned | 3835 tup_fetched | 1716 tup_inserted | 0 tup_updated | 0 tup_deleted | 0 conflicts | 0 temp_files | 0 temp_bytes | 0 deadlocks | 0 checksum_failures | checksum_last_failure | blk_read_time | 0 blk_write_time | 0 stats_reset | 2020-01-25 07:33:10.717705+09 postgres=# select datname,round(blks_hit*100/(blks_hit+blks_read), 2) AS cache_hit_ratio from pg_stat_database WHERE blks_read > 0; datname | cache_hit_ratio ----------+----------------- | 99.00 postgres | 98.00 SHOW STATUSやSYSスキーマをモニタリングして、MySQLの状態に応じて適宜パフォーマンスチューニ ングしていくと良いでしょう。また、パフォーマンス以外にも運用途中で設定変更しなければいけ 事も多いかと思いますので、サービスの再起動の有無等を適宜確認すると判断しやすいと思います。 pg_stat_* という名称のテーブル/ビューから、稼動統計情報を取得すれば、適宜パラメータを チューニングする事が可能。