-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
False impression on key buffer usage #573
Comments
Hi @MichaIng Do you think MyISAM get a future ? Last modifications:
Roadmap for MySQL is clear: Removing MyIsam Feel free to send PR, it will be a joy to merge them eye closed ;) Best regards, |
Not sure, at least I do not run any application which uses MyISAM on any of my MariaDB instances, and for internal databases, MariaDB uses Aria engine. I'll see whether I find time to send a PR. Still not sure how to do best. At least when |
Hi, When No MyISAM table are present: -------- MyISAM Metrics ---------------------------------------------------------------------------- Best regards, |
Many thanks. When there are no MyISAM tables present, probably we could check and recommend to set |
@MichaIng Done ! |
Many thanks! |
MySQLTuner shows the following on my system:
This is btw fixed by #572, previously it was showing:
hence with
1K = 1000B
instead of1K = 1024B
, leading to the confusing mismatch of the cache size in the two rows.However, the bigger problem I have is that actually there are zero MyISAM tables on the whole database server, correctly proven by
0B
total MyISAM indexes. The used way to calculate the key buffer usagekey_buffer_size - Key_blocks_unused * key_cache_block_size
is not precise, as there is space used for structure and other meta data. The stats show that there was never even a single block of this buffer used:I now thought, the obvious solution is to use
Key_blocks_used
, probably in relation to the actually available buffer blocks, but the problem is that is gives the "maximum" ever used key buffer blocks, whileKey_blocks_unused
shows the "currently" unused buffer blocks, so they cannot be compared. Furthermore with this I don't see a way to get the total number of buffer blocks which can be used. Using the buffer size, as shown, isn't precise.Probably the false impression that my key buffer is used could be omitted by checking first whether
Key_blocks_used > 0
, else showing also a buffer usage of0B
? While there is in fact space used for structure and meta data, at least users can derive the correct information from this, that the overall buffer is unused and could hence be disabled completely.Another question about that: Currently
if ( $mycalc{'pct_key_buffer_used'} < 90 )
, it is shown as bad, else as good. It makes sense to show a too low usage as bad, since then the buffer size can be reduced, but a too high usage isn't good either, is it? E.g. wouldn't it make sense to define a window of e.g. 70 - 95 % as good, while everything outside is considered as bad?The text was updated successfully, but these errors were encountered: