1. 磁盘基本认识
磁盘是用于存储数据的,相比于内存的优点是可以大量存储数据,可持久化;缺点是读写速度慢
2.程序的使用场景
1).日志文件--长期使用
2).附件上传存储,比如头像、图片、视频等
3).数据库系统--表数据读写
4). 程序本身的代码,配置文件都是在磁盘存放起来,需要加载到内存
3.检查磁盘读写速度
1).通过df命令找到要测试的磁盘编号,如
2).dd 命令工具测试读写速度
dd命令能粗略测试硬盘IO性能,但是需要注意,执行dd命令测试硬盘IO性能,对硬盘的损害很大,不建议多次或长时间尝试,一般来说,同一型号的硬盘,测试一块/批 就可以
测试-读取速度:time dd if=/dev/sda1 of=/dev/null bs=8k count=100000
参数含义:
time有计时作用;dd用于复制-数据从磁盘读出来,放到一个不存在空间;从if读出;写到of
测试 -写速度:time dd if=/dev/zero of=/mnt/vda1 bs=8k count=100000 oflag=dsync
(oflag=dsync 每次都要持久化到硬盘, 因为写数据的时候,会经过内存,有可能被内存 暂存了)
![](/i/l/?n=23&i=blog/2629818/202303/2629818-20230302232410210-1063670831.png)
4. 磁盘监控工具 iotop
1). 安装及运行
ubantu下使用安装命令:
sudo apt-get install iotop
安装成功后在终端运行iotop,效果如图:
说明:如果想看正在产生I/O的进程,可以加参数iotop -o,或者在运行过程中按o键。效果如下:
![](/i/l/?n=23&i=blog/2629818/202303/2629818-20230302232438997-55813837.png)
2).瓶颈分析及优化建议
例如:
web网站 -- 图片过大,占用大量的磁盘 I/O,同时也会占用大量的网络带宽;
日志 -- 控制详细程度:日志越详细,磁盘占用越大
磁盘空间是有限的,监控 磁盘空间的占用增长情况
目前的系统,主要还是数据库系统用磁盘比较多,后续再单独分析数据库性能测试及瓶颈分析
标签:瓶颈,dd,iotop,--,调优,测试,磁盘,硬盘 From: https://www.cnblogs.com/kxtomato/p/17174034.html