Hello World - 性能测试
type: channel
link: https://blog.jerichos.site/index.php/tag/%E6%80%A7%E8%83%BD%E6%B5%8B%E8%AF%95/
items: 性能压测整理

性能压测整理
type: item
date: 2022-11-29T23:51:00+08:00
description: 1 测试指标根据服务实际情况选择需要评估指标进行衡量1.1 CPU性能1.1.1 CPU 使用率用户CPU使用率系统CPU使用率iowait CPU使用率软中断和硬中断的 CPU 使用率数据数据数据数据数据数据数据数据{lamp/}用户 CPU 使用率，包括用户态 CPU 使用率（user）和低优先级用户态 CPU 使用率（nice），表示 CPU 在用户态运行的时间百分比。用户 CPU 使用率高，通常说明有应用程序比较繁忙。系统 CPU 使用率，表示 CPU 在内核态运行的时间百分比（不包括中断）。系统 CPU 使用率高，说明内核比较繁忙。等待 I/O 的 CPU 使用率，通常也称为 iowait，表示等待 I/O 的时间百分比。iowait 高，通常说明系统与硬件设备的 I/O 交互时间比较长。软中断和硬中断的 CPU 使用率，分别表示内核调用软中断处理程序、硬中断处理程序的时间百分比。它们的使用率高，通常说明系统发生了大量的中断。统计数据的方式top用户CPU使用率 = us + ni系统CPU使用率 = syiowait CPU使用率 = wa软中断和硬中断的 CPU 使用率 = si + hi1.1.2 平均负载指单位时间内，系统处于可运行状态和不可中断状态的平均进程数，也就是平均活跃进程数1min5min15min数据数据数据数据数据数据衡量负载的标准需要根据当前的cpu数来进行比较，需要先计算出当前服务所在服务器上的cpu数来衡量grep 'model name' /proc/cpuinfo | wc -l例：假设我们在一个单 CPU 系统上看到平均负载为 1.73，0.60，7.98，那么说明在过去 1 分钟内，系统有 73% 的超载，而在 15 分钟内，有 698% 的超载，从整体趋势来看，系统的负载在降低(超载量=平均负载- CPU数量)如果 1 分钟、5 分钟、15 分钟的三个值基本相同，或者相差不大，那就说明系统负载很平稳。如果 1 分钟的值远小于 15 分钟的值，就说明系统最近 1 分钟的负载在减少，而过去 15 分钟内却有很大的负载。如果 1 分钟的值远大于 15 分钟的值，就说明最近 1 分钟的负载在增加，这种增加有可能只是临时性的，也有可能还会持续增加下去，所以就需要持续观察。一旦 1 分钟的平均负载接近或超过了 CPU 的个数，就意味着系统正在发生过载的问题，这时就得分析调查是哪里导致的问题，并要想办法优化了统计数据的方式uptime //或者top后面三个数字，依次则是过去 1 分钟、5 分钟、15 分钟的平均负载1.2 内存性能1.2.1 系统内存性能totalusedfreesharedbuff/cacheavailable表格表格表格表格表格表格表格表格表格表格表格表格total 是总内存大小used 是已使用内存的大小，包含了共享内存free 是未使用内存的大小 shared 是共享内存的大小buff/cache 是缓存和缓冲区的大小available 是新进程可用内存的大小。统计数据的方式free -h1.2.2 程序内存性能VIRTRESSHR%MEM表格表格表格表格表格表格表格表格VIRT 是进程虚拟内存的大小，只要是进程申请过的内存，即便还没有真正分配物理内存，也会计算在内。RES 是常驻内存的大小，也就是进程实际使用的物理内存大小，但不包括 Swap 和共享内存。SHR 是共享内存的大小，比如与其他进程共同使用的共享内存、加载的动态链接库以及程序的代码段等。共享内存 SHR 并不一定是共享的，比方说，程序的代码段、非共享的动态链接库，也都算在 SHR 里。当然，SHR 也包括了进程间真正共享的内存。所以在计算多个进程的内存使用时，不要把所有进程的 SHR 直接相加得出结果%MEM 是进程使用物理内存占系统总内存的百分比。统计数据的方式top1.3 网络性能1.3.1 网络层和数据链路层转发性能 在这两个网络协议层中，每秒可处理的网络包数 PPS，就是最重要的性能指标。特别是 64B 小包的处理能力，需要特别测试。测试工具推荐 pktgen所用时间网络包数量PPS吞吐量错误数表格表格表格表格表格表格表格表格表格表格1.3.2 传输层TCP/UDP 性能测试工具推荐 iperf 或者 netperfiPerf - iPerf3 and iPerf2 user documentationCare and Feeding of Netperf 2.7.X压测一段时间记录pps和吞吐率数字1表示每隔1秒输出一组数据sar -n DEV 1吞吐量PPS表格表格表格表格rxpck/s 和 txpck/s 分别是接收和发送的 PPS，单位为包 / 秒。rxkB/s 和 txkB/s 分别是…