Update INTERNALS.md

* Cosmetic clean ups
This commit is contained in:
Long Radix 2023-06-19 10:28:55 +02:00 committed by GitHub
parent 5ccb6f9cd6
commit e3d95e2b5f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -41,7 +41,7 @@
* Get login information * Get login information
* Set up some OS variables * Set up some OS variables
* Toss variables/status into hashes * Toss variables/status into hashes
* Get information about the tuning connexion * Get information about the tuning connection
* Check current MySQL version * Check current MySQL version
* Suggest 64-bit upgrade * Suggest 64-bit upgrade
* Analyze mysqld error log file * Analyze mysqld error log file
@ -76,11 +76,11 @@
* Prompt for creds on the console * Prompt for creds on the console
## MySQLTuner system checks ## MySQLTuner system checks
* 32-bit w/>2GB RAM check * Check whether more than 2GB RAM present if on 32-bit OS
* Check number of opened ports (warning if more than 9 ports opened) * Check number of opened ports (warn when more than 9 ports opened)
* Check 80, 8080, 443 and 8443 ports if warning are raised if there are opened * Check 80, 8080, 443 and 8443 ports if warning is raised if they are opened
* Check if some banned ports are not opened (option --bannedports separated by comma) * Check if some banned ports are not opened (option --bannedports separated by comma)
* Check if non kernel and user process except mysqld are not using more than 15% of total physical memory) * Check if non kernel and user process except mysqld are not using more than 15% of total physical memory
* Check vm.swapiness * Check vm.swapiness
* Check /etc/security/limit.conf * Check /etc/security/limit.conf
* Check sysctl entries: sunrpc.tcp_slot_entries, vm.swappiness, fs.aio-fs-nr * Check sysctl entries: sunrpc.tcp_slot_entries, vm.swappiness, fs.aio-fs-nr
@ -90,8 +90,8 @@
## MySQLTuner Server version checks ## MySQLTuner Server version checks
* EOL MySQL version check * EOL MySQL version check
* Currently MySQL < 5.1 are EOF considered. * Currently MySQL < 5.1 are considered EOL
* Using 5.5+ version of MySQL for performance issue (asynchronous IO). * Using 5.5+ version of MySQL for performance issue (asynchronous IO)
## Mysql error log file analysis ## Mysql error log file analysis
* Look for potential current error log file name * Look for potential current error log file name
@ -106,14 +106,14 @@
* Check for DB engines that are enabled but unused * Check for DB engines that are enabled but unused
* Look for fragmented tables * Look for fragmented tables
* Look for auto-increments near capacity * Look for auto-increments near capacity
* Look for table with autoincrement with value near max capacity * Look for tables with auto-increment with value near max capacity
## MySQLTuner security checks ## MySQLTuner security checks
* Is anonymous user present? * Is anonymous user present?
* Users without passwords * Users without passwords
* Users w/username as password * Users with username as password
* Users w/o host restriction * Users without host restriction
* Weak password check (possibly using cracklib later?) * Weak password check (possibly using cracklib later?)
* Using basic_passwords.txt as password database * Using basic_passwords.txt as password database
* Password list checks can be avoid (option: --skippassword) * Password list checks can be avoid (option: --skippassword)
@ -121,7 +121,7 @@
## MySQLTuner CVE vulnerabilities detection ## MySQLTuner CVE vulnerabilities detection
* option: --cvefile * option: --cvefile
* Check if your MariaDB or MySQL version contains CVE bulletins. * Check if your MariaDB or MySQL version contains CVE entries.
## MySQLTuner database information ## MySQLTuner database information
* Performance analysis parameter checks * Performance analysis parameter checks
@ -134,8 +134,8 @@
* Index size * Index size
* Percentage of index size * Percentage of index size
* Collation number * Collation number
* Check that there is only one collation for all table in a database * Check that there is only one collation for all tables in database
* Check that there is only one collation for ll table columns in a database * Check that there is only one collation for all table columns in database
* Check that there is only one storage engine per user database * Check that there is only one storage engine per user database
@ -156,7 +156,7 @@
## MySQLTuner server information ## MySQLTuner server information
* Uptime: If MySQL started within last 24 hours * Uptime: whether MySQL started within last 24 hours
* Bytes received and sent * Bytes received and sent
* Number of connections * Number of connections
* Percentage between reads and writes * Percentage between reads and writes
@ -164,6 +164,7 @@
* Is GTID mode activated? * Is GTID mode activated?
## MySQLTuner sort, join and temp table information ## MySQLTuner sort, join and temp table information
* Max memory temporary table size allowed. * Max memory temporary table size allowed.
* Percentage of sort using temporary table (<10%) * Percentage of sort using temporary table (<10%)
* Number of join performed without using indexes (<250) * Number of join performed without using indexes (<250)
@ -214,26 +215,26 @@
* IO replication thread running? * IO replication thread running?
* Replication lag in seconds (Seconds_behind_master) * Replication lag in seconds (Seconds_behind_master)
* Is Slave configured in read only? * Is Slave configured in read only?
* replication type ROW, MIX, STMT * Replication type ROW, MIX, STMT
* replication Semisync master * Replication Semisync master
* replication Semisync slave * Replication Semisync slave
* XA support activated * XA support activated
* replication started ? * Replication started?
## MySQLTuner InnoDB information ## MySQLTuner InnoDB information
* InnoDB Buffer Pool Size * InnoDB Buffer Pool Size
* If possible, innodb_buffer_pool_size should be greater data and index size for Innodb Table * If possible, innodb_buffer_pool_size should be greater than data and index size for Innodb Table
* Innodb_buffer_pool_size should around 75 to 80 % of the available system memory. * Innodb_buffer_pool_size should be around 75% to 80% of the available system memory.
* InnoDB Buffer Pool Instances * InnoDB Buffer Pool Instances
* MySQL needs 1 instance per 1Go of Buffer Pool * MySQL needs 1 instance per 1Go of Buffer Pool
* innodb_buffer_pool instances = round(innodb_buffer_pool_size / 1Go) * innodb_buffer_pool instances = round(innodb_buffer_pool_size / 1Go)
* innodb_buffer_pool instances must be equals or lower than 64 * innodb_buffer_pool instances must be equal to or lower than 64
- A bug in MySQL 5.6 causes SHOW VARIABLES to report an innodb_buffer_pool_instances value of 8 when innodb_buffer_pool_size is less than 1GB and only one buffer pool instance is present (Bug #18343670). - A bug in MySQL 5.6 causes SHOW VARIABLES to report an innodb_buffer_pool_instances value of 8 when innodb_buffer_pool_size is less than 1GB and only one buffer pool instance is present (Bug #18343670).
* InnoDB Buffer Pool Usage * InnoDB Buffer Pool Usage
* If more than 20% of InnoDB buffer pool is not used, MySQLTuner raise an alert. * If more than 20% of InnoDB buffer pool is not used, raise an alert.
* InnoDB Buffer Pool Log Size * InnoDB Buffer Pool Log Size
* InnoDB total log file size should be 25% of innodb_buffer_pool_size * InnoDB total log file size should be 25% of innodb_buffer_pool_size
* InnoDB Read efficiency * InnoDB Read efficiency
@ -245,14 +246,14 @@
* InnoDB Chunk Size * InnoDB Chunk Size
* Check InnoDB Buffer Pool size is a multiple of InnoDB Buffer Pool chunk size * InnoDB Buffer Pool instances * Check InnoDB Buffer Pool size is a multiple of InnoDB Buffer Pool chunk size * InnoDB Buffer Pool instances
## MySQLTuner ARIADB information ## MySQLTuner AriaDB information
* Is Aria indexes size is greater than page cache size ? * Is Aria indexes size greater than page cache size?
* Page cache read hit ratio (>95%) * Page cache read hit ratio (>95%)
* Page cache write hit ratio (>95%) * Page cache write hit ratio (>95%)
## MySQLTuner MYISAM information ## MySQLTuner MyISAM information
* Key buffer usage (>90%) * Key buffer usage (>90%)
* Is MyISAM indexes size is greater than key buffer size ? * Is MyISAM indexes size is greater than key buffer size ?
@ -260,6 +261,7 @@
* Key buffer write hit ratio (>95%) * Key buffer write hit ratio (>95%)
## MySQLTuner Galera information ## MySQLTuner Galera information
* wsrep_ready cluster is ready * wsrep_ready cluster is ready
* wsrep_connected node is connected to other nodes * wsrep_connected node is connected to other nodes
* wsrep_cluster_name is defined. * wsrep_cluster_name is defined.
@ -271,7 +273,7 @@
* wsrep_ local_state_comment: Node state * wsrep_ local_state_comment: Node state
* SYNCED (uptodate), * SYNCED (uptodate),
* DONOR (sending information to another node) * DONOR (sending information to another node)
* Joiner(Try to reach cluster group) * Joiner (try to reach cluster group)
* SYNCED state able to read/write * SYNCED state able to read/write
* wsrep_cluster_conf_id configuration level must be identical in all nodes * wsrep_cluster_conf_id configuration level must be identical in all nodes
* wsrep_slave_thread is between 3 or 4 times number of CPU core. * wsrep_slave_thread is between 3 or 4 times number of CPU core.
@ -282,7 +284,7 @@
* Look for tables without primary keys * Look for tables without primary keys
* Look for non InnoDB tables for Galera * Look for non InnoDB tables for Galera
* Variable innodb_flush_log_at_trx_commit should be set to 0. * Variable innodb_flush_log_at_trx_commit should be set to 0.
* Check that there is 3 or 5 members in Galera cluster. * Check that there are 3 or 5 members in Galera cluster.
* Check that xtrabackup is used for SST method with wsrep_sst_method variable. * Check that xtrabackup is used for SST method with wsrep_sst_method variable.
* Check variables wsrep_OSU_method is defined to TOI for updates. * Check variables wsrep_OSU_method is defined to TOI for updates.
* Check that there is no certification failures controlling wsrep_local_cert_failures status. * Check that there is no certification failures controlling wsrep_local_cert_failures status.
@ -301,30 +303,31 @@
## MySQLTuner XtraDB information ## MySQLTuner XtraDB information
* Nothing for the moment * Not implemented
## MySQLTuner Connect information ## MySQLTuner Connect information
* Nothing for the moment * Not implemented
## MySQLTuner Spider information ## MySQLTuner Spider information
* Nothing for the moment * Not implemented
## MySQLTuner RocksDb information ## MySQLTuner RocksDb information
* Nothing for the moment * Not implemented
## MySQLTuner Thread pool information ## MySQLTuner Thread pool information
* thread_pool_size between 16 to 36 for Innodb usage * thread_pool_size between 16 to 36 for Innodb usage
* thread_pool_size between 4 to 8 for MyIsam usage * thread_pool_size between 4 to 8 for MyISAM usage
## MySQLTuner performance schema and sysschema information ## MySQLTuner performance schema and sysschema information
* Check that Performance schema is activated for 5.6+ version * Check that Performance schema is activated for 5.6+ version
* Check that Performance schema is deactivated for 5.5- version * Check that Performance schema is deactivated for 5.5- version
* Check that Sys schema is installed * Check that Sys schema is installed
* sys Schema version * Sys Schema version
* Top user per connection * Top user per connection
* Top user per statement * Top user per statement
* Top user per statement latency * Top user per statement latency
@ -377,18 +380,18 @@
* Event per wait total latency * Event per wait total latency
* Event per wait read latency * Event per wait read latency
* Event per wait write latency * Event per wait write latency
* TOP 15 most read indexes * Top 15 most read indexes
* TOP 15 most modified indexes * Top 15 most modified indexes
* TOP 15 high select latency index * Top 15 high select latency index
* TOP 15 high insert latency index * Top 15 high insert latency index
* TOP 15 high update latency index * Top 15 high update latency index
* TOP 15 high delete latency index * Top 15 high delete latency index
* TOP 15 most read tables * Top 15 most read tables
* TOP 15 most modified tables * Top 15 most modified tables
* TOP 15 high select latency tables * Top 15 high select latency tables
* TOP 15 high insert latency tables * Top 15 high insert latency tables
* TOP 15 high update latency tables * Top 15 high update latency tables
* TOP 15 high delete latency tables * Top 15 high delete latency tables
* Redundant indexes * Redundant indexes
* Tables not using InnoDb buffer * Tables not using InnoDb buffer
* Top 15 Tables using InnoDb buffer * Top 15 Tables using InnoDb buffer
@ -396,26 +399,26 @@
* Top 15 Most executed queries * Top 15 Most executed queries
* Latest SQL queries in errors or warnings * Latest SQL queries in errors or warnings
* Top 20 queries with full table scans * Top 20 queries with full table scans
* TOP 15 reader queries (95% percentile) * Top 15 reader queries (95% percentile)
* TOP 15 row look queries (95% percentile) * Top 15 row look queries (95% percentile)
* TOP 15 total latency queries (95% percentile) * Top 15 total latency queries (95% percentile)
* TOP 15 max latency queries (95% percentile) * Top 15 max latency queries (95% percentile)
* TOP 15 average latency queries (95% percentile) * Top 15 average latency queries (95% percentile)
* Top 20 queries with sort * Top 20 queries with sort
* Last 50 queries with sort * Last 50 queries with sort
* TOP 15 row sorting queries with sort * Top 15 row sorting queries with sort
* TOP 15 total latency queries with sort * Top 15 total latency queries with sort
* TOP 15 merge queries with sort * Top 15 merge queries with sort
* TOP 15 average sort merges queries with sort * Top 15 average sort merges queries with sort
* TOP 15 scans queries with sort * Top 15 scans queries with sort
* TOP 15 range queries with sort * Top 15 range queries with sort
* Top 20 queries with temp table * Top 20 queries with temp table
* Last 50 queries with temp table * Last 50 queries with temp table
* TOP 15 total latency queries with temp table * Top 15 total latency queries with temp table
* TOP 15 queries with temp table to disk * Top 15 queries with temp table to disk
* TOP 15 class events by number * Top 15 class events by number
* TOP 30 events by number * Top 30 events by number
* TOP 15 class events by total latency * Top 15 class events by total latency
* TOP 30 events by total latency * Top 30 events by total latency
* TOP 15 class events by max latency * Top 15 class events by max latency
* TOP 30 events by max latency * Top 30 events by max latency