第 20 章 性能
下面的章节包含对 RHEL 8 和 RHEL 9 之间性能的最显著的更改。
20.1. 性能的显著变化 复制链接链接已复制到粘贴板!
Performance Co-Pilot rebase 到版本 6.0
从 RHEL 9.2 开始,Performance Co-Pilot (PCP)已更新至版本 6.0。主要改进包括:
版本 3 PCP 归档支持:
这包括对实例域 change-deltas、Y2038-safe 时间戳、纳秒精度时间戳、任意时区支持以及用于大型 (b超过 2GB)单个卷的 64 位文件偏移的支持。
此功能目前通过
/etc/pcp.conf文件中的PCP_ARCHIVE_VERSION设置进行选择。版本 2 存档保留默认值。
在整个 PCP 中只使用 OpenSSL。Mozilla NSS/NSPR 使用已被丢弃:
这会影响
libpcp、pmAPI客户端和PMCD加密。现在,这些元素已配置,并与pmproxyHTTPS 支持和redis-server一致,它们都使用 OpenSSL。新的纳秒精度时间戳
PMAPI调用使用时间戳的PCP库接口。这些都是可选的,为现有工具保留完全向后兼容。
以下工具和服务已更新:
pcp2elasticsearch- 实现了身份验证支持。
pcp-dstat-
实现了对
top-alike插件的支持。 pcp-htop- 更新至最新的稳定上游版本。
pmseries-
添加了
sum,avg,stdev,nth_percentile,max_inst,max_sample,min_inst和min_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 程序中提取实时性能数据,即 libbpf 和 BTF。