Redian新闻
>
Linux 性能基准测试工具及测试方法

Linux 性能基准测试工具及测试方法

公众号新闻
功能上线前,基准测试的重要性,这篇文章着重介绍一下「Linux 性能基准测试工具及测试方法」

还是老规矩,先请性能领域的大师布伦丹·格雷格(Brendan Gregg)登场 👏👏👏

linux_benchmarking_tools

整理测试指标如下图

测试环境说明:CentOS7, 4c8g

CPU

Super_Pi 是一种用于计算圆周率π的程序,通常用于测试计算机性能和稳定性。它的主要用途是测量系统的单线程性能,因为它是一个单线程应用程序。

# 安装 bc
yum -y install bc
# 测试
time echo "scale=5000; 4*a(1)" | bc -l -q &>1
# 结果分析,看 real 即可,时间越短,性能越好

sysbench 素数计算

# 安装 sysbench
yum -y install sysbench
# 测试方法: 启动4个线程计算10000事件所花的时间
sysbench cpu --threads=4 --events=10000 --time=0  run
# 结果分析,看 total time 即可,时间越短,性能越好

内存

内存带宽(stream)

Stream测试是内存测试中业界公认的内存带宽性能测试基准工具

# 编译安装 STREAM
yum -y install gcc gcc-gfortran
git clone https://github.com/jeffhammond/STREAM.git
cd STREAM/
make
# 指定线程数
export OMP_NUM_THREADS=1
./stream_c.exe
# 结果分析,看 Copy、Scale、Add、Triad,数值越大,性能越好

磁盘 IO

⚠️  测试时请准备裸的数据盘,测试完成后请重新格式化磁盘

测试方法和结果分析和文件 IO 测试相同,--filename  改为具体的数据盘即可,比如/dev/sda ,这里不再赘述

文件 IO

磁盘读、写iops

iops:磁盘的每秒读写次数,这个是随机读写考察的重点

# 安装
yum -y install fio
# 测试随机读 IOPS
fio --ioengine=libaio --bs=4k --direct=1 --thread --time_based --rw=randread --filename=/home/randread.txt --runtime=60 --numjobs=1 --iodepth=1 --group_reporting --name=randread-dep1 --size=1g
# 测试随机写 IOPS
fio --ioengine=libaio --bs=4k --direct=1 --thread --time_based --rw=randwrite --filename=/home/randwrite.txt --runtime=60 --numjobs=1 --iodepth=1 --group_reporting --name=randread-dep1 --size=1g
# 结果分析,看 IOPS 即可,值越大,性能越好

磁盘读、写带宽

bw:磁盘的吞吐量,这个是顺序读写考察的重点

# 测试顺序读
fio --ioengine=libaio --bs=4k --direct=1 --thread --time_based --rw=read --filename=/home/read.txt --runtime=60 --numjobs=1 --iodepth=1 --group_reporting --name=randread-dep1 --size=1g
# 测试顺序写
fio --ioengine=libaio --bs=4k --direct=1 --thread --time_based --rw=write --filename=/home/write.txt --runtime=60 --numjobs=1 --iodepth=1 --group_reporting --name=randread-dep1 --size=1g
# 结果分析,看 BW 即可,值越大,性能越好

⚠️  因地制宜,灵活选取。在基准测试时,一定要注意根据应用程序 I/O 的特点,来具体评估指标。

比如 etcd  磁盘性能衡量指标为:WAL 文件系统调用 fsync 的延迟分布,当 99% 样本的同步时间小于 10 毫秒就可以认为存储性能能够满足 etcd 的性能要求。

mkdir etcd-bench fio --rw=write --ioengine=sync --fdatasync=1 --directory=etcd-bench --size=22m --bs=2300 --name=etcd-bench

网络

传输速率(pps)

# server & client 编译安装 netserver
wget -c "https://codeload.github.com/HewlettPackard/netperf/tar.gz/netperf-2.5.0" -O netperf-2.5.0.tar.gz
yum -y install gcc cc 
tar zxvf netperf-2.5.0.tar.gz
cd netperf-netperf-2.5.0
./configure && make && make install

# server 端启动 netserver
netserver
# 监控数据
sar -n DEV 5

