系统监控和维护

    上级主题: 最佳实践

    Greenplum数据库包括对监控系统非常有用的工具。

    gp_stats_missing视图展示没有统计信息且要求运行ANALYZE的表。

    更多gpstate和gpcheckperf的信息请参考Greenplum数据库工具指南。有关gp_toolkit方案的信息,请见Greenplum数据库参考指南

    gpstate工具程序显示Greenplum系统的状态,包括哪些Segment宕掉了、Master和Segment的配置信息(hosts、数据目录等)、系统使用的端口以及主Segment与它们对应的镜像Segment之间的映射。

    运行gpstate -Q可以得到一个Segment的列表,它们在Master的系统目录中被标记为”down”。

    要得到Greenplum系统的详细状态信息,可运行gpstate -s。

    • 磁盘I/O测试 – 通过使用操作系统命令dd读写一个大型文件来测量I/O性能。它报告以兆字节每秒为单位的读写速率。
    • 内存带宽测试 – 使用STREAM基准测量以兆字节每秒为单位的可持续的内存带宽。
    • 网络性能测试 – 运行gpnetbench网络基准程序(也可以选netperf)来测试网络性能。这种测试可以运行在三种模式中:并行结对测试(-r N)、串行结对测试(-r n)或者全矩阵测试(-r M)。报告的最小、最大、平均和中值传输率将以兆字节每秒为单位。

    为了从gpcheckperf获得有效的数字,数据库系统必须被停止。即使系统仍在运行且没有运行查询活动,从gpcheckperf得到的数字可能也不准确。

    gpcheckperf要求在涉及性能测试的主机之间有可信的主机设置。它会调用gpssh以及gpscp,因此这些工具必须也位于用户的PATH中。可以个别指定要检查的主机(-h host1 -h host2 …)或者使用-f hosts_file,其中hosts_file是一个包含要检查的主机列表的文本文件。如果用户有多个子网,为每个子网都创建一个单独的主机文件,这样用户可以单独测试子网。

    gpcheckperf默认会运行磁盘I/O测试、内存测试和串行结对网络性能测试。对于磁盘I/O测试,用户必须使用-d选项指定要测试的文件系统。下面的命令在subnet_1_hosts文件中列出的主机上测试磁盘I/O和内存带宽:

    -r选项选择要运行的测试:磁盘I/O(d)、内存带宽(s)、网络并行结对(N)、网络串行结对测试(n)、网络全矩阵测试(M)。每次执行只能选择一种网络模式。详细的gpcheckperf参考请见Greenplum数据库参考指南

    下面的Linux/UNIX工具可以被用来评估主机性能:

    • iostat允许用户监控Segment主机上的磁盘活动。
    • top显示操作系统进程的动态视图。
    • vmstat显示内存使用统计信息。
    • 在安装时运行gpcheckperf,并且在安装之后定期运行它,将其输出保存起来以对比不同时刻的系统性能。
    • 使用所有能支配的工具来理解系统在不同负载下的行为。
    • 检查异常时间以确定原因。
    • 通过定期运行解释计划监控系统上的查询活动,以确保查询以最优的方式运行。
    • 检查计划以确定索引是否被使用以及分区消除是否按照预期发生。
    • Greenplum数据库工具指南中的gpcheckperf参考。
    • Greenplum数据库管理员指南中的“推荐的监控和维护任”。
    • 参考使用netperf,netperf必须被安装在测试的每台主机上。更多信息请见gpcheckperf参考。