验证系统
验证您的硬件和网络性能。
Greenplum提供了一个名为 gpcheckperf 的管理工具,它可用于识别Greenplum数据库阵列中计算机上的硬件和系统级问题。 gpcheckperf 在指定的主机上启动会话,并运行以下性能测试:
- 网络性能(gpnetbench*)
- 磁盘I/O性能(dd 测试)
- 内存带宽(stream测试)
在使用gpcheckperf之前 ,您必须在性能测试所涉及的主机之间建立受信任的主机设置。您可以使用该工具gpssh-exkeys,来更新已知的主机文件并在主机之间交换公钥(如果尚未进行的话)。注意gpcheckperf 调用 gpssh 和 gpscp,因此这些Greenplum工具程序必须位于您的 $PATH。
验证网络性能
要测试网络性能,请运行gpcheckperf,并使用这些网络测试运行选项之一 :并行对测试(-r N),串行对测试(-r n)或全矩阵测试(-r M)。该工具运行一个网络基准程序,它可将1个5秒钟的数据流从当前主机传输到测试中包括的每个远程主机。默认情况下,数据并行传输到每个远程主机,最小,最大,平均和中值网络传输速率以每秒兆字节(MB)表示。如果总体的传输速率比预期的慢(小于100 MB/s),则可以使用-r n选项来运行串行网络测试,以获得每个主机的结果。要运行全矩阵带宽测试,您可以指定-r M,这将使得每个主机从其他的每个指定主机发送和接收数据。此测试最适合用来验证交换机网络是否可以承受全矩阵工作负载。
Greenplum数据库阵列中的大多数系统都配置有多个网络接口卡(NIC),每个NIC都位于其自己的子网中。在测试网络性能时,单独测试每个子网很重要。例如,考虑以下每个主机有两个NIC的网络配置:
Greenplum 主机 | 子网1 NICs | 子网2 NICs |
---|---|---|
Segment 1 | sdw1-1 | sdw1-2 |
Segment 2 | sdw2-1 | sdw2-2 |
Segment 3 | sdw3-1 | sdw3-2 |
您将创建四个不同的主机文件,以与gpcheckperf 网络测试:
hostfile_gpchecknet_ic1 | hostfile_gpchecknet_ic2 |
---|---|
sdw1-1 | sdw1-2 |
sdw2-1 | sdw2-2 |
sdw3-1 | sdw3-2 |
然后你在每个子网运行一次gpcheckperf。例如(如果要测试偶数个主机,请以并行对测试模式运行):
$ gpcheckperf -f hostfile_gpchecknet_ic1 -r N -d /tmp > subnet1.out
$ gpcheckperf -f hostfile_gpchecknet_ic2 -r N -d /tmp > subnet2.out
如果要测试的主机数量奇数,则可以在串行测试模式下运行(-r n)。
验证磁盘I/O和内存带宽
要测试磁盘和内存带宽性能,请运行 gpcheckperf ,并使用磁盘和流测试运行选项(-r ds)。磁盘测试使用dd命令(标准的UNIX实用程序)以测试逻辑磁盘或文件系统的顺序吞吐性能。内存测试使用STREAM基准程序来测量可持续利用的内存带宽。测试结果以MB/秒(MB/s)报告。
运行磁盘和流测试
- 以 gpadmin 用户登录到master主机。
- source Greenplum安装后的路径文件greenplum_path.sh。例如:
$ source /usr/local/greenplum-db/greenplum_path.sh
- 创建一个名为 hostfile_gpcheckperf的主机文件,包括每个segment主机的主机名。请勿包括master主机。例如:
sdw1 sdw2 sdw3 sdw4
- 运行工具gpcheckperf,并使用您刚创建的文件hostfile_gpcheckperf。使用 -d选项以指定要在每个主机上测试的文件系统(您必须具有对这些目录的写访问权)。您将要测试所有主、镜像的segment数据目录位置。例如:
$ gpcheckperf -f hostfile_gpcheckperf -r ds -D \ -d /data1/primary -d /data2/primary \ -d /data1/mirror -d /data2/mirror
- 该工具可能需要花一段时间来执行测试,因为它在主机之间复制了非常大的文件。完成后,您将看到“磁盘写入”,“磁盘读取”和“流”测试的概要结果。