I’m facing a problem that my MySQL database is slow, so I decided to check with mysqltuner.pl
, I don’t want to make any changes before I’m sure what I’m doing.
I’m running MySQL 5.7 on Ubuntu 18.04 LTS server.
This is a response from mysqltuner:
-------- Performance Metrics ----------------------------------------------------------------------- [--] Up for: 17h 51m 40s (400K q [6.226 qps], 15K conn, TX: 1G, RX: 63M) [--] Reads / Writes: 98% / 2% [--] Binary logging is disabled [--] Physical Memory : 7.8G [--] Max MySQL memory : 352.4M [--] Other process memory: 1.6G [--] Total buffers: 192.0M global + 1.1M per thread (151 max threads) [--] P_S Max memory usage: 72B [OK] Maximum reached memory usage: 207.9M (2.61% of installed RAM) [OK] Maximum possible memory usage: 352.4M (4.43% of installed RAM) [OK] Overall possible memory usage with other process is compatible with memory available [OK] Slow queries: 0% (0/400K) [OK] Highest usage of available connections: 9% (15/151) [OK] Aborted connections: 0.01% (1/15256) [!!] name resolution is active : a reverse name resolution is made for each new connection and can reduce performance [!!] Query cache may be disabled by default due to mutex contention. [!!] Query cache efficiency: 0.0% (0 cached / 338K selects) [OK] Query cache prunes per day: 0 [OK] Sorts requiring temporary tables: 0% (0 temp sorts / 37K sorts) [!!] Joins performed without indexes: 494 [!!] Temporary tables created on disk: 78% (15K on disk / 20K total) [OK] Thread cache hit rate: 99% (30 created / 15K connections) [OK] Table cache hit rate: 29% (1K open / 6K opened) [OK] Open file limit used: 2% (136/5K) [OK] Table locks acquired immediately: 100% (1K immediate / 1K locks) -------- Performance schema ------------------------------------------------------------------------ [--] Memory used by P_S: 72B [--] Sys schema is installed. -------- ThreadPool Metrics ------------------------------------------------------------------------ [--] ThreadPool stat is disabled. -------- MyISAM Metrics ---------------------------------------------------------------------------- [!!] Key buffer used: 18.2% (3M used / 16M cache) [OK] Key buffer size / total MyISAM indexes: 16.0M/126.0K [!!] Read Key buffer hit rate: 68.8% (16 cached / 5 reads) -------- InnoDB Metrics ---------------------------------------------------------------------------- [--] InnoDB is enabled. [--] InnoDB Thread Concurrency: 0 [OK] InnoDB File per table is activated [OK] InnoDB buffer pool / data size: 128.0M/77.4M [!!] Ratio InnoDB log file size / InnoDB Buffer pool size (75 %): 48.0M * 2/128.0M should be equal 25% [OK] InnoDB buffer pool instances: 1 [--] Number of InnoDB Buffer Pool Chunk : 1 for 1 Buffer Pool Instance(s) [OK] Innodb_buffer_pool_size aligned with Innodb_buffer_pool_chunk_size & Innodb_buffer_pool_instances [OK] InnoDB Read buffer efficiency: 99.96% (12403660 hits/ 12408102 total) [!!] InnoDB Write Log efficiency: 51.81% (14419 hits/ 27833 total) [OK] InnoDB log waits: 0.00% (0 waits / 13414 writes) -------- AriaDB Metrics ---------------------------------------------------------------------------- [--] AriaDB is disabled. -------- TokuDB Metrics ---------------------------------------------------------------------------- [--] TokuDB is disabled. -------- XtraDB Metrics ---------------------------------------------------------------------------- [--] XtraDB is disabled. -------- RocksDB Metrics --------------------------------------------------------------------------- [--] RocksDB is disabled. -------- Spider Metrics ---------------------------------------------------------------------------- [--] Spider is disabled. -------- Connect Metrics --------------------------------------------------------------------------- [--] Connect is disabled. -------- Galera Metrics ---------------------------------------------------------------------------- [--] Galera is disabled. -------- Replication Metrics ----------------------------------------------------------------------- [--] Galera Synchronous replication: NO [--] No replication slave(s) for this server. [--] This is a standalone server. -------- Recommendations --------------------------------------------------------------------------- General recommendations: Control warning line(s) into /var/log/mysql/error.log file Control error line(s) into /var/log/mysql/error.log file MySQL started within last 24 hours - recommendations may be inaccurate Configure your accounts with ip or subnets only, then update your configuration with skip-name-resolve=1 Adjust your join queries to always utilize indexes When making adjustments, make tmp_table_size/max_heap_table_size equal Reduce your SELECT DISTINCT queries which have no LIMIT clause Variables to adjust: query_cache_size (=0) query_cache_type (=0) query_cache_limit (> 1M, or use smaller result sets) join_buffer_size (> 256.0K, or always use indexes with joins) tmp_table_size (> 16M) max_heap_table_size (> 16M) innodb_log_file_size * innodb_log_files_in_group should be equal to 1/4 of buffer pool size (=64M) if possible.
All of my websites are running on latest version WordPress, and most of the content is static – like business websites.
How can I improve performance of MySQL based on mysqltuner
analyze?