温馨提示×

Ubuntu如何进行性能测试

小樊
45
2025-12-29 17:06:50
栏目: 智能运维

Ubuntu性能测试实操指南

一 测试准备与通用步骤

  • 选择场景:明确要评估的是CPU、内存、磁盘/文件系统、网络中的哪一项或多项。
  • 准备环境:在非生产环境进行,尽量关闭不必要的应用与服务,避免后台任务干扰。
  • 安装工具:优先使用apt安装常见基准与监控工具。
  • 基线监控:配合htop、dstat、iostat、sar、glances等实时或历史监控,记录测试前后资源利用。
  • 运行测试:按工具说明设置并发、块大小、运行时长等参数,保持条件一致以便复测对比。
  • 结果分析:关注吞吐(MB/s、IOPS)、延迟(ms)、CPU利用率、I/O 等待等关键指标,并与历史或规格基线对比。
  • 复测与持续化:固定时间窗口复测,必要时设置定时任务做长期跟踪。

二 CPU与内存测试

  • CPU
    • sysbench(通用CPU基准):
      • 命令:sysbench cpu --threads 4 --time 60 run(4线程、运行60秒)
    • UnixBench(综合CPU/内存基准):适合对比不同系统或内核版本的整体算力。
    • SuperPI(单线程浮点计算稳定性):适合验证单核计算与稳定性。
    • perf(热点与硬件事件剖析):
      • 统计事件:sudo perf stat -e cache-misses,instructions ./your_app
      • 采样回溯:sudo perf record -g ./your_app && sudo perf report
  • 内存
    • mbw(内存带宽):
      • 命令:mbw -q -n 10 245760(运行10次,每次约240GB,关注AVG三项带宽)
    • memtester(内存稳定性/压力):
      • 命令:memtester 240G 10(先预留系统可用内存,避免OOM)
    • sysbench(内存吞吐与延迟):
      • 命令:sysbench memory --memory-block-size=1M --memory-total-size=10G run
    • lmbench(综合内存/进程/网络等微基准套件):make results 生成 summary 报告。

三 磁盘与文件系统测试

  • dd(快速顺序吞吐,含缓存影响说明)
    • 顺序写:dd if=/dev/zero of=testfile bs=1M count=512 conv=fdatasync(conv=fdatasync 尽量落盘)
    • 清缓存后顺序读:echo 3 | sudo tee /proc/sys/vm/drop_caches 后执行 dd if=testfile of=/dev/null bs=1M
  • hdparm(设备原始顺序读)
    • 命令:sudo hdparm -t /dev/sda(查看缓存外读取带宽)
  • fio(灵活I/O,覆盖随机/顺序、不同队列深度)
    • 随机读:fio --name=randread --ioengine=libaio --direct=1 --bs=4k --size=1G --numjobs=1 --runtime=60 --time_based --rw=randread --group_reporting
    • 随机写:fio --name=randwrite --ioengine=libaio --direct=1 --bs=4k --size=1G --numjobs=1 --runtime=60 --time_based --rw=randwrite --group_reporting
    • 顺序读:fio --name=seqread --ioengine=libaio --direct=1 --bs=1M --size=1G --numjobs=1 --runtime=60 --time_based --rw=read --group_reporting
  • bonnie++(经典文件系统/目录操作基准):bonnie++ -d /your/test/dir -r 1024 -c 100(按实际目录与并发配置)

四 网络性能测试

  • iperf3(吞吐与时延,推荐)
    • 服务端:iperf3 -s
    • 客户端:iperf3 -c <server_ip> -t 30 -P 4(30秒、4并发流)
  • 辅助监控:在测试主机配合 dstat -nsar -n DEV 1ifstat 观察网卡吞吐与丢包。

五 虚拟机与显卡测试要点

  • 虚拟机
    • 在宿主机与来宾端同时监控:htop、vmstat、iostat、sar、glances、Netdata,对比资源争用与调度影响。
    • 尽量固定vCPU绑定、关闭宿主机高负载任务,保证网络/存储路径一致(如 virtio 驱动、直通磁盘/NIC)。
  • 显卡
    • 基础3D帧率:glxgears(注意关闭垂直同步以反映真实帧率)
    • 专业压力与基准:UNIGINE Valley / Superposition(更贴近游戏/渲染负载)。

0