Greenplum实用工具-gpcheckperf

注:本文翻译自https://docs.vmware.com/en/VMware-Greenplum/7/greenplum-database/utility_guide-ref-gpcheckperf.html

语法

gpcheckperf -d <test_directory> [-d <test_directory> ...] 
    {-f <hostfile_gpcheckperf> | - h <hostname> [-h hostname ...]} 
    [-r ds] [-B <block_size>] [-S <file_size>] [-D] [-v|-V]

gpcheckperf -d <temp_directory>
    {-f <hostfile_gpchecknet> | - h <hostname> [-h< hostname> ...]} 
    [ -r n|N|M [--duration <time>] [--netperf] ] [-D] [-v | -V]

gpcheckperf -?

gpcheckperf --version

描述

gpcheckperf实用程序在指定主机上启动会话并运行以下性能测试:

  • 磁盘I/O测试(dd Test)—为了测试逻辑磁盘或文件系统的顺序吞吐量性能,实用程序使用dd命令,这是一个标准的UNIX实用程序。它计算向磁盘写入和从磁盘读取大文件所需的时间,并以MB每秒为单位计算磁盘I/O性能。默认情况下,用于测试的文件大小按主机上总随机存取内存(RAM)的两倍计算。这确保了测试真正测试的是磁盘I/O,而不是使用内存缓存。
  • 内存带宽测试(流)——为了测试内存带宽,该实用程序使用stream基准程序来测量可持续内存带宽(以MB/s为单位)。这将测试系统的性能不受系统内存带宽(相对于CPU的计算性能)的限制。在数据集很大的应用程序中(如Greenplum数据库),低内存带宽是一个主要的性能问题。如果内存带宽明显低于CPU的理论带宽,则可能导致CPU花费大量时间等待来自系统内存的数据到达。
  • 网络性能测试(gpnetbench)——为了测试网络性能(从而测试Greenplum数据库互连的性能),该实用程序运行一个网络基准程序,该程序将5秒的数据流从当前主机传输到测试中包含的每个远程主机。数据并行传输到每个远程主机,最小、最大、平均和中位数网络传输速率以MB / s为单位报告。如果汇总传输速率比预期慢(小于100mb /s),可以使用-r n选项连续运行网络测试,以获得每台主机的结果。要运行全矩阵带宽测试,可以指定-r M,这将使每个主机从指定的其他主机发送和接收数据。该测试最适合用于验证交换结构是否能够承受全矩阵工作负载。

要指定要测试的主机,可以使用-f选项指定一个包含主机名列表的文件,或者使用-h选项在命令行中指定单个主机名。如果运行网络性能测试,host文件中的所有条目必须是针对同一子网内的网络接口。如果您的网段主机在不同的子网中配置了多个网络接口,请为每个子网运行一次网络测试。

您还必须指定至少一个测试目录(使用-d)。运行gpcheckperf的用户必须对所有远程主机上指定的测试目录具有写访问权限。对于磁盘I/O测试,测试目录应该对应于您的段数据目录(主目录和/或镜像目录)。对于内存带宽和网络测试,测试程序文件需要一个临时目录。

在使用gpcheckperf之前,必须在参与性能测试的主机之间设置可信主机。您可以使用实用工具gpssh-exkeys更新已知的主机文件,并在主机之间交换公钥(如果您还没有这么做的话)。注意,gpcheckperf调用gpssh和gpsync,所以这些Greenplum实用程序也必须在$PATH中。

选项

-B block_size
指定用于磁盘I/O测试的块大小(单位为KB或MB)。默认值是32KB,与Greenplum Database页面大小相同。最大块大小为1mb。

-d test_directory
对于磁盘I/O测试,指定要测试的文件系统目录位置。您必须对参与性能测试的所有主机上的测试目录具有写访问权限。您可以多次使用-d选项来指定多个测试目录(例如,测试主数据目录和镜像数据目录的磁盘I/O)。

-d temp_directory
对于网络和流测试,指定在测试期间将测试程序文件复制到其中的单个目录。您必须在测试中涉及的所有主机上对该目录具有写访问权限。

-D (显示每个主机的结果)
报告每个主机的磁盘I/O测试的性能结果。默认情况下,只报告性能最低和最高的主机的结果,以及所有主机的总性能和平均性能。

–duration time
指定网络测试的持续时间,单位为秒、分钟、小时和天。缺省值为15秒。

-f hostfile_gpcheckperf
对于磁盘I/O和流测试,指定一个文件的名称,该文件包含将参与性能测试的每个主机的一个主机名。主机名是必需的,您可以选择为每个主机指定一个备用用户名和/或SSH端口号。host文件的语法是每行一个主机,如下所示:

[<username>@]<hostname>[:<ssh_port>]

-f hostfile_gpchecknet
对于网络性能测试,host文件中的所有表项必须是针对同一子网内的主机地址。如果您的网段主机在不同的子网中配置了多个网络接口,请为每个子网运行一次网络测试。例如(主机文件中包含对接子网1的段主机地址名称):

sdw1-1
sdw2-1
sdw3-1

-h hostname
指定将参与性能测试的单个主机名(或主机地址)。可以多次使用-h选项来指定多个主机名。

–netperf
指定应该使用netperf二进制文件来执行网络测试,而不是使用Greenplum网络测试。要使用此选项,必须从https://github.com/HewlettPackard/netperf下载netperf,并将其安装到所有Greenplum主机(协调器和段)的$GPHOME/bin/lib中。

-r ds {n | N | M}
指定要运行哪些性能测试。默认值是dsn:

  • 磁盘I/O测试(d)
  • 流测试(s)
  • 支持顺序(n)、并行(N)、全矩阵(M)三种方式的网络性能测试。可选的–duration选项指定运行网络测试的时间(以秒为单位)。要使用并行(N)模式,必须在偶数个主机上运行测试。

如果您更愿意使用netperf (https://github.com/HewlettPackard/netperf)而不是Greenplum网络测试,您可以下载它并将其安装到所有Greenplum主机(协调器和段)上的$GPHOME/bin/lib中。然后,您将指定可选的–netperf选项,以使用netperf二进制文件而不是默认的gpnetbench*实用程序。

-S file_size
为所有使用-d指定的目录指定用于磁盘I/O测试的总文件大小。file_size应该等于主机上总RAM的两倍。如果未指定,则默认值是运行gpcheckperf的主机上总RAM的两倍。这确保了测试真正测试的是磁盘I/O,而不是使用内存缓存。可以指定大小,单位为KB、MB或GB。

-v (verbose) | -v (very verbose)
详细模式显示性能测试运行时的进度和状态消息。非常详细模式显示此实用程序生成的所有输出消息。

–version
显示此实用程序的版本。

-?(帮助)
显示联机帮助。

示例

在/data1和/data2的测试目录下,对文件host_file中的所有主机运行磁盘I/O和内存带宽测试:

$ gpcheckperf -f hostfile_gpcheckperf -d /data1 -d /data2 -r ds

只在名为sdw1和sdw2的主机上运行磁盘I/O测试,测试目录为/data1。显示单个主机结果并以详细模式运行:

$ gpcheckperf -h sdw1 -h sdw2 -d /data1 -r d -D -v

使用/tmp的test目录运行并行网络测试,其中hostfile_gpcheck_ic*指定同一互连子网内的所有网络接口主机地址名:

$ gpcheckperf -f hostfile_gpchecknet_ic1 -r N -d /tmp
$ gpcheckperf -f hostfile_gpchecknet_ic2 -r N -d /tmp

运行与上面相同的测试,但使用netperf代替Greenplum网络测试(注意,在所有Greenplum主机上,netperf必须安装在$GPHOME/bin/lib中):

$ gpcheckperf -f hostfile_gpchecknet_ic1 -r N --netperf -d /tmp
$ gpcheckperf -f hostfile_gpchecknet_ic2 -r N --netperf -d /tmp

你可能感兴趣的:(Greenplum,网络,greenplum)