[MDEV-16607] Consider smaller defaults for MyISAM and Aria cache sizes. Created: 2018-06-28 Updated: 2023-11-28 |
|
| Status: | Open |
| Project: | MariaDB Server |
| Component/s: | Storage Engine - Aria, Storage Engine - MyISAM |
| Fix Version/s: | 10.11 |
| Type: | Task | Priority: | Major |
| Reporter: | Jean-François Gagné | Assignee: | Unassigned |
| Resolution: | Unresolved | Votes: | 2 |
| Labels: | defaults | ||
| Description |
|
Hi, in MariaDB 10.3, the defaults for MyISAM and Aria cache sizes (key_buffer_size and aria_pagecache_buffer_size) are 128 MB. This is the same as for the InnoDB Buffer Pool (innodb_buffer_pool_size). IMHO, those values should be lower. Here are some arguments for this:
I would like to point out that this is not a change for the sake of change. The goal is to reduce the memory footprint of a default MariaDB installation. Another consideration is that the size of caches for all storage engine is very workload specific and those parameters should be tuned in most serious deployment. The default for InnoDB (128 MB) looks good to me as this is the main Storage Engine in the MySQL/MariaDB up to now. But considering that MyISAM and Aria are less used, I think their default should be much lower. As a side-note, MySQL default for MyISAM cache is 8 MB since at least 5.5. If this is good for MySQL, it should probably be good for MariaDB. Note: the priority of this task is set as Major. The main motivation is that aria_pagecache_buffer_size is is not dynamic, so fixing it needs a server restart. If aria_pagecache_buffer_size was dynamic, the priority of this task might be lowered. Related: MDEV-16606: Make aria_pagecache_buffer_size dynamic. Thanks for looking into that, JFG |
| Comments |
| Comment by Michael Widenius [ 2021-05-10 ] |
|
We could in 10.6 change MyISAM as this is not used at all by default setup (Since 10.5) For Aria the current defaults are ok, as we are using it heavily for temporary tables. Making the default smaller would make any queries, with more than 128M of data, with group by, order by, joins without proper keys (still happens for a lot of users) notably slower. MySQL 8.0 is probably not using MyISAM for temporary tables, which is why it is not comparable to Aria in MariaDB. Agree that we should at some time making Aria keycache dynamic, as we have done with MyISAM. |