diff --git a/libraries/advisory_rules.txt b/libraries/advisory_rules.txt
index 5d6bf4e4fc..5bc8a9dab4 100644
--- a/libraries/advisory_rules.txt
+++ b/libraries/advisory_rules.txt
@@ -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 http://www.percona.com/software/documentation/
'percona' found in version_comment
-rule 'Distribution'
- version
- PMA_DRIZZLE
- The MySQL manual only is accurate for official MySQL binaries.
- Drizzle documentation is at http://www.drizzle.org/content/documentation/
- 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 memcached 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