1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

MySQL memorandum

Last updated at Posted at 2019-11-19

MySQL で踏み抜いたものメモ。網羅したものではないので、あくまで参考までに。

Group replication まわり

メモリ使用量

innodb のデフォルト値が用途に対して大きすぎたので、減量した。

[mysqld]
innodb_buffer_pool_size = 33554432
innodb_buffer_pool_chunk_size = 33554432

group_replication_message_cache_size が 8.0.16 で導入され、最低限 1GB 確保されてしまうようになった。

virtual size が大きい

設定可能な値とは別に、OS 側から見て確保されているメモリ量は、予想以上に大きい。これは Linux のメモリアロケータの性質上、そういうことになるようだ。それにしても VSZ が実メモリの 90% ぐらいにおさまるように(best practice)、と言い始めると、なかなか厳しい。

以下は同様の構成で group replication を使ったときのメモリ消費量

  • 8.0.15
    • memory/group_rpl/GCS_XCom::xcom_cache は 25 MiB
    • performance_schema.memory_summary_global_by_event_name で総計 380 MiB 程度
    • cgroup memory で 500 MiB 程度
    • mysqld VSZ=1207044 RSS=440932 (1.178 GiB, 430 MiB)
  • 8.0.18
  • memory/group_rpl/GCS_XCom::xcom_cache が 1 GiB 程度まで伸びて止まるのは想定通り。
  • performance_schema.memory_summary_global_by_event_name で総計 1.3 GiB 程度
  • cgroup memory で 1.7 GiB 程度
  • mysqld VSZ=3173076 RSS=1442772 (3.098 GiB, 1.41 MiB)

8.0.21 から xcom cache のサイズを調整できるようになった。https://dev.mysql.com/doc/refman/8.0/en/group-replication-performance-xcom-cache-reduce.html

table repair

VM 上の MySQL が VM 再起動後に起動障害。
Error: Cannot load from mysql.proc. The table is probably corrupted
MySQL 設定ファイルに以下を追加して再起動すると修復される。

[mysqld]
upgrade=force

根本解決でもないし、そもそも常時付けるべきでもないオプションだと思う。

未解決

推測としては、メモリをたくさん使うようになって、逆に解放するのに時間がかかりすぎてタイムアウトを引き起こしている……とか?

[Warning] [MY-011648] [Repl] Plugin group_replication reported: 'While leaving the group due to a stop, shutdown or failure there was a timeout receiving a view change. This can lead to a possible inconsistent state. Check the log for more details'
1
1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?