在GreenPlum中使用gpcheckperf进行性能测试

0    36    1

Tags:

👉 本文共约3929个字,系统预计阅读时间或需15分钟。

简介

gpcheckperf验证指定主机的基准硬件性能。

gpcheckperf 是 Greenplum 数据库自带的性能测试工具,gpcheckperf工具能用来测试主机硬件的基线性能。其结果可以帮助发现硬件问题。它会 执行下列检查:

  • 磁盘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工具在指定的主机上启动会话并运行以下性能测试:

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

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

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

在使用gpcheckperf之前,用户必须在涉及性能测试的主机之间建立可信的主机设置。 用户可以使用gpssh-exkeys工具更新已知主机文件并在主机之间交换公钥 (如果尚未这样做的话)。请注意,gpcheckperf调用gpssh 和gpscp,这些Greenplum工具也必须在$PATH中。

选项

-B block_size

指定用于磁盘I/O测试的块大小(以KB或MB为单位)。缺省值是32KB,与Greenplum数据库页面大小相同。 最大块大小是1 MB。

-d test_directory

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

-d temp_directory

对于网络和流测试,指定单个目录,测试程序文件在测试期间将被复制到该目录。用户必须具有 对测试中涉及的所有主机上该目录的写入权限。

-D(显示每台主机的结果)

报告每个主机的磁盘I/O测试的性能结果。缺省情况下,仅报告具有最低和最高性能的主机的结果, 以及所有主机的总体和平均性能。

--duration time

以秒(s)、分钟(m)、小时(h)或天数(d)指定网络测试的持续时间。默认值是15秒。

-f hostfile_gpcheckperf

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

-f hostfile_gpchecknet

对于网络性能测试,主机文件中的所有项都必须是同一子网内的主机地址。如果用户的Segment 主机在不同子网上配置有多个网络接口,请为每个子网运行一次网络测试。例如(包含互连子网1 的Segment主机地址名的主机文件):

-h hostname

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

--netperf

指定应该用netperf二进制文件来执行网络测试,而不是Greenplum网络测试。 要使用此选项,用户必须从http://www.netperf.org下载 netperf并且安装到所有Greenplum主机(Master和Segment)的 $GPHOME/bin/lib目录中。

-r ds{n|N|M}

指定要运行的性能测试,默认是dsn:

  • 磁盘I/O测试(d)

  • 流测试(s)

  • 网络性能测试,串行(n)、 并行(N)或全矩阵(M)模式。 可选的--duration选项指定了运行网络测试的时间 (以秒为单位)。要使用并行(N)模式,用户必须在 偶数台主机上运行测试。

    如果用户宁愿使用netperfnetperf(http://www.netperf.org)而不是Greenplum网络测试,用户必须下载它并安装到所有Greenplum主机 (Master和Segment)的$GPHOME/bin/lib目录中。 然后,用户可以指定可选的--netperf选项来使用 netperf二进制文件而不是默认的gpnetbench工具。

-S file_size

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

-v(详细模式)| -V(非常详细模式)

详细(Verbose)模式显示性能测试运行时的进度和状态信息。非常详细(Very Verbose) 模式显示该工具生成的所有输出消息。

--version

显示该工具的版本。

-?(帮助)

本人提供Oracle、MySQL、PG等数据库的培训和考证业务,私聊QQ646634621或微信db_bao,谢谢!

显示在线帮助。

示例

使用/data1和/data2作为测试目录在文件 host_file中的所有主机上运行磁盘I/O和内存带宽测试:

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

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

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

脚本测试

性能测试时间通常较长,为了进行完整的测试,一般创建如下测试脚本,在后台执行性能测试任务。

性能测试后台执行 nohup sh gpcheckperf-test.sh & 命令后,查看 nohup.out 的输出结果,如图 3-6 所示(每台服务器采用 10 块普通硬盘通过软件组成 Raid 5)。

在GreenPlum中使用gpcheckperf进行性能测试

总结

安装时运行gpcheckperf并且在之后定期运行该工具,保存其输出用来比较系统性能随时间的变化。

参考

https://www.bookstack.cn/read/greenplum-admin_guide-6.0-zh/37840d91ab12b287.md

标签:

头像

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

6 + 17 =

 

嘿,我是小麦,需要帮助随时找我哦
  • 18509239930
  • 个人微信

  • 麦老师QQ聊天
  • 个人邮箱
  • 点击加入QQ群
  • 个人微店

  • 回到顶部
返回顶部