性能分析命令2
top
vmstat
mpstat
pidstat
netstat
iostat ----监控 磁盘io的情况
iostat 显示设备,分区和网络文件系统的CPU统计信息和输入/输出统计信息
- 重点的参数
- -c 显示CPU使用率报告
- -d 显示设备使用率报告
- -k 以每秒千字节显示统计报告
- -m 以每秒兆字节显示统计报告
- -x 显示扩展统计信息
- Device:
- rrqm/s
- wrqm/s 写磁盘队列数量
- r/s w/s 每秒的读\写的请求次数
- rMB/s wMB/s 每秒读\写磁盘的大小
- avgrq-sz 平均请求磁盘扇区数
- avgqu-sz 等待队列的大小
- await r_await w_await 等待
- svctm 请求用的时间
- %util 至少有一个活跃的 读写操作的时间占比
在项目的服务器中, 应用服务器,一般追求 计算能力, 我期望的是 cpu、内存性能要好。
但是,数据库服务器,追求的是稳定,是磁盘读写数据的速度 ----数据库要求 磁盘的性能要好。
- 补充知识:
- linux的磁盘,有两种 sd , hd
- sd盘===机械硬盘, 虚拟出来的磁盘,一般都是 sd盘; hd 固态硬盘
- 后面有字母, 字母代表第几个硬盘 sda 第1个机械硬盘 sdc 第三个机械硬盘
- 再后面的数字,代表 第几个分区 sda1 第1个机械硬盘的第1个分区, sda2 第1个硬盘的第2个分区
dstat
是一个用例替换vmstat、iostat等命令的工具,功能比较全,有彩色的界面
安装: yum install dstat -y
cpu的性能分析
CPU: 中央处理器(Central Processing Unit)
核心数量: cpu一般都是多核
架构: x86 powerpc arm
频率:GHz ----个人电脑 一般是 低于3GHz 这个数值越大,说明时钟就越短
- cpu的结构: 运算器、控制器、寄存器、时钟
- 运算器\运算单元: 计算
- 控制器\控制单元: 把内存的指令、数据读入寄存器,控制计算机
- 寄存器\存储单元:暂存指令、数据、地址
- 内存:与CPU沟通的桥梁;存cpu的运算数据;硬盘、外存数据
cpu的内核、线程、架构
- 查看cpu命令
- top 1
- lscpu
- cat /proc/cpuinfo