性能分析排查思路之机器(2)

前言

本文是性能问题分析排查思路的展开内容之一,第2篇,主要分为日志1期,机器4期、环境2期共7篇系列文章,本期是第二篇,讲机器(硬件)的存储方面的分析方法和经验、最佳实践。

机器上主要有磁盘(存储)、网络、内存和CPU四大硬件模块。其中磁盘方面是故障率、瓶颈率最高的一个部件。

对于Linux环境性能问题的排查,我们首先需要看的就是磁盘的情况。

了解构成

  • 分为RAID和非RAID的情况。RAID之后的磁盘阵列情况如果不清楚,可以使用MegaCli这个神器进行查询。 查询截图:

RAID级别对应关系:

  • Primary-1, Secondary-0, RAID Level Qualifier-0 RAID 1

  • Primary-0, Secondary-0, RAID Level Qualifier-0 RAID 0

  • Primary-5, Secondary-0, RAID Level Qualifier-3 RAID 5

  • Primary-1, Secondary-3, RAID Level Qualifier-0 RAID 10

  • 没有做RAID的磁盘,可以直接使用smartctl了解磁盘的属性。 执行命令:smartctl -i /dev/sdb的主要结果:

结果关注:厂家、产品型号、容量、转速7200,SAS传输协议等。

  • 可以使用lsblk命令查看磁盘的挂载情况,以及文件系统类型。

结果可以看到多数是xfs文件系统,且能查到UUID等信息。

  • 此外,可以使用lshw查看磁盘信息。

lshw -class disk命令的输出与smart信息类似,也可以看型号、序列号和转速信息,此外可以看到逻辑设备名称。

确认空间

  • df -h 主要看下是否存在磁盘空间使用耗尽的情况!生产上许多奇怪的问题可能是磁盘写满导致的!

查看速率

  • 使用sar -dp 3 5这个命令查看实时速率。

主要关注最列一列的使用率,达到100%说明读写请求过多,具体什么负载高可以看前面几列的数据。

  • 一般磁盘使用率存在问题的话,通过实时查看读写请求情况可以了解。

检测坏盘

  • smartctl -a查看Health字段
  • badblocks 命令,不能检测太大的盘
  • 一般磁盘故障的话机器的磁盘会有具体的告警,或者日志有I/O Error。

结语

本文探讨了与磁盘和文件系统相关的各种命令及其在性能分析中的应用。这些命令不仅可以帮助我们诊断和解决磁盘与文件系统的常见问题,还能提供宝贵的性能数据,从而优化系统的整体表现。

最后,我们要强调的是,磁盘和文件系统的性能对于整个系统的运行至关重要。因此,我们应该时刻关注其健康状况,并采取必要的措施来预防潜在的问题。

相关推荐
李纲明8 小时前
WordPress 白屏或提示「出现了严重错误」:先开 WP_DEBUG 抓致命错误,再二分插件与主题
运维·php·debug·wordpress·白屏·插件冲突·devdiy
李纲明16 小时前
WordPress 定时发布不准点或备份/邮件从不跑:先分清 WP-Cron 触发与 DISABLE_WP_CRON,再查回环与系统 Cron
运维·性能优化·wordpress·定时任务·devdiy·wp-cron
Patrick在香港1 天前
一个斜杠,把毫秒变成十几秒
android·数据库·python·性能优化·正则表达式·回溯·redos
Sayai2 天前
Flink 日志解析任务性能优化实战:正则/Grok 预编译、Guava 缓存权重陷阱与 ES 写入隔离
java·大数据·性能优化·flink·实时计算
raindayinrain2 天前
c++高性能--原子操作,无锁编程,操作顺序
开发语言·c++·性能优化
洞见前行2 天前
点击图标到内容出现,你的 App 在这几秒里做了什么:Android 冷启动全链路优化实战
android·性能优化·android studio
shenlongproxy2 天前
代理IP速度测试怎么做:响应耗时分级与吞吐基准
性能优化
半杯咖啡半行码3 天前
QML进阶实战(二):异步网络、性能优化与工程化落地
网络·qt·性能优化·qml
m0_564876843 天前
GPU编程与性能优化(1)
性能优化
胖纸不争3 天前
EnergyStarZ:让 Windows 后台进程给前台让路的能效管理器(v1.2 发布)
windows·性能优化·c#·win32·ef core