Continues from Improving InnoDB memory usage.
Here are some numbers from the fixups described in the above article:
The workload consists of 10 partitioned tables, each one containing 1000 partitions. This means 10’000 InnoDB tables. We truncate the tables, then restart mysqld and run:
1. INSERT a single row into each of the 10 tables
2. SELECT * from each table
3. FLUSH TABLES (this causes the tables to be closed and reopened
on the next run)
4. wait for 10 seconds
we repeat the above steps 10 times. Here is the total memory consumption by mysqld with 1GB InnoDB buffer pool during the workload:
In the fixed case (green line) you can clearly see the peaks when the commands 1. – 4. are run …
[Read more]