22.2.5. Thresholds

Each expression has a threshold value that triggers an alert.
The THRESHOLD keyword associates that value
with an alert level: either an Notice,
Warning, or Critical
alert.

For example, the expression for the performance advisor,
“Thread Cache Size May Not Be Optimal”, is:

100-((%Threads_created% / %Connections%) * 100) < THRESHOLD

The THRESHOLD is set at 95% for an Info level
alert, 85% for a Warning alert, and 75% for a Critical alert,
producing alerts of three different levels.

Expressions can be straightforward. The expression for
“Binary Logging Not Enabled” (one of the
Administration alerts) is:

%log_bin% == THRESHOLD

When the result is OFF, only one alert is
triggered: a Warning level alert. You cannot just use the
expression %log_bin% == "OFF", because this
would not test binary logging against a threshold and so would
not result in an alert.

Specify precise conditions when each expression should
evaluated, to avoid false alarms. For example, the expression
for the “MyISAM Key Cache Has Sub-Optimal Hit Rate”
rule is:

The first part of the expression, (%Uptime% >
10800), delays evaluating this expression until the
system has been running for 10800 seconds (3 hours). When a
server starts up, it might take a while to reach a state that is
representative of normal operations. For example, the
InnoDB buffer pool, MyISAM
key cache, and the SQL query cache might require some time to
fill up with application data, after which the cached data
boosts performance.

In addition, if some part of the system is not heavily used, an
alert might be triggered based on limited data. For example, if
your application does not use the MyISAM storage engine, the
“MyISAM Key Cache Has Sub-Optimal Hit Rate” rule
could be triggered based on very limited use of other MyISAM
tables such as the mysql.user table. For this
reason, this advisor has a second part:
(%Key_read_requests% > 10000). The rule is
not evaluated unless there is plenty of activity associated with
the key cache.