当前位置: 首页> 科技> 名企 > RH442 通过 Performance Co-Pilot 收集性能数据

RH442 通过 Performance Co-Pilot 收集性能数据

时间:2025/7/10 1:45:16来源:https://blog.csdn.net/qq_29974229/article/details/140124108 浏览次数:0次

通过 Performance Co-Pilot 收集性能数据

在本练习中,您将使用 Performance Co-Pilot 收集和存储性能指标。

成果

您应能够安装 Performance Co-Pilot 软件包并演示工具的使用方法。

student 用户身份登录 workstation 虚拟机,密码为 student

workstation 虚拟机上,运行 lab perftools-copilot start 命令。该命令将确定主机 servera 是否可通过网络访问,并做好练习准备。

[student@workstation ~]$ lab perftools-copilot start

注意

当指示使用 sudo命令进行特权升级时,输入密码 student

  1. workstation 虚拟机上,使用 ssh 命令以 student 用户身份登录 servera。系统已配置为通过 SSH 密钥进行身份验证,因此无需密码即可登录 servera

    [student@workstation ~]$ ssh student@servera
    [student@servera ~]$ 
    
  2. servera上,安装提供基本和扩展版 PCP 工具集所需的软件包。启动并启用性能指标收集器守护进程。

    1. 安装 pcp 和 pcp-system-tools 软件包。

      [student@servera ~]$ sudo yum install pcp pcp-system-tools
      [sudo] password for student: student
      ...output omitted...
      Complete!
      
    2. 启动并启用 pmcd 守护进程。

      [student@servera ~]$ sudo systemctl enable --now pmcd
      ...output omitted...
      
  3. 使用 pcp命令以及与传统工具相对比的子命令来收集信息。

    1. 使用 pcp命令(不含子命令参数)来汇总 Performance Co-Pilot 配置。

      [student@servera ~]$ pcp
      Performance Co-Pilot configuration on servera.lab.example.com:platform: Linux servera.lab.example.com 4.18.0-80.el8.x86_64 #1 SMP Wed Mar 13 12:02:46 UTC 2019 x86_64hardware: 2 cpus, 4 disks, 1 node, 1829MB RAMtimezone: CDT+5services: pmcdpmcd: Version 4.3.0-1, 8 agentspmda: root pmcd proc xfs linux mmv kvm jbd2
      
    2. 使用 pcp free命令来显示内存统计信息。

      [student@servera ~]$ pcp freetotal     used     free  shared  buffers  cached
      Mem:       1872932   614300  1258632       0     2104  356424
      -/+ buffers/cache:   255772  1617160
      Swap             0        0        0
      
    3. 使用 pcp dstat命令来显示与 vda 的磁盘使用相关的详细信息。

      在后台使用 dd命令,生成对 /home/student/diskreads 文件的磁盘写入。使用 pcp dstat命令显示时间戳和磁盘统计信息,数据每秒收集一次,每批显示 10 次输出迭代。

      [student@servera ~]$ dd if=/dev/zero of=diskreads bs=512 \
      count=2M oflag=dsync &
      
      [student@servera ~]$ pcp dstat --nocolor -tdD vda 1 10
      ----system---- --dsk/vda--time     | read  writ
      28-06 08:10:52|
      28-06 08:10:53|   0   111M
      28-06 08:10:54|   0   128M
      28-06 08:10:55|   0   112M
      28-06 08:10:56|   0   112M
      28-06 08:10:57|   0   111M
      28-06 08:10:58|   0     0
      28-06 08:10:59|   0     0
      28-06 08:11:00|1838k    0
      28-06 08:11:01|   0    10k
      

      使用 **kill $(pidof dd)**命令来终止 dd 命令。

      [student@servera ~]$ kill $(pidof dd)
      [student@servera ~]$ 
      
  4. 使用 pmstat命令来捕获一分钟的平均负载、交换统计信息、系统中断率和上下文切换、CPU 用户代码、系统和中断处理代码,以及空闲循环统计信息。

    在循环结构中执行 **sha1sum /dev/zero &**命令的四个实例,将工作负载应用到系统中,然后立即运行 pmstat 命令。观察数值变化(约 15 次迭代)。请注意,每次执行命令所得的 PID 和统计值会有所不同。

    [student@servera ~]$ for i in $(seq 1 4); do sha1sum /dev/zero & done
    [1] 2154
    [2] 2155
    [3] 2156
    [4] 2157
    
    [student@servera ~]$ pmstat
    @ Sun Jun 30 15:54:33 2019loadavg                  memory    swap      io     system         cpu1 min swpd   free buff  cache  pi  po  bi  bo    in   cs  us  sy  id0.70    0  1229m 2104 364200   0   0   0   0  2017  307  95   5   00.96    0  1229m 2104 364200   0   0   0   0  2016  305  96   4   01.20    0  1229m 2104 364200   0   0   0   0  2014  304  95   5   01.59    0  1229m 2104 364200   0   0   0   0  2015  307  95   5   01.94    0  1229m 2104 364200   0   0   0   0  2013  306  95   5   02.11    0  1220m 2104 364220   0   0   0   0  2069  404  95   5   02.34    0  1228m 2104 364212   0   0   0  27  2099  458  95   5   02.55    0  1228m 2104 364212   0   0   0   0  2014  304  96   4   02.67    0  1228m 2104 364212   0   0   0   0  2013  303  96   4   02.78    0  1228m 2104 364212   0   0   0   0  2015  304  95   5   02.87    0  1228m 2104 364212   0   0   0   0  2013  304  95   5   02.96    0  1228m 2104 364212   0   0   0   0  2015  299  96   4   03.05    0  1228m 2104 364212   0   0   0  18  2015  308  95   5   03.12    0  1228m 2104 364212   0   0   0   0  2016  306  95   5   03.19    0  1228m 2104 364212   0   0   0   0  2014  306  95   5   0
    ...output omitted...
    

    Ctrl+C 组合键退出 pmstat 命令。

    使用 pkill sha1sum命令来终止 sha1sum /dev/zero 命令的所有实例。

    [student@servera ~]$ pkill sha1sum
    [2]   Terminated              sha1sum /dev/zero
    [3]-  Terminated              sha1sum /dev/zero
    [1]-  Terminated              sha1sum /dev/zero
    [4]+  Terminated              sha1sum /dev/zero
    
  5. 找到跟踪可用内存的 pcp性能指标。找到后,显示其说明,然后每隔 15 秒收集 5 个样本输出。

    [student@servera ~]$ pminfo | grep free
    mem.freemem
    ...output omitted...
    
    [student@servera ~]$ pminfo -dt mem.freemem
    mem.freememData Type: 64-bit unsigned int  InDom: PM_INDOM_NULL 0xffffffffSemantics: instant  Units: Kbyte
    

    每次执行命令所得的统计值会有所不同。

    [student@servera ~]$ pmval -t 15 -s 5 mem.freemem
    metric:    mem.freemem
    host:      servera.lab.example.com
    semantics: instantaneous value
    units:     Kbyte
    samples:   5
    interval:  15.00 sec12618721261904126190412619041261936
    
  6. 退出 servera

    [student@servera ~]$ exit
    logout
    Connection to servera closed.
    [student@workstation ~]$ 
    
  7. workstation 虚拟机,使用 pmchart 命令来启动图形用户界面。在 en*X* 接口上显示两个图表,一个用于可用内存,另一个用于出站字节。

    重要

    网络接口名称由其总线类型和启动期间设备的检测顺序确定。您的网络接口名称将因课程平台和所用硬件而异。

    在当前系统中,找到与以太网址 52:54:00:00:fa:09 相关联的接口名称(如 ens06enp1s0)。使用该接口名称来替换本练习中使用的 en*X* 占位符。

    1. workstation 虚拟机上,安装 pcp-gui 软件包。

      [student@workstation ~]$ sudo yum install pcp-gui
      [sudo] password for student: student
      ...output omitted...
      Complete!
      
    2. 启动和启用 Performance Co-Pilot 服务。

      [student@workstation ~]$ sudo systemctl enable --now pmcd
      ...output omitted...
      
    3. 在后台启动 pmchart实用程序。

      [student@workstation ~]$ pmchart &
      
    4. 单击 New Chart 图标。

    5. 在 Metrics 选项卡中,选择mem → freemem,然后单击 OK 按钮。

    6. 再次单击 New Chart 图标。

    7. 在 Metrics 选项卡中,选择network → interface → out → bytes → en*X*,然后单击 OK 按钮。

    8. 查看所选图表。尝试其他几个可用图表。

    9. 关闭 PCP 图表界面。

      在顶部菜单栏中,单击File → Quit。

  8. workstation 上的终端会话中,使用 ssh 命令以 student 用户身份登录 servera

    [student@workstation ~]$ ssh student@servera
    ...output omitted...
    [student@servera ~]$ 
    
  9. sampleserver.tgz存档从 http://materials.example.com/labs/perftools-copilot/sampleserver.tgz 下载至 servera 上的 /home/student 目录中。提取存档。

    1. 下载存档文件。

      [student@servera ~]$ wget \
      http://materials.example.com/labs/perftools-copilot/sampleserver.tgz
      ...output omitted...
      
    2. 提取存档。

      [student@servera ~]$ tar -xf sampleserver.tgz
      
  10. pmval存档使用 sampleserver.log/20150223.12.24.0 命令,来确定 mem.freemem 性能指标报告达到 80276 饱和点的确切时间。

    [student@servera ~]$ pmval -a sampleserver.log/20150223.12.24.0 \
    mem.freemem | grep 80276 | head -n 1
    12:29:42.562                80276
    

    mem.freemem 性能指标记录首次达到 80276 饱和点的时间为 12:29:42。

  11. 确定 sampleserver.log存档中报告的 vda 的最高磁盘读取次数。

    1. 确定可指示磁盘读取情况的 Performance Co-Pilot 值。

      [student@servera ~]$ pminfo | grep disk | grep read
      disk.dev.read
      disk.dev.blkread
      disk.dev.read_bytes
      disk.dev.read_merge
      disk.dev.read_rawactive
      disk.all.read
      ...output omitted...
      

      其中一些看起来可用;使用 pminfo -dt命令确定哪个最合适。

      [student@servera ~]$ pminfo -dt disk.dev.read
      disk.dev.read [per-disk read operations]Data Type: 64-bit unsigned int  InDom: 60.1 0xf000001Semantics: counter  Units: count
      
    2. 也许 disk.dev.read 性能指标中的数据可轻松确定 vda 上读取最多的事务被读取的次数。

      [student@servera ~]$ pmval -a sampleserver.log/20150223.12.24.0 \
      disk.dev.read | less
      metric:    disk.dev.read
      archive:   sampleserver.log/20150223.12.24.0
      host:      server0.example.com
      start:     Mon Feb 23 12:24:41 2015
      end:       Mon Feb 23 12:54:41 2015
      semantics: cumulative counter (converting to rate)
      units:     count (converting to count / sec)
      samples:   1800
      interval:  1.00 sec
      ...output omitted...vda                   vdb
      12:25:41.562  No values available
      12:25:42.562               0.0                   0.0
      12:25:43.562               0.0                   0.0
      12:25:44.562               0.0                   0.0
      12:25:45.562               0.0                   0.0
      ...output omitted...
      

      q,退出 less 命令。

    3. 我们不太容易从输出中辨别数据,所以可使用文本处理工具筛选出您想要的数据。注意数据格式。对于 vda,仅需要第二列中的数据来回答该问题。

      去除引言信息后,只查看第二列中的数据并对其进行排序。

      [student@servera ~]$ pmval -a sampleserver.log/20150223.12.24.0 \
      disk.dev.read | tail -n +11 | awk '{print $2}' | sort -unr | head
      356.0
      355.0
      353.0
      311.0
      222.0
      221.0
      12.00
      6.000
      5.000
      4.000
      

      vda 读取最多的事务被读取了 356.0 次。

  12. 退出 servera

    [student@servera ~]$ exit
    [student@workstation ~]$ 
    

完成

workstation 虚拟机上运行 lab perftools-copilot finish 命令以完成本练习。此命令将删除练习中创建的资源。

[student@workstation ~]$ lab perftools-copilot finish

本引导式练习到此结束。

关键字:RH442 通过 Performance Co-Pilot 收集性能数据

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: