在 Linux 中,可以使用多种命令和工具来测试网络速度(带宽)或磁盘 I/O 速度。以下是常用的测速方法,想知道Linux下如何快速测试网络和磁盘性能?这几种命令你一定要掌握!,Linux测速神器,如何一键测试网络和磁盘性能?
在Linux系统中,测试网络速度和磁盘I/O性能是常见的需求,对于网络测速,可使用iperf3
进行点对点带宽测试,或通过speedtest-cli
直接获取公网上下行速率,若需实时监控,nload
和iftop
能直观显示流量动态,磁盘性能方面,dd
命令适合简单读写测试(如dd if=/dev/zero of=testfile bs=1G count=1
),而专业工具fio
则支持多线程、混合读写等复杂场景的基准测试,hdparm -Tt /dev/sda
可快速评估磁盘缓存与缓冲性能,掌握这些命令(如iperf3
、fio
等)能高效定位系统瓶颈,建议根据实际需求选择工具,注意测试时避免影响生产环境数据。
网络测速工具
speedtest-cli
(互联网带宽测试)
安装方法(需要 Python 环境):
sudo apt install speedtest-cli # Debian/Ubuntu 系统 sudo yum install speedtest-cli # CentOS/RHEL 系统
基本使用:
speedtest-cli
常用参数:
speedtest-cli --simple # 显示简洁的测试结果(仅下载、上传和延迟) speedtest-cli --share # 生成可分享的测试结果链接 speedtest-cli --list # 列出所有可用的测试服务器 speedtest-cli --server <ID> # 指定服务器ID进行测试
注意事项:
- 测试结果受本地网络环境和服务器负载影响
- 建议在不同时段多次测试取平均值
- 可通过
--json
参数获取JSON格式的详细结果
iperf3
(局域网带宽测试)
安装方法:
sudo apt install iperf3 # Debian/Ubuntu sudo yum install iperf3 # CentOS/RHEL
使用方法:
- 服务端模式(接收端):
iperf3 -s
- 客户端模式(发送端):
iperf3 -c <服务器IP> -t 20 # 测试持续20秒
高级参数:
iperf3 -c <IP> -R # 反向测试(服务器发送,客户端接收) iperf3 -c <IP> -P 4 # 使用4个并行连接 iperf3 -c <IP> -u -b 100M # UDP测试,带宽限制100Mbps iperf3 -c <IP> --bidir # 同时测试双向带宽
wget
/curl
(实际下载速度测试)
通过下载大文件测试实际下载速度:
# 使用wget测试 wget -O /dev/null http://speedtest.tele2.net/10GB.zip # 使用curl测试 curl -o /dev/null http://speedtest.tele2.net/10GB.zip
参数说明:
-O /dev/null
或-o /dev/null
表示不保存下载文件- 可添加
--progress=dot:giga
参数显示下载进度 - 使用
-4
或-6
强制指定IPv4/IPv6协议
替代测试源:
- http://cachefly.cachefly.net/10GB.test
- http://speedtest.ftp.otenet.gr/files/test10Gb.db
磁盘 I/O 性能测试
dd
(基本读写测试)
写入速度测试:
dd if=/dev/zero of=./testfile bs=1G count=1 oflag=direct
读取速度测试:
dd if=./testfile of=/dev/null bs=1G count=1 iflag=direct
注意事项:
dd
测试结果受缓存影响,添加oflag=direct
/iflag=direct
可绕过缓存- 测试完成后记得删除测试文件:
rm -f testfile
- 对于更精确的测试,建议使用
fio
工具 - 测试文件大小应大于系统内存以避免缓存影响
hdparm
(硬盘读取性能测试)
安装方法:
sudo apt install hdparm # Debian/Ubuntu
测试命令:
sudo hdparm -Tt /dev/sda # 替换为你的磁盘设备
输出解释:
-T
:测试缓存读取速度-t
:测试设备读取速度- 结果以 MB/s 为单位显示
- 添加
--direct
参数可绕过缓冲区缓存
fio
(专业磁盘基准测试)
安装方法:
sudo apt install fio # Debian/Ubuntu
常用测试场景:
-
随机读取测试:
fio --name=randread --ioengine=libaio --rw=randread --bs=4k \ --numjobs=4 --size=1G --runtime=60 --time_based --group_reporting
-
顺序写入测试:
fio --name=seqwrite --ioengine=libaio --rw=write --bs=1M \ --numjobs=1 --size=2G --runtime=60 --time_based --group_reporting
-
混合读写测试:
fio --name=mixed --ioengine=libaio --rw=randrw --rwmixread=70 --bs=4k \ --numjobs=4 --size=1G --runtime=120 --time_based --group_reporting
高级参数:
--iodepth=32
:设置I/O队列深度--filename=/dev/sdb
:直接测试裸设备--output=result.txt
:将结果输出到文件
实时监控工具
nethogs
(按进程监控网络带宽)
安装方法:
sudo apt install nethogs
使用方法:
sudo nethogs
功能特点:
- 实时显示每个进程的网络带宽使用情况
- 可按流量排序
- 支持指定网络接口:
sudo nethogs eth0
- 支持交互式操作:按
s
按流量排序,按m
切换显示单位
iftop
(网络流量监控)
安装方法:
sudo apt install iftop
使用方法:
sudo iftop
常用参数:
iftop -n # 不解析主机名 iftop -N # 不解析端口服务名 iftop -i eth0 # 指定网络接口 iftop -F 192.168.1.0/24 # 监控特定子网 iftop -B # 以字节为单位显示流量
交互命令:
P
:暂停/继续显示S
:显示源端口D
:显示目标端口t
:切换显示模式
工具选择指南
测试需求 | 推荐工具 | 适用场景 |
---|---|---|
互联网带宽测试 | speedtest-cli |
测试互联网连接的上传/下载速度 |
局域网带宽测试 | iperf3 |
测试内网设备间的传输带宽 |
实际下载速度测试 | wget /curl |
测试真实下载性能 |
基本磁盘读写测试 | dd |
快速测试顺序读写速度 |
专业磁盘性能测试 | fio |
全面评估磁盘I/O性能 |
硬盘读取速度测试 | hdparm |
测试硬盘缓存和实际读取速度 |
按进程网络监控 | nethogs |
找出占用带宽的进程 |
实时流量监控 | iftop |
监控网络接口流量情况 |
测试注意事项
-
网络测试:
- 确保测试时没有其他大流量应用运行
- 对于局域网测试,两端设备性能应相当
- 多次测试取平均值更准确
- 注意防火墙设置可能影响测试结果
-
磁盘测试:
- 测试前确保有足够磁盘空间
- 避免在生产环境直接测试
- 注意测试文件的安全删除
- SSD测试应考虑写入放大和磨损均衡
-
权限要求:
- 多数性能测试工具需要 root 权限
- 谨慎执行写入测试,避免数据丢失
- 生产环境测试应在业务低峰期进行
-
结果解读:
- 结合多个工具的结果综合分析
- 注意区分理论速度和实际性能
- 考虑硬件限制和系统配置的影响
通过合理选择这些工具,您可以全面评估 Linux 系统的网络和存储性能,为系统优化、容量规划和故障排查提供科学依据,建议定期进行性能测试并建立基准数据,以便及时发现和解决潜在问题。
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理!
部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!
图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!