準備
$ sysbench --mysql-socket=/usr/mysql/8.0.45/data/mysql.sock --mysql-user=root oltp_common --table_size=1000000 prepare
mysql80 30> SELECT format_bytes(@@innodb_buffer_pool_size);
+-----------------------------------------+
| format_bytes(@@innodb_buffer_pool_size) |
+-----------------------------------------+
| 64.00 MiB |
+-----------------------------------------+
1 row in set (0.00 sec)
mysql80 30> SHOW ENGINE PERFORMANCE_SCHEMA STATUS;
..
| performance_schema | performance_schema.memory | 240987688 |
+--------------------+-------------------------------------------------------------+-----------+
248 rows in set (0.00 sec)
$ ll -h /usr/mysql/8.0.45/data/sbtest/sbtest1.ibd
-rw-r-----. 1 yoku0825 yoku0825 248M Mar 9 06:03 /usr/mysql/8.0.45/data/sbtest/sbtest1.ibd
まずはそのままrun
$ date ; sysbench --mysql-socket=/usr/mysql/8.0.45/data/mysql.sock --mysql-user=root oltp_write_only --table_size=1000000 --time=600 --report-interval=1 run ; date
Mon Mar 9 05:59:57 GMT 2026
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 1
Report intermediate results every 1 second(s)
Initializing random number generator from current time
Initializing worker threads...
Threads started!
[ 1s ] thds: 1 tps: 1166.75 qps: 7002.48 (r/w/o: 0.00/4667.99/2334.49) lat (ms,95%): 1.70 err/s: 0.00 reconn/s: 0.00
[ 2s ] thds: 1 tps: 1155.29 qps: 6930.74 (r/w/o: 0.00/4620.16/2310.58) lat (ms,95%): 1.89 err/s: 0.00 reconn/s: 0.00
[ 3s ] thds: 1 tps: 1182.97 qps: 7096.83 (r/w/o: 0.00/4731.89/2364.94) lat (ms,95%): 1.76 err/s: 0.00 reconn/s: 0.00
[ 4s ] thds: 1 tps: 1174.02 qps: 7046.14 (r/w/o: 0.00/4697.09/2349.05) lat (ms,95%): 1.82 err/s: 0.00 reconn/s: 0.00
..
[ 597s ] thds: 1 tps: 1167.86 qps: 7008.16 (r/w/o: 0.00/4672.44/2335.72) lat (ms,95%): 1.93 err/s: 0.00 reconn/s: 0.00
[ 598s ] thds: 1 tps: 1180.12 qps: 7082.71 (r/w/o: 0.00/4722.47/2360.24) lat (ms,95%): 1.86 err/s: 0.00 reconn/s: 0.00
[ 599s ] thds: 1 tps: 1194.96 qps: 7168.75 (r/w/o: 0.00/4778.84/2389.92) lat (ms,95%): 1.79 err/s: 0.00 reconn/s: 0.00
SQL statistics:
queries performed:
read: 0
write: 2791284
other: 1395642
total: 4186926
transactions: 697821 (1163.03 per sec.)
queries: 4186926 (6978.17 per sec.)
ignored errors: 0 (0.00 per sec.)
reconnects: 0 (0.00 per sec.)
General statistics:
total time: 600.0019s
total number of events: 697821
Latency (ms):
min: 0.31
avg: 0.86
max: 61.44
95th percentile: 1.86
sum: 599120.68
Threads fairness:
events (avg/stddev): 697821.0000/0.00
execution time (avg/stddev): 599.1207/0.00
Mon Mar 9 06:09:57 GMT 2026
$ while true ; do ps -Ao pid,fname,rss | grep $(pidof mysqld) | tsadd | tee -a /tmp/mysql8045_rss.txt; sleep 1; done
..
[2026/03/09 05:59:55] 1025869 mysqld 451000
[2026/03/09 05:59:56] 1025869 mysqld 451260
[2026/03/09 05:59:57] 1025869 mysqld 454952
[2026/03/09 05:59:58] 1025869 mysqld 472896
[2026/03/09 05:59:59] 1025869 mysqld 474364
[2026/03/09 06:00:00] 1025869 mysqld 474364
..
[2026/03/09 06:09:50] 1025869 mysqld 479124
[2026/03/09 06:09:51] 1025869 mysqld 479124
[2026/03/09 06:09:53] 1025869 mysqld 479124
[2026/03/09 06:09:54] 1025869 mysqld 479124
[2026/03/09 06:09:55] 1025869 mysqld 479124
[2026/03/09 06:09:56] 1025869 mysqld 479124
[2026/03/09 06:09:57] 1025869 mysqld 479124
[2026/03/09 06:09:58] 1025869 mysqld 479124
[2026/03/09 06:09:59] 1025869 mysqld 479124
[2026/03/09 06:10:00] 1025869 mysqld 479124
[2026/03/09 06:10:01] 1025869 mysqld 479124
[2026/03/09 06:10:02] 1025869 mysqld 479036
次、これにそのままFULLTEXT INDEXを貼ってリスタート
mysql80 55> ALTER TABLE sbtest.sbtest1 ADD FULLTEXT KEY (c);
Query OK, 0 rows affected, 1 warning (1 min 37.83 sec)
Records: 0 Duplicates: 0 Warnings: 1
mysql80 55> SHOW WARNINGS;
+---------+------+--------------------------------------------------+
| Level | Code | Message |
+---------+------+--------------------------------------------------+
| Warning | 124 | InnoDB rebuilding table to add column FTS_DOC_ID |
+---------+------+--------------------------------------------------+
1 row in set (0.00 sec)
mysql80 55> SELECT @@innodb_buffer_pool_load_at_startup;
+--------------------------------------+
| @@innodb_buffer_pool_load_at_startup |
+--------------------------------------+
| 0 |
+--------------------------------------+
1 row in set (0.00 sec)
mysql80 55> RESTART;
Query OK, 0 rows affected (0.01 sec)
で、sysbench run。1スレッドだというのにtpsが0になる瞬間が度々ある。。この時点で嫌な予感しかしない。。
$ date ; sysbench --mysql-socket=/usr/mysql/8.0.45/data/mysql.sock --mysql-user=root oltp_write_only --table_size=1000000 --time=600 --report-interval=1 run ; date
Mon Mar 9 06:14:07 GMT 2026
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 1
Report intermediate results every 1 second(s)
Initializing random number generator from current time
Initializing worker threads...
Threads started!
[ 1s ] thds: 1 tps: 415.17 qps: 2493.00 (r/w/o: 0.00/1661.67/831.33) lat (ms,95%): 4.91 err/s: 0.00 reconn/s: 0.00
[ 2s ] thds: 1 tps: 375.14 qps: 2251.86 (r/w/o: 0.00/1501.57/750.29) lat (ms,95%): 5.18 err/s: 0.00 reconn/s: 0.00
[ 3s ] thds: 1 tps: 375.97 qps: 2254.82 (r/w/o: 0.00/1502.88/751.94) lat (ms,95%): 4.91 err/s: 0.00 reconn/s: 0.00
..
[ 69s ] thds: 1 tps: 309.01 qps: 1856.04 (r/w/o: 0.00/1238.03/618.01) lat (ms,95%): 6.67 err/s: 0.00 reconn/s: 0.00
[ 70s ] thds: 1 tps: 330.00 qps: 1979.98 (r/w/o: 0.00/1319.99/659.99) lat (ms,95%): 5.28 err/s: 0.00 reconn/s: 0.00
[ 71s ] thds: 1 tps: 0.00 qps: 0.00 (r/w/o: 0.00/0.00/0.00) lat (ms,95%): 0.00 err/s: 0.00 reconn/s: 0.00
[ 72s ] thds: 1 tps: 0.00 qps: 0.00 (r/w/o: 0.00/0.00/0.00) lat (ms,95%): 0.00 err/s: 0.00 reconn/s: 0.00
[ 73s ] thds: 1 tps: 0.00 qps: 0.00 (r/w/o: 0.00/0.00/0.00) lat (ms,95%): 0.00 err/s: 0.00 reconn/s: 0.00
[ 74s ] thds: 1 tps: 0.00 qps: 0.00 (r/w/o: 0.00/0.00/0.00) lat (ms,95%): 0.00 err/s: 0.00 reconn/s: 0.00
..
[ 98s ] thds: 1 tps: 0.00 qps: 0.00 (r/w/o: 0.00/0.00/0.00) lat (ms,95%): 0.00 err/s: 0.00 reconn/s: 0.00
[ 99s ] thds: 1 tps: 0.00 qps: 0.00 (r/w/o: 0.00/0.00/0.00) lat (ms,95%): 0.00 err/s: 0.00 reconn/s: 0.00
[ 100s ] thds: 1 tps: 0.00 qps: 0.00 (r/w/o: 0.00/0.00/0.00) lat (ms,95%): 0.00 err/s: 0.00 reconn/s: 0.00
[ 101s ] thds: 1 tps: 0.00 qps: 0.00 (r/w/o: 0.00/0.00/0.00) lat (ms,95%): 0.00 err/s: 0.00 reconn/s: 0.00
[ 102s ] thds: 1 tps: 19.00 qps: 113.00 (r/w/o: 0.00/75.00/38.00) lat (ms,95%): 8.58 err/s: 0.00 reconn/s: 0.00
[ 103s ] thds: 1 tps: 311.99 qps: 1868.95 (r/w/o: 0.00/1244.97/623.98) lat (ms,95%): 5.88 err/s: 0.00 reconn/s: 0.00
[ 104s ] thds: 1 tps: 353.97 qps: 2123.83 (r/w/o: 0.00/1415.89/707.94) lat (ms,95%): 5.67 err/s: 0.00 reconn/s: 0.00
[ 105s ] thds: 1 tps: 360.04 qps: 2160.25 (r/w/o: 0.00/1440.17/720.08) lat (ms,95%): 5.47 err/s: 0.00 reconn/s: 0.00
..
[ 647s ] thds: 1 tps: 0.00 qps: 0.00 (r/w/o: 0.00/0.00/0.00) lat (ms,95%): 0.00 err/s: 0.00 reconn/s: 0.00
[ 648s ] thds: 1 tps: 0.00 qps: 0.00 (r/w/o: 0.00/0.00/0.00) lat (ms,95%): 0.00 err/s: 0.00 reconn/s: 0.00
[ 649s ] thds: 1 tps: 0.00 qps: 0.00 (r/w/o: 0.00/0.00/0.00) lat (ms,95%): 0.00 err/s: 0.00 reconn/s: 0.00
[ 650s ] thds: 1 tps: 0.00 qps: 0.00 (r/w/o: 0.00/0.00/0.00) lat (ms,95%): 0.00 err/s: 0.00 reconn/s: 0.00
SQL statistics:
queries performed:
read: 0
write: 208020
other: 104010
total: 312030
transactions: 52005 (79.93 per sec.)
queries: 312030 (479.56 per sec.)
ignored errors: 0 (0.00 per sec.)
reconnects: 0 (0.00 per sec.)
General statistics:
total time: 650.6557s
total number of events: 52005
Latency (ms):
min: 0.46
avg: 12.51
max: 58936.07
95th percentile: 7.17
sum: 650556.58
Threads fairness:
events (avg/stddev): 52005.0000/0.00
execution time (avg/stddev): 650.5566/0.00
Mon Mar 9 06:24:58 GMT 2026
$ while true ; do ps -Ao pid,fname,rss | grep $(pidof mysqld) | tsadd | tee -a /tmp/mysql8045_rss.txt; sleep 1; done
..
[2026/03/09 06:14:02] 1036381 mysqld 403772
[2026/03/09 06:14:03] 1036381 mysqld 403772
[2026/03/09 06:14:04] 1036381 mysqld 403772
[2026/03/09 06:14:05] 1036381 mysqld 403772
[2026/03/09 06:14:06] 1036381 mysqld 405136
[2026/03/09 06:14:07] 1036381 mysqld 405136
[2026/03/09 06:14:08] 1036381 mysqld 423324
[2026/03/09 06:14:09] 1036381 mysqld 468492
[2026/03/09 06:14:10] 1036381 mysqld 471908
..
[2026/03/09 06:24:53] 1036381 mysqld 562712
[2026/03/09 06:24:54] 1036381 mysqld 562712
[2026/03/09 06:24:55] 1036381 mysqld 562712
[2026/03/09 06:24:56] 1036381 mysqld 562712
[2026/03/09 06:24:57] 1036381 mysqld 562712
[2026/03/09 06:24:58] 1036381 mysqld 562712
[2026/03/09 06:24:59] 1036381 mysqld 562712
[2026/03/09 06:25:00] 1036381 mysqld 562712
[2026/03/09 06:25:01] 1036381 mysqld 562712
[2026/03/09 06:25:02] 1036381 mysqld 562712
[2026/03/09 06:25:03] 1036381 mysqld 562712
[2026/03/09 06:25:04] 1036381 mysqld 562712
[2026/03/09 06:25:05] 1036381 mysqld 562712
[2026/03/09 06:25:06] 1036381 mysqld 562712
遅いのは良いとして(InnoDB Fulltext Indexの仕組み上書き込みするファイルが莫大に増えるので)、 FULLTEXT INDEX を貼っただけで想像以上にQPSも安定しないしない場合に比べて100MB近くも余計にメモリを使っている。
(100MB弱というとインパクトは小さそうだが、バッファプールの1.5倍と考えると結構恐怖である)
なお oltp_write_only なので、実行されているのは下記の4パターンだけ。
# Time: 2026-03-09T06:23:59.708497-00:00
# User@Host: root[root] @ localhost [] Id: 12
# Query_time: 0.000088 Lock_time: 0.000001 Rows_sent: 0 Rows_examined: 1 Thread_id: 12 Errno: 0 Killed: 0 Bytes_received: 24 Bytes_sent: 52 Read_first: 0 Read_last: 0 Read_key: 1 Read_next: 0 Read_prev: 0 Read_rnd: 0 Read_rnd_next: 0 Sort_merge_passes: 0 Sort_range_count: 0 Sort_rows: 0 Sort_scan_count: 0 Created_tmp_disk_tables: 0 Created_tmp_tables: 0 Start: 2026-03-09T06:23:59.708409-00:00 End: 2026-03-09T06:23:59.708497-00:00
SET timestamp=1773037439;
UPDATE sbtest1 SET k=k+1 WHERE id=504014;
# Time: 2026-03-09T06:23:59.708599-00:00
# User@Host: root[root] @ localhost [] Id: 12
# Query_time: 0.000086 Lock_time: 0.000000 Rows_sent: 0 Rows_examined: 1 Thread_id: 12 Errno: 0 Killed: 0 Bytes_received: 144 Bytes_sent: 52 Read_first: 0 Read_last: 0 Read_key: 1 Read_next: 0 Read_prev: 0 Read_rnd: 0 Read_rnd_next: 0 Sort_merge_passes: 0 Sort_range_count: 0 Sort_rows: 0 Sort_scan_count: 0 Created_tmp_disk_tables: 0 Created_tmp_tables: 0 Start: 2026-03-09T06:23:59.708513-00:00 End: 2026-03-09T06:23:59.708599-00:00
SET timestamp=1773037439;
UPDATE sbtest1 SET c='88212461572-85833769425-67430101277-82161871917-42390199524-62707776009-18076322187-41876970240-69115335595-77733484768' WHERE id=499195;
# Time: 2026-03-09T06:23:59.709583-00:00
# User@Host: root[root] @ localhost [] Id: 12
# Query_time: 0.000965 Lock_time: 0.000001 Rows_sent: 0 Rows_examined: 1 Thread_id: 12 Errno: 0 Killed: 0 Bytes_received: 24 Bytes_sent: 11 Read_first: 0 Read_last: 0 Read_key: 1 Read_next: 0 Read_prev: 0 Read_rnd: 0 Read_rnd_next: 0 Sort_merge_passes: 0 Sort_range_count: 0 Sort_rows: 0 Sort_scan_count: 0 Created_tmp_disk_tables: 0 Created_tmp_tables: 0 Start: 2026-03-09T06:23:59.708618-00:00 End: 2026-03-09T06:23:59.709583-00:00
SET timestamp=1773037439;
DELETE FROM sbtest1 WHERE id=526199;
# Time: 2026-03-09T06:23:59.709686-00:00
# User@Host: root[root] @ localhost [] Id: 12
# Query_time: 0.000080 Lock_time: 0.000000 Rows_sent: 0 Rows_examined: 0 Thread_id: 12 Errno: 0 Killed: 0 Bytes_received: 212 Bytes_sent: 14 Read_first: 0 Read_last: 0 Read_key: 0 Read_next: 0 Read_prev: 0 Read_rnd: 0 Read_rnd_next: 0 Sort_merge_passes: 0 Sort_range_count: 0 Sort_rows: 0 Sort_scan_count: 0 Created_tmp_disk_tables: 0 Created_tmp_tables: 0 Start: 2026-03-09T06:23:59.709606-00:00 End: 2026-03-09T06:23:59.709686-00:00
SET timestamp=1773037439;
INSERT INTO sbtest1 (id, k, c, pad) VALUES (526199, 499060, '94977596404-90535763498-48349239206-18885582465-18756331065-84602218017-85305678009-81368039801-39635475206-86387067089', '54494238140-99187086479-72783598041-89209528431-78795269286');
さて、このメモリの増分をパラメータだけで何とかしたい。
取り敢えず一度取っ散らかった(はずの)Fulltext Indexを一度OPTIMIZEで綺麗にしてRESTART。
mysql80 12> OPTIMIZE TABLE sbtest.sbtest1;
+----------------+----------+----------+-------------------------------------------------------------------+
| Table | Op | Msg_type | Msg_text |
+----------------+----------+----------+-------------------------------------------------------------------+
| sbtest.sbtest1 | optimize | note | Table does not support optimize, doing recreate + analyze instead |
| sbtest.sbtest1 | optimize | status | OK |
+----------------+----------+----------+-------------------------------------------------------------------+
2 rows in set (1 hour 27 min 51.56 sec)
mysql80 12> RESTART;
Query OK, 0 rows affected (0.00 sec)
mysql80 12> SHOW GLOBAL VARIABLES LIKE 'innodb\_ft%\_size';
+----------------------------+-----------+
| Variable_name | Value |
+----------------------------+-----------+
| innodb_ft_cache_size | 8000000 |
| innodb_ft_max_token_size | 84 |
| innodb_ft_min_token_size | 3 |
| innodb_ft_total_cache_size | 640000000 |
+----------------------------+-----------+
4 rows in set (0.00 sec)
innodb_ft_total_cache_size で抑えられるかなと思って変更しようとしたらread_onlyだった。
mysql80 12> SET GLOBAL innodb_ft_total_cache_size = 32000000;
ERROR 1238 (HY000): Variable 'innodb_ft_total_cache_size' is a read only variable
mysql80 12> SET PERSIST_ONLY innodb_ft_total_cache_size = 32000000;
Query OK, 0 rows affected (0.00 sec)
mysql80 12> RESTART;
Query OK, 0 rows affected (0.00 sec)
PERSIST_ONLY が効くならSQLだけで済むのは良い時代になったものだ…
mysql80 12> SHOW GLOBAL VARIABLES LIKE 'innodb\_ft%\_size';
ERROR 2013 (HY000): Lost connection to MySQL server during query
No connection. Trying to reconnect...
Connection id: 12
Current database: *** NONE ***
+----------------------------+----------+
| Variable_name | Value |
+----------------------------+----------+
| innodb_ft_cache_size | 8000000 |
| innodb_ft_max_token_size | 84 |
| innodb_ft_min_token_size | 3 |
| innodb_ft_total_cache_size | 32000000 |
+----------------------------+----------+
4 rows in set (0.01 sec)
これでsysbench run
$ date ; sysbench --mysql-socket=/usr/mysql/8.0.45/data/mysql.sock --mysql-user=root oltp_write_only --table_size=1000000 --time=600 --report-interval=1 run ; date
Mon Mar 9 08:12:30 GMT 2026
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 1
Report intermediate results every 1 second(s)
Initializing random number generator from current time
Initializing worker threads...
Threads started!
[ 1s ] thds: 1 tps: 801.57 qps: 4810.42 (r/w/o: 0.00/3206.28/1604.14) lat (ms,95%): 2.35 err/s: 0.00 reconn/s: 0.00
[ 2s ] thds: 1 tps: 701.09 qps: 4210.56 (r/w/o: 0.00/2808.37/1402.19) lat (ms,95%): 3.13 err/s: 0.00 reconn/s: 0.00
[ 3s ] thds: 1 tps: 660.27 qps: 3958.63 (r/w/o: 0.00/2638.09/1320.54) lat (ms,95%): 3.19 err/s: 0.00 reconn/s: 0.00
..
[ 655s ] thds: 1 tps: 0.00 qps: 0.00 (r/w/o: 0.00/0.00/0.00) lat (ms,95%): 0.00 err/s: 0.00 reconn/s: 0.00
[ 656s ] thds: 1 tps: 0.00 qps: 0.00 (r/w/o: 0.00/0.00/0.00) lat (ms,95%): 0.00 err/s: 0.00 reconn/s: 0.00
[ 657s ] thds: 1 tps: 0.00 qps: 0.00 (r/w/o: 0.00/0.00/0.00) lat (ms,95%): 0.00 err/s: 0.00 reconn/s: 0.00
SQL statistics:
queries performed:
read: 0
write: 355052
other: 177526
total: 532578
transactions: 88763 (134.99 per sec.)
queries: 532578 (809.93 per sec.)
ignored errors: 0 (0.00 per sec.)
reconnects: 0 (0.00 per sec.)
General statistics:
total time: 657.5574s
total number of events: 88763
Latency (ms):
min: 0.47
avg: 7.41
max: 62161.87
95th percentile: 4.74
sum: 657402.59
Threads fairness:
events (avg/stddev): 88763.0000/0.00
execution time (avg/stddev): 657.4026/0.00
Mon Mar 9 08:23:28 GMT 2026
[2026/03/09 08:12:25] 1115433 mysqld 411844
[2026/03/09 08:12:26] 1115433 mysqld 411844
[2026/03/09 08:12:27] 1115433 mysqld 411844
[2026/03/09 08:12:28] 1115433 mysqld 411844
[2026/03/09 08:12:29] 1115433 mysqld 411844
[2026/03/09 08:12:30] 1115433 mysqld 411844
[2026/03/09 08:12:31] 1115433 mysqld 472512
[2026/03/09 08:12:32] 1115433 mysqld 485548
[2026/03/09 08:12:33] 1115433 mysqld 491852
[2026/03/09 08:12:34] 1115433 mysqld 497860
[2026/03/09 08:12:35] 1115433 mysqld 503836
[2026/03/09 08:12:36] 1115433 mysqld 509548
[2026/03/09 08:12:37] 1115433 mysqld 514148
[2026/03/09 08:12:38] 1115433 mysqld 520156
[2026/03/09 08:12:39] 1115433 mysqld 525948
..
[2026/03/09 08:23:23] 1115433 mysqld 658016
[2026/03/09 08:23:24] 1115433 mysqld 658016
[2026/03/09 08:23:25] 1115433 mysqld 658016
[2026/03/09 08:23:26] 1115433 mysqld 658016
[2026/03/09 08:23:27] 1115433 mysqld 658016
[2026/03/09 08:23:28] 1115433 mysqld 658016
[2026/03/09 08:23:29] 1115433 mysqld 658016
[2026/03/09 08:23:30] 1115433 mysqld 658016
[2026/03/09 08:23:31] 1115433 mysqld 658016
[2026/03/09 08:23:32] 1115433 mysqld 658016
[2026/03/09 08:23:33] 1115433 mysqld 658016
sysbenchのtpsが0に張り付く時間が増えた…(でもスループットは上がってるみたいなんだよな)安定しなくなる上にメモリ使用量もむしろ増えているのでボツ。
mysql80 59> RESET PERSIST innodb_ft_total_cache_size;
Query OK, 0 rows affected (0.00 sec)
mysql80 59> OPTIMIZE TABLE sbtest.sbtest1;
+----------------+----------+----------+-------------------------------------------------------------------+
| Table | Op | Msg_type | Msg_text |
+----------------+----------+----------+-------------------------------------------------------------------+
| sbtest.sbtest1 | optimize | note | Table does not support optimize, doing recreate + analyze instead |
| sbtest.sbtest1 | optimize | status | OK |
+----------------+----------+----------+-------------------------------------------------------------------+
2 rows in set (1 hour 27 min 55.98 sec)
mysql80 59> RESTART;
Query OK, 0 rows affected (0.00 sec)
次は innodb_ft_cache_size …と思ったらコイツも再起動が必要。
mysql80 12> SET PERSIST_ONLY innodb_ft_cache_size = 1600000;
Query OK, 0 rows affected (0.01 sec)
mysql80 12> RESTART;
Query OK, 0 rows affected (0.00 sec)
mysql80 12> SHOW GLOBAL VARIABLES LIKE 'innodb\_ft%\_size';
+----------------------------+-----------+
| Variable_name | Value |
+----------------------------+-----------+
| innodb_ft_cache_size | 1600000 |
| innodb_ft_max_token_size | 84 |
| innodb_ft_min_token_size | 3 |
| innodb_ft_total_cache_size | 640000000 |
+----------------------------+-----------+
4 rows in set (0.01 sec)
で、sysbench run
$ date ; sysbench --mysql-socket=/usr/mysql/8.0.45/data/mysql.sock --mysql-user=root oltp_write_only --table_size=1000000 --time=600 --report-interval=1 run ; date
Tue Mar 10 01:28:36 GMT 2026
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 1
Report intermediate results every 1 second(s)
Initializing random number generator from current time
Initializing worker threads...
Threads started!
[ 1s ] thds: 1 tps: 775.59 qps: 4653.52 (r/w/o: 0.00/3102.35/1551.17) lat (ms,95%): 2.43 err/s: 0.00 reconn/s: 0.00
[ 2s ] thds: 1 tps: 556.13 qps: 3338.79 (r/w/o: 0.00/2225.53/1113.26) lat (ms,95%): 3.75 err/s: 0.00 reconn/s: 0.00
[ 3s ] thds: 1 tps: 527.97 qps: 3167.83 (r/w/o: 0.00/2111.89/1055.94) lat (ms,95%): 3.96 err/s: 0.00 reconn/s: 0.00
...
[ 597s ] thds: 1 tps: 456.97 qps: 2745.84 (r/w/o: 0.00/1831.90/913.95) lat (ms,95%): 4.57 err/s: 0.00 reconn/s: 0.00
[ 598s ] thds: 1 tps: 445.99 qps: 2675.94 (r/w/o: 0.00/1783.96/891.98) lat (ms,95%): 4.91 err/s: 0.00 reconn/s: 0.00
[ 599s ] thds: 1 tps: 457.00 qps: 2741.03 (r/w/o: 0.00/1827.02/914.01) lat (ms,95%): 4.82 err/s: 0.00 reconn/s: 0.00
SQL statistics:
queries performed:
read: 0
write: 268980
other: 134490
total: 403470
transactions: 67245 (112.07 per sec.)
queries: 403470 (672.45 per sec.)
ignored errors: 0 (0.00 per sec.)
reconnects: 0 (0.00 per sec.)
General statistics:
total time: 600.0019s
total number of events: 67245
Latency (ms):
min: 0.48
avg: 8.92
max: 56495.87
95th percentile: 4.57
sum: 599877.71
Threads fairness:
events (avg/stddev): 67245.0000/0.00
execution time (avg/stddev): 599.8777/0.00
Tue Mar 10 01:38:36 GMT 2026
[2026/03/10 01:28:33] 1825300 mysqld 407444
[2026/03/10 01:28:34] 1825300 mysqld 407444
[2026/03/10 01:28:35] 1825300 mysqld 407444
[2026/03/10 01:28:36] 1825300 mysqld 407708
[2026/03/10 01:28:37] 1825300 mysqld 471732
[2026/03/10 01:28:38] 1825300 mysqld 479340
[2026/03/10 01:28:39] 1825300 mysqld 484292
..
[2026/03/10 01:38:31] 1825300 mysqld 597808
[2026/03/10 01:38:32] 1825300 mysqld 597808
[2026/03/10 01:38:33] 1825300 mysqld 597808
[2026/03/10 01:38:34] 1825300 mysqld 597808
[2026/03/10 01:38:35] 1825300 mysqld 597808
[2026/03/10 01:38:36] 1825300 mysqld 597808
[2026/03/10 01:38:37] 1825300 mysqld 597808
[2026/03/10 01:38:38] 1825300 mysqld 597808
[2026/03/10 01:38:39] 1825300 mysqld 597808
[2026/03/10 01:38:40] 1825300 mysqld 597808
これも効果なさそう。
mysql80 995> OPTIMIZE TABLE sbtest.sbtest1;
+----------------+----------+----------+-------------------------------------------------------------------+
| Table | Op | Msg_type | Msg_text |
+----------------+----------+----------+-------------------------------------------------------------------+
| sbtest.sbtest1 | optimize | note | Table does not support optimize, doing recreate + analyze instead |
| sbtest.sbtest1 | optimize | status | OK |
+----------------+----------+----------+-------------------------------------------------------------------+
2 rows in set (1 hour 26 min 29.82 sec)
mysql80 995> RESET PERSIST innodb_ft_cache_size ;
Query OK, 0 rows affected (0.00 sec)
mysql80 995> RESTART;
Query OK, 0 rows affected (0.00 sec)
流石に innodb_ft_result_cache_limit は効果ないだろうと思いつつ一応(だって全文検索していないわけだし)
mysql80 12> SET GLOBAL innodb_ft_result_cache_limit = 1000000;
Query OK, 0 rows affected (0.00 sec)
$ date ; sysbench --mysql-socket=/usr/mysql/8.0.45/data/mysql.sock --mysql-user=root oltp_write_only --table_size=1000000 --time=600 --report-interval=1 run ; date
Tue Mar 10 08:24:37 GMT 2026
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 1
Report intermediate results every 1 second(s)
Initializing random number generator from current time
Initializing worker threads...
Threads started!
[ 1s ] thds: 1 tps: 785.45 qps: 4713.68 (r/w/o: 0.00/3141.79/1571.89) lat (ms,95%): 2.39 err/s: 0.00 reconn/s: 0.00
[ 2s ] thds: 1 tps: 663.15 qps: 3979.93 (r/w/o: 0.00/2653.62/1326.31) lat (ms,95%): 3.25 err/s: 0.00 reconn/s: 0.00
[ 3s ] thds: 1 tps: 631.00 qps: 3788.98 (r/w/o: 0.00/2526.99/1261.99) lat (ms,95%): 3.30 err/s: 0.00 reconn/s: 0.00
..
[ 597s ] thds: 1 tps: 372.00 qps: 2230.00 (r/w/o: 0.00/1486.00/744.00) lat (ms,95%): 5.28 err/s: 0.00 reconn/s: 0.00
[ 598s ] thds: 1 tps: 364.99 qps: 2193.92 (r/w/o: 0.00/1463.95/729.97) lat (ms,95%): 5.28 err/s: 0.00 reconn/s: 0.00
[ 599s ] thds: 1 tps: 368.02 qps: 2208.11 (r/w/o: 0.00/1472.07/736.04) lat (ms,95%): 5.47 err/s: 0.00 reconn/s: 0.00
SQL statistics:
queries performed:
read: 0
write: 342848
other: 171424
total: 514272
transactions: 85712 (142.85 per sec.)
queries: 514272 (857.12 per sec.)
ignored errors: 0 (0.00 per sec.)
reconnects: 0 (0.00 per sec.)
General statistics:
total time: 600.0019s
total number of events: 85712
Latency (ms):
min: 0.49
avg: 7.00
max: 61040.07
95th percentile: 4.82
sum: 599845.92
Threads fairness:
events (avg/stddev): 85712.0000/0.00
execution time (avg/stddev): 599.8459/0.00
Tue Mar 10 08:34:37 GMT 2026
[2026/03/10 08:24:32] 2106989 mysqld 409968
[2026/03/10 08:24:33] 2106989 mysqld 409968
[2026/03/10 08:24:34] 2106989 mysqld 409968
[2026/03/10 08:24:35] 2106989 mysqld 409968
[2026/03/10 08:24:36] 2106989 mysqld 409968
[2026/03/10 08:24:37] 2106989 mysqld 466576
[2026/03/10 08:24:38] 2106989 mysqld 482332
[2026/03/10 08:24:39] 2106989 mysqld 488388
[2026/03/10 08:24:40] 2106989 mysqld 494672
[2026/03/10 08:24:41] 2106989 mysqld 500664
[2026/03/10 08:24:42] 2106989 mysqld 506408
[2026/03/10 08:24:44] 2106989 mysqld 512168
..
[2026/03/10 08:34:33] 2106989 mysqld 639492
[2026/03/10 08:34:34] 2106989 mysqld 639492
[2026/03/10 08:34:35] 2106989 mysqld 639492
[2026/03/10 08:34:36] 2106989 mysqld 639492
[2026/03/10 08:34:37] 2106989 mysqld 639492
[2026/03/10 08:34:38] 2106989 mysqld 639492
[2026/03/10 08:34:39] 2106989 mysqld 639492
[2026/03/10 08:34:40] 2106989 mysqld 639492
Σ(゚д゚lll) 何を減らしてもメモリ使用量が増えてる気がする
0 件のコメント :
コメントを投稿