日期:2014-05-16  浏览次数:20763 次

【收藏】MySQL Administrator Health(健康度)

原文地址:http://blog.ccidnet.com/blog-htm-do-showone-uid-10104-type-blog-itemid-42129.html

MySQL Administrator 的 Health 部分用图形监控(graphically monitor )的方式展示了 MySQL服务器的实时状态。这里显示了一些状态图,当然你可以很简单的创建自己的状态图, 并把他们组合到自定义的页或者组中。

默认的图形信息( graphical information)显示了关于 MySQL服务器的当前性能(current performance), 加载(load)和内存的使用信息。 其余的页显示了所有的服务器变量,这些页可分为状态变量(status variables)和系统变量(system variables)。 说明:在状态页(status pages)上单击将打开一个到MySQL 服务器的额外连接, 这个页面当你在 Server Connections(连接) 选项里查看线程和用户时将会看到。

我们将从覆盖各种预定义的状态图(pre-made status graphs)开始, 然后描述如何创建你自己的状态图。 最后我们将专注于描述 Health 选项下面的各种状态(various status)和系统变量(system variables)。
10.2. Connection Health(连接健康度)

这个tab页提供了 MySQL服务器的连接信息。 下面三个预定义图(pre-made graphs)将会显示如下:

*

    Connection Usage(连接使用率): 显示了当前客户连接的数目占最大连接数的百分比。 (threads connected / max_connections)。如果这个值接近于 100%, 这意味着你要增大服务器的最大连接数(max_connections), 这个连接数的设置是在 Startup Variables(启动变量) 部分。 最大的连接数是从 MySQL Administrator 一启动就显示出来的。 更多的关于服务器连接(server connections)的信息,请查看参考手册(reference manual)的 SHOW VARIABLES(显示变量) 和 Too many connections(太多的连接) Error(错误) 部分。
*

    Traffic(流量): 这是反映 bytes_sent 状态的变量(status variable)。它不表示从服务器启动以来的总字节数, 而是表示了当前发送的字节数。 (这里 bytes_sent 变量是个累计值)。 这个图形初始的最大值为102400,并且这个值将随着需要的增加自动的增大。
*

    Number of SQL Queries( SQL查询的次数): 这是 com_select 状态变量的展示系统(representation os)。 这里表示当前查询的次数,而不是从服务器启动一来的所有查询次数。 (com_select 变量是个累计值)。 这个图(graph)初始的最大值为10,但这个最大值将随着使用的增加而增大。

10.3. Memory Health(内存健康度)

这个tab页提供了关于内存缓冲(memory caches)的信息,它决定着MySQL服务器的性能。 对每一个cache,都显示当前的连接率(hitrate)或者使用情况(usage of the cache), 这个显示是最近的几分钟的。

*

    Query Cache Hitrate: 当在使用状态下,MySQL服务器的 query cache中存储了 SELECT 查询的文本和服务器发送到客户端的结果。 如果有相同的两条语句被先后执行,那么服务器将会从query cache中找到查询的结果, 而不是将SQL语句分解执行一遍。 这个比率反映了被缓冲的查询与没有被缓冲的查询的比。 这个比率越高,则服务器的 SELECT 查询性能就越好。 更多的信息请查看 MySQL Query Cache 部分。
*

    Key Efficiency(关键字的效率): 这个水平的图形条显示了分配了多少关键字缓存(key buffer)。 如果这个关键字缓存(key buffer)是相当的百分数, 你可以在 Startup Variables(启动变量) 部分的 key_cache_size 设置中增加值。 这个图表指示了 key_read_requests 的数量,因此产生了实际的key_reads。 这个比率越高,你的主键缓存(key buffer)就越有效。 如果这个比率很低,说明你需要增加keycache的大小。

10.4. Creating Custom Health Graphs(创建自定义的健康度图表)

尽管默认的图表提供了一些有关MySQL服务器状态的信息,但你可能希望在图表上 看到其它信息的轨迹。 在 MySQL Administrator Health 部分允许你增加一些你要跟踪查看的 其他的tab页和图表,它们被包含在 Status Variables(状态变量)中。

创建自定义的健康度图表(Creating Custom Health Graphs)的第一步是在 Health 部分创建一个新页(new page)用来存储你的图形。 要创建一个新页面,在工作区中右击,选择 Add a Page 项。 它将提示你页面的名字(page name) 和描述信息(description) 然后一个新页面就创建好了。

如果你创建好了一个新页,你需要创建一个组。 所有的图表都在组(groups)中。例如: Key buffer usage 和 Key buffer hitrate 图表都位于 Key Efficiency组中。要创建一个组,在你创建的page上右击,选择 Add a Group 项。

要创建一个自定义图表,在一个组上右击选择 Add a graph 项。将出现下列对话框:

图 10.1. The Graph Settings dialog(图表设置对话框)
The Graph Settings dialog

Line-Graph 适合显示随时间变化的趋势,而 Bar-Graph选项更适合显示百分数信息。 如果你选择创建一个条形图(bar-graph),你需要为你的图选择你一个标题。 但对线图(line-graphs)来说,标题是不允许的。

使用Value Formula来设置图表上的数据。 你可以使用 Status Variables 和 System Variables tabs页的任意的变量来创建一个规则。 如果要使用变量的值,就把变量放在方括号里。 (例如 [com_select]), 如果想用变量的相对值(relative value)可以在方括号前面加一个 ^ 字符。

例如, 如果我们想用图表来显示硬盘上的临时表,我们可以使用下列规则:

[created_tmp_disk_tables] / [created_tmp_tables]


如果我们要跟踪在临时表中的一些连续的要素, 我们可以使用下面的规则:

^[created_tmp_tables]


当创建规则以后,选择最能代表你的数据的 Value Unit。 你可以选择Percentage, Count, Byte, 或 Seconds。 在我们的实例中,我们将用Percentage 做为第一个例子, 第二个例子是Count 。 你可以为这个值赋予一个标题。

一旦你指定了规则,就应该为图表配置一下 Max. Value 和 Min. Value , 以至于你的数据均匀的扩展在图表上。 你可以根据对数据的估计设定任意值,或者查看 Autoextend Max. Value 选项以允许 MySQL Administrator 自动增加 Max Value 设定自动防止你的数据扩展到图形外面。

通过在 Max Formular区域中赋予的规则,你可以设定 Max. Value选项。 这些规则将用于 Value Formula 区域。例如,如果你创建了一些跟踪临时表的条形图(bar graph), 你可以使用 [created_tmp_disk_tables]