MySQLで大切なパラメータの1つとして、
今回は、
innodb_dedicated_server
innodb_
- innodb_
buffer_ pool_ size - innodb_
log_ file_ size - innodb_
log_ files_ in_ group - innodb_
flush_ method
innodb_
試しに、
mysql>show variables like '%dedicate%'; +-------------------------+-------+ | Variable_name | Value | +-------------------------+-------+ | innodb_dedicated_server | ON | +-------------------------+-------+ 1 row in set (0.00 sec) mysql>show variables like 'innodb_buffer_pool_size'; +-------------------------+-----------+ | Variable_name | Value | +-------------------------+-----------+ | innodb_buffer_pool_size | 134217728 | +-------------------------+-----------+ 1 row in set (0.01 sec) mysql>show variables like 'innodb_log_file_size'; +----------------------+----------+ | Variable_name | Value | +----------------------+----------+ | innodb_log_file_size | 50331648 | +----------------------+----------+ 1 row in set (0.01 sec) mysql>show variables like 'innodb_log_files_in_group'; +---------------------------+-------+ | Variable_name | Value | +---------------------------+-------+ | innodb_log_files_in_group | 2 | +---------------------------+-------+ 1 row in set (0.01 sec) mysql>show variables like 'innodb_flush_method'; +---------------------+-------------------+ | Variable_name | Value | +---------------------+-------------------+ | innodb_flush_method | O_DIRECT_NO_FSYNC | +---------------------+-------------------+ 1 row in set (0.00 sec)
各種値が設定されています。続いてinnodb_
2019-03-04T22:47:52.616834+09:00 0 [System] [MY-010116] [Server] /usr/local/mysql8015/bin/mysqld (mysqld 8.0.15) starting as process 24779 2019-03-04T22:47:52.628948+09:00 0 [Warning] [MY-012367] [InnoDB] Option innodb_dedicated_server is ignored for innodb_flush_methodbecause innodb_flush_method=O_DIRECT is specified explicitly. 2019-03-04T22:47:52.628990+09:00 0 [Warning] [MY-012358] [InnoDB] Option innodb_dedicated_server is ignored for innodb_buffer_pool_size because innodb_buffer_pool_size=536870912 is specified explicitly. 2019-03-04T22:47:52.629096+09:00 0 [Warning] [MY-012360] [InnoDB] Option innodb_dedicated_server is ignored for innodb_log_file_size because innodb_log_file_size=268435456 is specified explicitly.
起動時に上記のようなワーニングが出力されました。innodb_
mysql> show variables like 'innodb_buffer_pool_size'; +-------------------------+-----------+ | Variable_name | Value | +-------------------------+-----------+ | innodb_buffer_pool_size | 536870912 | +-------------------------+-----------+ 1 row in set (0.01 sec)
innodb_
メモリ | innodb_ |
---|---|
1GB未満 | 128MB |
1GB~4GB | メモリの50% |
4GB以上 | メモリの75% |
試しにメモリが128GBのサーバーで実施してみます。
mysql>show variables like 'innodb_dedicated_server'; +-------------------------+-------+ | Variable_name | Value | +-------------------------+-------+ | innodb_dedicated_server | ON | +-------------------------+-------+ 1 row in set (0.00 sec) mysql>show variables like 'innodb_buffer_pool_size'; +-------------------------+--------------+ | Variable_name | Value | +-------------------------+--------------+ | innodb_buffer_pool_size | 102005473280 | +-------------------------+--------------+ 1 row in set (0.00 sec)
innodb_
innodb_
その他の各種設定される値については、
innodb_buffer_pool_sizeの変更
MySQL5.
もし、
オンラインでinnodb_buffer_pool_sizeを変更する
innodb_
オンラインでinnodb_SET GLOBAL innodb_
を利用します。実施中はInnoDB_
で進行状況を確認することができます。
mysql>SET GLOBAL innodb_buffer_pool_size = 256 * 1024 * 1024; Query OK, 0 rows affected (0.00 sec) mysql>SHOW STATUS WHERE Variable_name='InnoDB_buffer_pool_resize_status'; +----------------------------------+----------------------------------------------------+ | Variable_name | Value | +----------------------------------+----------------------------------------------------+ | Innodb_buffer_pool_resize_status | Completed resizing buffer pool at 190306 2:01:24. | +----------------------------------+----------------------------------------------------+ 1 row in set (0.02 sec) mysql> show variables like 'innodb_buffer_pool_size'; +-------------------------+-----------+ | Variable_name | Value | +-------------------------+-----------+ | innodb_buffer_pool_size | 268435456 | +-------------------------+-----------+ 1 row in set (0.00 sec)
SET GLOBALはmy.
また、
innodb_buffer_pool_sizeをオンラインで変更するときの注意
innodb_
オンラインでbuffer_
まとめ
今回はinnodb_