# client 端测试
netperf -t UDP_STREAM -H <server ip> -l 100 -- -m 64 -R 1 &
# 监控数据
sar -n DEV 5
# 结果分析,看 rxpck/s,txpck/s 值即可,值越大,性能越好

网络带宽

# server 端启动 netserver
netserver
# 监控数据
sar -n DEV 5
 
# client 端测试
netperf -t TCP_STREAM -H <server ip> -l 100 -- -m 1500 -R 1 &
# 监控数据
sar -n DEV 5
# 结果分析,看 rxkB/s,txkB/s 值即可,值越大,性能越好

Nginx

# 安装 ab 工具
yum -y install httpd-tools

# 编译安装 wrk
git clone https://github.com/wg/wrk.git
make
cp wrk /usr/local/bin/
 
# 测试,-c表示并发连接数1000,-t表示线程数为2,-d 表示测试时间
wrk -t12 -c400 -d30s <URL>
# 结果分析,Requests/sec 为 QPS

自动化压测脚本

压测需要大量采样,并实时观察

git clone https://github.com/clay-wangzhi/bench.git
bash bench.sh

更多测试方法,详见 https://github.com/clay-wangzhi/bench


推荐阅读  点击标题可跳转

1、【C语言】内联函数总结

2、全网最全网络基础思维导图(38张)

3、性能优化基础:深入理解Linux网络

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
Ceph Reef 使用加密后的性能测试搜狗关停硬件产品;高危 黑客向Linux生态投毒;极氪高管质疑第三方续航测试GPT-4单项仅得7.1分,揭露大模型代码能力三大短板,最新基准测试来了新测试基准发布,最强开源Llama 3尴尬了Linux 系统性能优化:七个实战经验墨大联合新华社等发布基准框架,全面评估大模型的新闻写作能力和安全依从性39 项 Linux 基准测试:英伟达数据中心 CPU Grace 媲美 Threadripper 7000今日arXiv最热NLP大模型论文:华东师大发布对话级大模型幻觉评价基准DiaHaluPsychologist Sadia KhanLinux 运维工程师频繁使用的 10 款工具年轻人忙碌且贫穷;未婚与生育与传承没必然联系比LoRA还快50%的微调方法来了!一张3090性能超越全参调优,UIUC联合LMFlow团队提出LISALinux中文件MD5校验方法零长度数组没有意义?那是你不懂!看Linux内核中怎么高级玩它?linux磁盘管理LVM的使用财经早参丨国务院重磅!事关国有金融资本;贾跃亭:早日还债回国是我最大梦想;阿根廷央行下调基准利率至60%BCG工具及解决方案 | Growth AI,最大限度发掘消费品企业的增长潜力RBC:温哥华房市陷入“全面危机”!房价继续涨,基准价直逼120万注意!2024年卫生资格考试题型及考试方式!Linux之父 Linus Torvalds 在技术上可谓是从不私藏,也绝不闭门造车Linux 圈 “ 地震 ” :主流压缩工具 XZ 被曝后门,红帽、Debian 等发公告要求紧急停用ICLR 2024 | RLHF有了通用平台和基准,天大开源,专攻现实决策场景AMD 的努力以失败告终,无法为 Linux 开源驱动提供 HDMI 2.1+ 功能【工具包】新《公司法》系列 6大类65份PDF工具(周更)卖房要价涨幅创新高. 英央行将维持基准利率. 凯特或复活节周日回归. 伦敦人口创新高财经早参丨美联储宣布维持基准利率不变,鲍威尔发声;梅大高速塌方致24人死亡;4月新能源车企“成绩单”出炉ISSTA 2024 | 北大提出CoderUJB,面向代码大模型的可执行多任务代码评估基准揭示真实能力与局限今日arXiv最热NLP大模型论文:天津大学发布大模型数学能力细粒度评价基准FineMath《永远是一家》&《万物温柔相依》【工具包】周更-新《公司法》系列——6大类61份PDF工具带你走向linux企业防火墙【工具包】新《公司法》系列 6大类84份PDF工具(周更)96、长篇家庭伦理小说《嫁接》第二十六章 暴风骤雨(2)微小说 城门失火国家高性能医疗器械创新中心:高性能医疗器械2023年度发展报告
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。