第 24 章 性能

下面的章节包含对 RHEL 8 和 RHEL 9 之间性能的最显著的更改。

24.1. 性能的显著变化

Performance Co-Pilot rebase 到版本 6.0

从 RHEL 9.2 开始,Performance Co-Pilot (PCP)已更新至版本 6.0。主要改进包括:

  1. 版本 3 PCP 归档支持:

    这包括对实例域 change-deltas、Y2038-safe 时间戳、纳秒精度时间戳、任意时区支持以及用于大型 (b超过 2GB)单个卷的 64 位文件偏移的支持。

    此功能目前通过 /etc/pcp.conf 文件中的 PCP_ARCHIVE_VERSION 设置进行选择。

    版本 2 存档保留默认值。

  2. 在整个 PCP 中只使用 OpenSSL。Mozilla NSS/NSPR 使用已被丢弃:

    这会影响 libpcppmAPI 客户端和 PMCD 加密。现在,这些元素已配置,并与 pmproxy HTTPS 支持和 redis-server 一致,它们都使用 OpenSSL。

  3. 新的纳秒精度时间戳 PMAPI 调用使用时间戳的 PCP 库接口。

    这些都是可选的,为现有工具保留完全向后兼容。

  4. 以下工具和服务已更新:

    pcp2elasticsearch
    实现了身份验证支持。
    pcp-dstat
    实现了对 top-alike 插件的支持。
    pcp-htop
    更新至最新的稳定上游版本。
    pmseries
    添加了 sum,avg,stdev,nth_percentile,max_inst,max_sample,min_instmin_sample 函数。
    pmdabpf
    添加了 CO-RE (Compile Once - Run Everywhere)模块,并支持 AMD64、Intel 64 位、64 位 ARM 和 IBM Power Systems。
    pmdabpftrace
    将示例自动启动脚本移到 /usr/share 目录中。
    pmdadenki
    添加了对多个活跃电池的支持。
    pmdalinux
    对最新的 /proc/net/netstat 更改的更新。
    pmdaopenvswitch
    添加了额外的接口和覆盖统计信息。
    pmproxy
    请求参数现在可以在请求正文中发送。
    pmieconf
    为 Open vSwitch 指标添加了几个 pmie 规则。
    pmlogger_farm
    添加了场日志记录器的默认配置文件。
    pmlogger_daily_report
    一些主要效率改进。

从 RHEL 9 开始,sysstat 软件包提供的 sadf(1) 工具可以从原生 sadc(1) 存档生成 PCP 存档。

默认情况下,当将 - 标志与 sadc(1) 一起使用时,sadc(1) 将数据写入每天标准系统活动中。此文件名为 saDD,默认情况下位于 /var/log/sa 目录中。相反,如果没有指定输入数据文件,sadf(1) 工具将使用标准系统活动每日数据文件来生成归档。传递数字作为参数,以告知 sadf(1) 从过去指定天数记录的数据生成存档。

  • 要从记录的 2 天前 sadc(1) 归档生成 PCP 存档,请运行:

    # sadf -l -O pcparchive=/tmp/recording -2
  • 要显示 PCP 存档中从 sadc(1) 归档生成的指标列表,请运行:

    $ pminfo --archive /tmp/recording
    Disk.dev.avactive
    Disk.dev.read
    Disk.dev.write
    Disk.dev.blkread
    [...]
  • 显示 sadc(1) 归档生成的 PCP 存档和主机名的时间范围

    $ pmdumplog --label /tmp/recording
    Log Label (Log Format Version 2)
    Performance metrics from host shard
            commencing Tue Jul 20 00:10:30.642477 2021
            ending     Wed Jul 21 00:10:30.222176 2021
  • 然后,您可以使用 PCP 命令分析 sadc(1) 归档生成的 PCP 存档,例如:

    $ pmchart --archive /tmp/recording

新的 PCP PMDA - pmdabpf

RHEL 9 提供了 pcp-pmda-bpf 软件包,该软件包提供 pmdabpf Performance Co-Pilot(PCP)性能指标域代理(PMDA)。

pmdabpf PMDA 使用 BPF CO-RE (Compile Once - Run Everywhere)从 eBPF 程序中提取实时性能数据,即 libbpfBTF