注:本文翻译自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实用程序在指定主机上启动会话并运行以下性能测试:
要指定要测试的主机,可以使用-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:
如果您更愿意使用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