天天看点

《Greenplum5.0 最佳实践》 系统监控与维护 (五)

常规的系统维护是为了我们的Greenplum数据库具有更高的稳定性和更优化的性能体现

使用 ANALYZE 更新系统的统计信息

数据库的数据膨胀管理 (需要仔细点延伸下去)

监控Greenplum的日志文件

Greenplum 数据库系统提供了非常使用的监控工具。

gp_toolkit 模式包含多种视图,可以通过SQL命令去查询Greenplum数据库系统的 system catalogs , log files 和 对当前操作环境下系统的状态信息。

对于更多的 gpstate 和 gpcheckperf 涉及在 《Greenplum Database Utility Guide》中。对于 gp_toolkit 的信息, 可以参考 《Greenplum Database Reference Guide》

使用 gpstate 实用程序是用来查看Greenplum 整个系统状态的。 通常,我们执行 gpstate 命令会获得如下信息,这些信息包裹当前有多少个段数据库在运行,多少个段数据挂掉了,如果存在数据库挂掉了,这就需要我们注意解决问题了,因为挂点的点很容易引起计算倾斜等问题。

执行 gpstate -Q 可以获取在 master 节点的 system catalog 中有多少个段数据库 DOWN (宕机了)。

如果想获得更详细的信息需要执行的命令为 gpstate -s

gpcheckperf 时用用来检测硬件的性能的,所有的节点。可以用来确定硬件故障,它的性能检查涉及到如下几条:

磁盘 I/O检测 -- 使用的是 linux 系统命令 dd 读写大的日志文件,来获得磁盘的性能。 他返回结果为 读写 MB/sec

内存带宽测试 -- 是使用的是 STREAM benchmark 来测试,其单位为 MB/sec

网络性能测试 -- 运行的是 gpnetbench 网络测试的 benchmark (可以选择为 netperf) 来测试集群的网络性能。 这个benchmark 运行在三种模式下,分别是 并行对测试 (-r N), 串口对测试 ( -r n), 全矩阵测试 ( -r M)。这里会获得 最小 最大 平均 和 中值 的转换率 单位是 MB/sec

为了使用 gpcheckperf 获得有用的数据, 数据库系统必须 停机 才可以。如果不停机的话,很多获得数据根本不可靠。

使用 gpcheckperf 要求在测试的主机之间建立可靠的主机设置机制。他将会调用 gpssh 和 gpscp 命令, 所以必须确保这些命令完全在你的系统 PATH 中。 可以使用如下命令检查是否可以使用 ( -h host1 -h host2) 等。或者使用 (-f host_file) 这是一个 text 文件。里面的内容就是各个主机名。

通常情况下, gpcheckperf 运行的测试为 I/O 测试, 内存测试, 串口测试 网络测试。 在磁盘 I/O 测试的时候,我们需要的是 使用 -d 参数来选择具体的系统上的文件路径。 如下例子

<code></code>

其中这上面的 -r 参数是用来选择运行在 : 磁盘I/O (d), 内存带宽 (s) , 网络并行对 (N), 网络串行对 (n), 网络全矩阵测试 (M).

这有网络测试模式可以选择执不执行 . 具体参见 ‘《Greenplum Database Reference Guide》

## 监控操作系统

通常使用如下命令来监控操作系统

iostat 允许可以监控每个段节点磁盘的使用情况

top 动态视图的形式显示操作系统的进程情况

vmstate 展示内存使用情况

通常是使用 gpssh 切换到不同的节点上去查看检测信息

参看 《Greenplum Database Administrator Guide》 完成监控任务的部署和实现。

在安装Greenplum 数据库之前先执行一次 gpfcheckperf , 保存输出结果,此后不定期的执行测试

使用你能找到的所有工具来了解在不同负载的情况下,系统的状态

检查任何异常事件以确保原因

通过定期运行 explain 命令来获得查询的解释计划, 监控系统上的查询活动, 以确保运行最佳。

审视执行计划,以确保是否使用了索引,并按照预期完成分区的选择

gpcheckperf 参看手册 《Greenplum Database Utility Guide》

维护系统的搭建 参考手册 《Greenplum Database Administrator Guide》

www.netperf.org to use netperf, netperf must be installed on each host you test. See gpcheckperf reference for more information.