Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
595d473d41
@ -60,7 +60,7 @@ rule 'Questions below 1,000'
|
||||
Let the server run for a longer time until it has executed a greater amount of queries.
|
||||
Current amount of Questions: %s | Questions
|
||||
|
||||
rule 'Percentage of slow queries' [Questions > 0 && !PMA_DRIZZLE]
|
||||
rule 'Percentage of slow queries' [Questions > 0]
|
||||
Slow_queries / Questions * 100
|
||||
value >= 5
|
||||
There is a lot of slow queries compared to the overall amount of Queries.
|
||||
@ -74,21 +74,21 @@ rule 'Slow query rate' [Questions > 0]
|
||||
You might want to increase {long_query_time} or optimize the queries listed in the slow query log
|
||||
You have a slow query rate of %s per hour, you should have less than 1% per hour. | ADVISOR_bytime(value,2)
|
||||
|
||||
rule 'Long query time' [!PMA_DRIZZLE]
|
||||
rule 'Long query time'
|
||||
long_query_time
|
||||
value >= 10
|
||||
{long_query_time} is set to 10 seconds or more, thus only slow queries that take above 10 seconds are logged.
|
||||
It is suggested to set {long_query_time} to a lower value, depending on your environment. Usually a value of 1-5 seconds is suggested.
|
||||
long_query_time is currently set to %ds. | value
|
||||
|
||||
rule 'Slow query logging' [!PMA_DRIZZLE && PMA_MYSQL_INT_VERSION < 50600]
|
||||
rule 'Slow query logging' [PMA_MYSQL_INT_VERSION < 50600]
|
||||
log_slow_queries
|
||||
value == 'OFF'
|
||||
The slow query log is disabled.
|
||||
Enable slow query logging by setting {log_slow_queries} to 'ON'. This will help troubleshooting badly performing queries.
|
||||
log_slow_queries is set to 'OFF'
|
||||
|
||||
rule 'Slow query logging' [!PMA_DRIZZLE && PMA_MYSQL_INT_VERSION >= 50600]
|
||||
rule 'Slow query logging' [PMA_MYSQL_INT_VERSION >= 50600]
|
||||
slow_query_log
|
||||
value == 'OFF'
|
||||
The slow query log is disabled.
|
||||
@ -97,7 +97,7 @@ rule 'Slow query logging' [!PMA_DRIZZLE && PMA_MYSQL_INT_VERSION >= 50600]
|
||||
|
||||
#
|
||||
# versions
|
||||
rule 'Release Series' [!PMA_DRIZZLE]
|
||||
rule 'Release Series'
|
||||
version
|
||||
substr(value,0,2) <= '5.' && substr(value,2,1) < 1
|
||||
The MySQL server version less than 5.1.
|
||||
@ -132,13 +132,6 @@ rule 'Distribution'
|
||||
Percona documentation is at <a href="http://www.percona.com/software/documentation/">http://www.percona.com/software/documentation/</a>
|
||||
'percona' found in version_comment
|
||||
|
||||
rule 'Distribution'
|
||||
version
|
||||
PMA_DRIZZLE
|
||||
The MySQL manual only is accurate for official MySQL binaries.
|
||||
Drizzle documentation is at <a href="http://www.drizzle.org/content/documentation/">http://www.drizzle.org/content/documentation/</a>
|
||||
Version string (%s) matches Drizzle versioning scheme | value
|
||||
|
||||
rule 'MySQL Architecture'
|
||||
system_memory
|
||||
value > 3072*1024 && !preg_match('/64/',version_compile_machine) && !preg_match('/64/',version_compile_os)
|
||||
@ -150,7 +143,7 @@ rule 'MySQL Architecture'
|
||||
# Query cache
|
||||
|
||||
# Lame: 'ON' == 0 is true, so you need to compare 'ON' == '0'
|
||||
rule 'Query cache disabled' [!PMA_DRIZZLE]
|
||||
rule 'Query cache disabled'
|
||||
query_cache_size
|
||||
value == 0 || query_cache_type == 'OFF' || query_cache_type == '0'
|
||||
The query cache is not enabled.
|
||||
@ -164,28 +157,28 @@ rule 'Query caching method' [!fired('Query cache disabled')]
|
||||
You are using the MySQL Query cache with a fairly high traffic database. It might be worth considering to use <a href="http://dev.mysql.com/doc/refman/5.5/en/ha-memcached.html">memcached</a> instead of the MySQL Query cache, especially if you have multiple slaves.
|
||||
The query cache is enabled and the server receives %d queries per second. This rule fires if there is more than 100 queries per second. | round(value,1)
|
||||
|
||||
rule 'Query cache efficiency (%)' [!PMA_DRIZZLE && Com_select + Qcache_hits > 0 && !fired('Query cache disabled')]
|
||||
rule 'Query cache efficiency (%)' [Com_select + Qcache_hits > 0 && !fired('Query cache disabled')]
|
||||
Qcache_hits / (Com_select + Qcache_hits) * 100
|
||||
value < 20
|
||||
Query cache not running efficiently, it has a low hit rate.
|
||||
Consider increasing {query_cache_limit}.
|
||||
The current query cache hit rate of %s% is below 20% | round(value,1)
|
||||
|
||||
rule 'Query Cache usage' [!fired('Query cache disabled') && !PMA_DRIZZLE]
|
||||
rule 'Query Cache usage' [!fired('Query cache disabled')]
|
||||
100 - Qcache_free_memory / query_cache_size * 100
|
||||
value < 80
|
||||
Less than 80% of the query cache is being utilized.
|
||||
This might be caused by {query_cache_limit} being too low. Flushing the query cache might help as well.
|
||||
The current ratio of free query cache memory to total query cache size is %s%. It should be above 80% | round(value,1)
|
||||
|
||||
rule 'Query cache fragmentation' [!fired('Query cache disabled') && !PMA_DRIZZLE]
|
||||
rule 'Query cache fragmentation' [!fired('Query cache disabled')]
|
||||
Qcache_free_blocks / (Qcache_total_blocks / 2) * 100
|
||||
value > 20
|
||||
The query cache is considerably fragmented.
|
||||
Severe fragmentation is likely to (further) increase Qcache_lowmem_prunes. This might be caused by many Query cache low memory prunes due to {query_cache_size} being too small. For a immediate but short lived fix you can flush the query cache (might lock the query cache for a long time). Carefully adjusting {query_cache_min_res_unit} to a lower value might help too, e.g. you can set it to the average size of your queries in the cache using this formula: (query_cache_size - qcache_free_memory) / qcache_queries_in_cache
|
||||
The cache is currently fragmented by %s% , with 100% fragmentation meaning that the query cache is an alternating pattern of free and used blocks. This value should be below 20%. | round(value,1)
|
||||
|
||||
rule 'Query cache low memory prunes' [!PMA_DRIZZLE && Qcache_inserts > 0 && !fired('Query cache disabled')]
|
||||
rule 'Query cache low memory prunes' [Qcache_inserts > 0 && !fired('Query cache disabled')]
|
||||
Qcache_lowmem_prunes / Qcache_inserts * 100
|
||||
value > 0.1
|
||||
Cached queries are removed due to low query cache memory from the query cache.
|
||||
@ -293,14 +286,14 @@ rule 'Temp disk rate' [!fired('Percentage of temp tables on disk')]
|
||||
|
||||
#
|
||||
# MyISAM index cache
|
||||
rule 'MyISAM key buffer size' [!PMA_DRIZZLE]
|
||||
rule 'MyISAM key buffer size'
|
||||
key_buffer_size
|
||||
value == 0
|
||||
Key buffer is not initialized. No MyISAM indexes will be cached.
|
||||
Set {key_buffer_size} depending on the size of your MyISAM indexes. 64M is a good start.
|
||||
key_buffer_size is 0
|
||||
|
||||
rule 'Max % MyISAM key buffer ever used' [!PMA_DRIZZLE && key_buffer_size > 0]
|
||||
rule 'Max % MyISAM key buffer ever used' [key_buffer_size > 0]
|
||||
Key_blocks_used * key_cache_block_size / key_buffer_size * 100
|
||||
value < 95
|
||||
MyISAM key buffer (index cache) % used is low.
|
||||
@ -308,14 +301,14 @@ rule 'Max % MyISAM key buffer ever used' [!PMA_DRIZZLE && key_buffer_size > 0]
|
||||
max % MyISAM key buffer ever used: %s%, this value should be above 95% | round(value,1)
|
||||
|
||||
# Don't fire if above rule fired - we don't need the same advice twice
|
||||
rule 'Percentage of MyISAM key buffer used' [!PMA_DRIZZLE && key_buffer_size > 0 && !fired('Max % MyISAM key buffer ever used')]
|
||||
rule 'Percentage of MyISAM key buffer used' [key_buffer_size > 0 && !fired('Max % MyISAM key buffer ever used')]
|
||||
( 1 - Key_blocks_unused * key_cache_block_size / key_buffer_size) * 100
|
||||
value < 95
|
||||
MyISAM key buffer (index cache) % used is low.
|
||||
You may need to decrease the size of {key_buffer_size}, re-examine your tables to see if indexes have been removed, or examine queries and expectations about what indexes are being used.
|
||||
% MyISAM key buffer used: %s%, this value should be above 95% | round(value,1)
|
||||
|
||||
rule 'Percentage of index reads from memory' [!PMA_DRIZZLE && Key_read_requests > 0]
|
||||
rule 'Percentage of index reads from memory' [Key_read_requests > 0]
|
||||
100 - (Key_reads / Key_read_requests * 100)
|
||||
value < 95
|
||||
The % of indexes that use the MyISAM key buffer is low.
|
||||
@ -324,21 +317,21 @@ rule 'Percentage of index reads from memory' [!PMA_DRIZZLE && Key_read_requests
|
||||
|
||||
#
|
||||
# other caches
|
||||
rule 'Rate of table open' [!PMA_DRIZZLE]
|
||||
rule 'Rate of table open'
|
||||
Opened_tables / Uptime
|
||||
value*60*60 > 10
|
||||
The rate of opening tables is high.
|
||||
Opening tables requires disk I/O which is costly. Increasing {table_open_cache} might avoid this.
|
||||
Opened table rate: %s, this value should be less than 10 per hour | ADVISOR_bytime(value,2)
|
||||
|
||||
rule 'Percentage of used open files limit' [!PMA_DRIZZLE]
|
||||
rule 'Percentage of used open files limit'
|
||||
Open_files / open_files_limit * 100
|
||||
value > 85
|
||||
The number of open files is approaching the max number of open files. You may get a "Too many open files" error.
|
||||
Consider increasing {open_files_limit}, and check the error log when restarting after changing {open_files_limit}.
|
||||
The number of opened files is at %s% of the limit. It should be below 85% | round(value,1)
|
||||
|
||||
rule 'Rate of open files' [!PMA_DRIZZLE]
|
||||
rule 'Rate of open files'
|
||||
Open_files / Uptime
|
||||
value * 60 * 60 > 5
|
||||
The rate of opening files is high.
|
||||
@ -359,28 +352,28 @@ rule 'Table lock wait rate'
|
||||
Optimize queries and/or use InnoDB to reduce lock wait.
|
||||
Table lock wait rate: %s, this value should be less than 1 per hour | ADVISOR_bytime(value,2)
|
||||
|
||||
rule 'Thread cache' [!PMA_DRIZZLE]
|
||||
rule 'Thread cache'
|
||||
thread_cache_size
|
||||
value < 1
|
||||
Thread cache is disabled, resulting in more overhead from new connections to MySQL.
|
||||
Enable the thread cache by setting {thread_cache_size} > 0.
|
||||
The thread cache is set to 0
|
||||
|
||||
rule 'Thread cache hit rate %' [!PMA_DRIZZLE && thread_cache_size > 0]
|
||||
rule 'Thread cache hit rate %' [thread_cache_size > 0]
|
||||
100 - Threads_created / Connections
|
||||
value < 80
|
||||
Thread cache is not efficient.
|
||||
Increase {thread_cache_size}.
|
||||
Thread cache hitrate: %s%, this value should be above 80% | round(value,1)
|
||||
|
||||
rule 'Threads that are slow to launch' [!PMA_DRIZZLE && slow_launch_time > 0]
|
||||
rule 'Threads that are slow to launch' [slow_launch_time > 0]
|
||||
Slow_launch_threads
|
||||
value > 0
|
||||
There are too many threads that are slow to launch.
|
||||
This generally happens in case of general system overload as it is pretty simple operations. You might want to monitor your system load carefully.
|
||||
%s thread(s) took longer than %s seconds to start, it should be 0 | value, slow_launch_time
|
||||
|
||||
rule 'Slow launch time' [!PMA_DRIZZLE]
|
||||
rule 'Slow launch time'
|
||||
slow_launch_time
|
||||
value > 2
|
||||
Slow_launch_threads is above 2s
|
||||
@ -389,7 +382,7 @@ rule 'Slow launch time' [!PMA_DRIZZLE]
|
||||
|
||||
#
|
||||
#Connections
|
||||
rule 'Percentage of used connections' [!PMA_DRIZZLE]
|
||||
rule 'Percentage of used connections'
|
||||
Max_used_connections / max_connections * 100
|
||||
value > 80
|
||||
The maximum amount of used connections is getting close to the value of {max_connections}.
|
||||
@ -426,7 +419,7 @@ rule 'Rate of aborted clients'
|
||||
|
||||
#
|
||||
# InnoDB
|
||||
rule 'Is InnoDB disabled?' [!PMA_DRIZZLE && PMA_MYSQL_INT_VERSION < 50600]
|
||||
rule 'Is InnoDB disabled?' [PMA_MYSQL_INT_VERSION < 50600]
|
||||
have_innodb
|
||||
value != "YES"
|
||||
You do not have InnoDB enabled.
|
||||
@ -456,7 +449,7 @@ rule 'InnoDB buffer pool size' [system_memory > 0]
|
||||
|
||||
#
|
||||
# other
|
||||
rule 'MyISAM concurrent inserts' [!PMA_DRIZZLE]
|
||||
rule 'MyISAM concurrent inserts'
|
||||
concurrent_insert
|
||||
value === 0 || value === 'NEVER'
|
||||
Enable {concurrent_insert} by setting it to 1
|
||||
|
||||
Loading…
Reference in New Issue
Block a user