IO和文件系统性能分析工具
以下内容来自于RHEL 官方文档。以下工具可以用来分析磁盘 IO 和文件系统性能瓶颈。
分析方法见 《性能分析方法-《性能之巅》笔记》,USE 法必须要使用相关性能分析工具。
影响 IO 和文件系统性能的主要因素:
数据写入或读取特征
顺序或随机
buffered 或 Direct IO
数据与底层 geometry 保持一致
块大小
文件系统大小
日志大小和位置
记录访问时间
确保数据可靠性
预抓取数据
预分配磁盘空间
文件碎片
资源争用
vmstat
vmstat
工具报告整个系统的进程、内存、分页、块 I/O、中断和 CPU 活动。它可帮助管理员确定 I/O 子系统是否负责任何性能问题。如果使用 vmstat 进行分析显示,I/O 子系统负责降低性能,管理员可以使用 iostat 工具来确定负责的 I/O 设备。
常用命令:
vmstat 1
每1秒采集一次。
# vmstat 1
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----r b swpd free buff cache si so bi bo in cs us sy id wa st0 0 0 14492940 93516 1050928 0 0 0 0 0 2 0 0 100 0 00 0 0 14492940 93516 1050928 0 0 0 0 7 40 0 0 100 0 00 0 0 14492940 93516 1050928 0 0 0 0 4 36 0 0 100 0 0
vmstat 1 -t
每1秒采集一次,并打印时间戳。
# vmstat 1 -t
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- -----timestamp-----r b swpd free buff cache si so bi bo in cs us sy id wa st CST0 0 0 14495244 93516 1050928 0 0 0 0 0 2 0 0 100 0 0 2023-08-17 17:14:350 0 0 14495244 93516 1050928 0 0 0 0 4 36 0 0 100 0 0 2023-08-17 17:14:360 0 0 14495244 93516 1050928 0 0 0 0 5 36 0 0 100 0 0 2023-08-17 17:14:370 0 0 14495244 93516 1050928 0 0 0 0 15 76 0 0 100 0 0 2023-08-17 17:14:380 0 0 14495244 93516 1050928 0 0 0 0 5 34 0 0 100 0 0 2023-08-17 17:14:390 0 0 14495244 93516 1050928 0 0 0 24 6 40 0 0 100 0 0 2023-08-17 17:14:400 0 0 14495244 93516 1050928 0 0 0 0 5 38 0 0 100 0 0 2023-08-17 17:14:41
iostat
iostat
报告您系统中的 I/O 设备负载。它由 sysstat 软件包提供。
常用命令:
iostat -dxm 1
每1秒采集一次设备IO信息,并以MB为单位输出。
# iostat -dxm 1
Linux 3.10.0-1160.42.2.el7.x86_64 (c1-121) 08/17/2023 _x86_64_ (2 CPU)Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0.00 0.01 0.01 0.06 0.00 0.00 21.77 0.00 2.70 5.06 2.44 0.46 0.00
scd0 0.00 0.00 0.00 0.00 0.00 0.00 114.22 0.00 0.22 0.22 0.00 0.22 0.00
dm-0 0.00 0.00 0.01 0.07 0.00 0.00 19.87 0.00 2.77 5.94 2.50 0.44 0.00
dm-1 0.00 0.00 0.00 0.00 0.00 0.00 50.96 0.00 1.01 1.01 0.00 0.91 0.00Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
scd0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
dm-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
dm-1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
scd0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
dm-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
dm-1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
blktrace
blktrace
提供有关 I/O 子系统花费时间的详细信息。
blkparse
读取来自 blktrace 的原始输出,并生成由 blktrace 记录的输入和输出操作的人类可读摘要。
btt
分析 blktrace 输出并显示 I/O 堆栈各个区域所花费的时间,从而更轻松地发现 I/O 子系统中的瓶颈。该实用程序作为 blktrace 软件包的一部分提供。
使用方法:
blktrace /dev/sdb
blkparse -i sdb -d sdb.bin >>sdb.txt
btt -i sdb.bin
bpftrace
BPF Compiler Collection(BCC)是一个库,可帮助创建扩展的 Berkeley Packet Filter(eBPF)程序。eBPF 程序在事件中触发,如磁盘 I/O、TCP 连接和进程创建。BCC 工具安装在 /usr/share/bcc/tools/ 目录中。以下 bcc-tools 可帮助分析性能:
biolatency
总结了块设备 I/O(磁盘 I/O)中延迟的问题。这允许研究发行版,包括用于设备缓存命中以及缓存未命中的两种模式,以及延迟延迟。biosnoop
是基本的块 I/O 追踪工具,用于显示每个 I/O 事件以及发出的进程 ID,以及 I/O 延迟。使用这个工具,您可以调查磁盘 I/O 性能问题。biotop
用于内核中的块 i/o 操作。filelife
工具跟踪 stat() 系统调用。fileslower
跟踪文件同步的读写速度比较慢。 filetop 按进程显示文件读取和写入。ext4slower
、nfsslower
和xfsslower
是显示文件系统操作比特定阈值慢的工具,默认值为 10ms。
相关介绍见《bcc-tools Linux运维中的要你命3000》
IO和文件系统性能分析工具相关推荐
- sar 找出系统瓶颈的利器 目前Linux上最为全面的系统性能分析工具之一 直接 sar -dur 1 30 即可看内存 CPU和IO占用...
12. sar 找出系统瓶颈的利器 sar是System Activity Reporter(系统活动情况报告)的缩写.sar工具将对系统当前的状态进行取样,然后通过计算数据和比例来表达系统的当前运行 ...
- 利用shell脚本写一个系统性能分析工具
项目实战1.系统性能分析 1.利用select循环实现系统工具箱 select格式和for格式一致,但是select 变量名 in xxx xxx都将打印成菜单 #!/bin/bash PS3=&qu ...
- Linux 实操 —— Linux 系统性能分析
引言 最近配合解决压测(性能测试)方面的问题,了解到了一些可以监控 Linux 系统性能指标,如CPU.IO.内存等的工具. 此篇博客主要讲解 Linux 系统监控的一些重点内容以及 sar 命令的使 ...
- 服务器文件的备份工具,文件服务器备份工具
文件服务器备份工具 内容精选 换一换 建议不要在分析任务执行过程中卸载,否则可能出现异常.没有正在运行中的任务.配置参数后单击"检测连接".若工具提示连接检测失败,可根据提示修改参 ...
- Android/Linux系统性能分析及工具
1. CPU 1.1 CPU架构 CPU推动了所有软件的运行,因此通常是系统性能分析的首要目标.现代系统一般有多颗CPU,通过内核调度器共享给所有运行软件.当需求的CPU资源超过了系统力所能及的范围时 ...
- Web应用性能分析工具—HAR文件
Web应用性能分析工具-HAR文件 来源 https://raynorli.com/2018/06/11/web-performance-analysis-har-file/ 客户经常有的一个问题就是 ...
- 系统性能分析从入门到进阶
简介:本文以系统为中心, 结合日常工作和用例, 由浅入深地介绍了性能分析的一些方法和体会, 希望对想了解系统性能分析的同学有所帮助. 作者 | 勿非 来源 | 阿里技术公众号 本文以系统为中心, 结合 ...
- SAP 系统性能分析 Tcode
原文转载 http://blog.chinaunix.net/uid-20607558-id-1916144.html 感谢原作者的总结及归纳. /nSMLT language management ...
- spring boot 文件上传工具类(bug 已修改)
以前的文件上传都是之前前辈写的,现在自己来写一个,大家可以看看,有什么问题可以在评论中提出来. 写的这个文件上传是在spring boot 2.0中测试的,测试了,可以正常上传,下面贴代码 第一步:引 ...
- java中文件操作的工具类
代码: package com.lky.pojo;import java.io.BufferedReader; import java.io.BufferedWriter; import java.i ...
最新文章
- 高性能IO设计中的Reactor模式与Proactor模式
- 新浪股票接口AndroidSDK
- Android下发布正式包注意事项
- java中常见的几种内部类,你会几个?(未完)
- php 生成验证码干扰元素,PHP生成指定位数验证码与可控干扰元素第二篇
- 爬山法实现 八皇后问题 (Python 实现)
- Bootstrap CSS 编码规范之不要使用 @import
- 关于svn的安装配置开启服务过程和 eclipse安装SVN插件的方法
- GIF 太大?用 GIFSicle
- 谁在使用我的网站——用户行为分析
- 【Linux】VMware虚拟机中如何配置静态IP
- easyui学习笔记3—在展开行内的增删改操作
- 网易教程python_麻瓜编程Python Web 开发工程师微专业基础教程 - 网易云课堂
- 2020年第六届 美亚杯电子取证 团体赛 wp
- Python网络爬虫--项目实战--scrapy爬取贝壳网
- 网页编程基础第一章知识点总结——Web基础知识
- 关于AP3211KTR-G1
- 什么是漏洞?最全的漏洞分类!
- CentOS 6.5安装Nvidia显卡驱动
- VPP DPDK,不是翻墙!!
热门文章
- Linux:openssl创建CA及颁发证书
- AAC 高质量编码 (ffmpeg) aac-he,aac-he-v2
- (更新时间)2021年3月28日 python基础知识(深拷贝和浅拷贝)
- python 从方差/协方差到协方差矩阵
- 苹果手机可以做到应用分身双开?如何在iPhone上做到同时登陆呢?
- PBOOTCMS城市分站分地区插件 可自定义SEO优化+添加地区 支持3.2/3.16/3.1.4
- PTA—包装机(队列)
- v$open_cursor与session_cached_cursors
- 前端工程师--系统学习文档
- IT面试:三十六计之(5)