存储性能瓶颈的成因、定位与排查

AIOP性能优化实战:从核心瓶颈定位到内存与OSM调优策略 在嵌入式系统与高性能网络处理领域,性能优化是提升应用效率的核心工程实践。其基本原理在于深入理解处理器架构、内存子系统与硬件加速器的协同工作机制,通过精细的资源调度与访问模式优化,释放硬件潜力。这项技术的核心价值在于,它能将有限的硅片资源压榨到极致,以满足5G网关、高端路由器等场景对高吞吐、低延迟的严苛要求。具体到应用场景,例如在基于NXP Layerscape平台开发数据平面应用时,开发者常面临**核心利用率**饱和与**内存访问**延迟两大关键挑战。针对前者,需关注指令每周期(IPC)指标,排查共享内存( 阅读详情

介绍

企业数据存储性能瓶颈常常会发生在端口,控制器和磁盘,难点在于找出引起拥塞的单元,往往需要应用多重工具以及丰富的经验来查找并解决。

本文详细阐述存储瓶颈发生最常见的四种情况,可能发生的拥塞点,需要监控的参数指标,以及部署存储系统的最佳实践。

更多信息

数据存储瓶颈的四个常见场景:

以下是储瓶颈发生最常见的四种典型情况:

1.

当多个用户同时访问某一业务应用,无论是邮件服务器,企业资源规划(ERP)系统或数据库,数据请求会累积在队列中。单个I/O的响应时间开始增长,短暂延时开始转变成为漫长的等待。

这类响应时间敏感型应用的特征是,很多随机请求,读取比写入更多,I/O较小。最好的方法是:将负载分布在多块磁盘上,否则可能造成性能瓶颈。

如果应用增加了更多用户,或应用IOPS请求增加,则可能需要在RAID组中添加更多磁盘,或数据可能需要跨越更多磁盘,在更多层级做条带化。

存储在这样的情况下往往首先被怀疑,但大多数情况下并非存储引发,原因可能在于网络、应用或服务器。

2.

带宽敏感型应用——如数据备份,视频流或安全登录,这类应用当多个用户同时访问大型文件或数据流时可能造成瓶颈。

定位这一问题存储管理员应当从备份服务器开始一路向下检查至磁盘,原因可能存在于这一通路的任何地方。

问题不一定发生在存储,可能是由于备份应用创建的方式或是磁带系统的工作方式引起的。如果瓶颈定位于存储,那么可能是由于服务I/O的磁盘数量不足,在控制器造成争用,或是阵列前端口带宽不足。

性能调优需要针对不同应用程序负载来完成。针对大型文件和流数据的调优并不适合于小型文件,反之亦然。这也就是为什么在大多数存储系统中往往做一个平衡,需要用户尝试并找出系统的折中。用户通常需要优化吞吐量或IOPS,但并不需要对两者同时优化。

3.

RAID组中的磁盘故障。特别是在RAID 5中会造成性能的下降,因为系统需要重建校验数据。相比数据读写操作,重建会对性能造成更大影响。

即便坏盘是造成故障的根源,但控制器还是可能成为瓶颈,因为在重建过程中它需要不停地服务数据。当重建完成时,性能才会恢复正常。

4.

部署了一种新的应用,而卷存在于处理繁忙邮件系统的同一磁盘。如果新的应用变得繁忙,邮件系统性能将会遭受影响。额外的流量最终会将磁盘完全覆盖。

存储瓶颈常发区域:


存储区域网络(Storage-area network, SAN)/阵列前端口


存储部署于集中化SAN环境时,需考虑服务器和SAN之间的潜在网络瓶颈。例如,运行多部虚拟机的整合服务器可能不具备支持工作负载要求的足够网络端口。添加网络端口或转移网络密集型工作负载至其他服务器可解决这一问题。如前所述,对于带宽集中型应用,需考虑NFS有多少Fiber Channel 端口, or iSCSI 端口 or Ethernet 端口,需要用户站在带宽的角度来考量整个架构。


可能发生的问题包括:

  • 如果阵列中端口数量不够,就会发生过饱和/过度使用。
  • 虚拟服务器环境下的过量预定
  • 端口间负载不均衡
  • 交换机间链路争用/流量负荷过重
  • 如某一HBA端口负载过重将导致HBA拥塞。使用虚拟机会导致问题更加严重。

存储控制器


一个标准的主动——被动或主动——主动控制器都有一个性能极限。接近这条上限取决于用户有多少块磁盘,因为每块磁盘的IOPS和吞吐量是固定的。


可能出现的问题包括:

  • 控制器I/O过饱和,使得从缓存到阵列能够处理的IOPS受到限制
  • 吞吐量“淹没“处理器
  • CPU过载/处理器功率不足
  • 性能无法跟上SSD

Cache

由于服务器内存和CPU远比机械磁盘快得多,需为磁盘添加高速内存以缓存读写数据。例如,写入磁盘的数据存储在缓存中直到磁盘能够跟上,同时磁盘中的读数据放入缓存中直到能被主机读取。Cache比磁盘快1000倍,因此将数据写入和读出Cache对性能影响巨大。智能缓存算法能够预测你需要查找的数据,你是否会对此数据频繁访问,甚至是将访问频繁的随机数据放在缓存中。


可能发生的问题包括:

  • Cache memory不足
  • Cache写入过载,引起性能降低
  • 频繁访问顺序性数据引起cache超负荷
  • Cache中需要持续不断地写入新数据,因此如果cache总是在refill,将无法从cache获益。

磁盘

磁盘瓶颈与磁盘转速有关, 慢速磁盘会引入较多延时。存储性能问题的排查首先考虑的因素就是磁盘速度,同时有多少块磁盘可进行并发读写。而另一因素是磁盘接口。采用更快的接口能够缓解磁盘瓶颈,但更重要的是在快速接口与相应更大的缓存大小以及转速之间取得平衡。同样,应避免将快速和慢速磁盘混入同一接口,因为慢速磁盘将会造成快速接口与快速磁盘的性能浪费。


可能引发的问题包括:

  • 过多应用命中磁盘
  • 磁盘数量不足以满足应用所需的IOPS或吞吐量
  • 磁盘速度过慢无法满足性能需求及支持繁重工作负荷
  • Disk group往往是classic存储架构的潜在性能瓶颈,这种结构下RAID最多配置在16块磁盘。Thin结构通常每个LUN拥有更多磁盘,从而数据分布于更多spindle,因增加的并发性而减少了成为瓶颈的可能。

需要监控的指标:

曾经一度存储厂商们强调的是IOPS和吞吐量,但现在重点逐渐转变成为响应时间。也就是说,不是数据移动的速度有多快,而在于对请求的响应速度有多快。


正常情况下,15,000 rpm Fibre Channel磁盘响应时间为4ms,SAS磁盘响应时间约为5ms至6ms,SATA为10ms,而SSD少于1ms。如果发现Fibre Channel磁盘响应时间为12ms,或SSD响应时间变成5ms,那么就说明可能产生了争用,可能芯片发生了故障。


除了响应时间,其他需要监控的指标包括:

  • 队列长度,队列中一次积累的请求数量,平均磁盘队列长度;
  • 平均I/O大小千字节数;
  • IOPS (读和写,随机和顺序,整体平均IOPS);
  • 每秒百万字节吞吐量;
  • 读写所占比例;
  • 容量(空闲,使用和保留)。

数据存储性能最佳实践:

性能调优和改进的方式有很多种,用户当然可以通过添加磁盘,端口,多核处理器,内存来改善,但问题是:性价比,以及对业务是否实用。本文建议的方式是在预算范围内找寻性能最大化的解决方案。另外一个需要考虑的方面是环境并非一尘不变,系统部署方案要能够适应环境的改变需求。


首先需要考虑刷数据的性能特征,需要了解IO工作情况是怎样的。是否是cache友好型?是否是CPU集中型?业务数据很大数量很少,还是很小但数量很多?另外一方面就是构成存储环境的组件。包括应用,存储系统本身,网络。。。瓶颈可能在哪里,改善哪里最有效?


以下是一些常规建议:

  1. 不要仅仅根据空闲空间来分配存储,而需要结合考虑性能需求,确保为吞吐量或IOPS分配足够多的磁盘。
  2. 在磁盘间均衡分布应用负载,以减少热点地区的产生。
  3. 理解应用负载类型,并针对负载选择匹配的RAID类型。例如,写密集型应用建议使用RAID 1而不是RAID 5。因为当写入RAID 5时,需要计算校验位,需耗费较多时间。而RAID 1,写入两块磁盘速度快得多,无需计算。
  4. 磁盘类型(Fibre Channel, SAS, SATA)与期望性能相匹配。对于关键业务应用部署高性能磁盘,例如15,000 rpm Fibre Channel。
  5. 对于I/O密集型应用考虑采用SSD,但并不适用于写性能重要型应用。只要没有达到控制器瓶颈,SSD对读性能提升显著,但对写性能提升并没有明显效果。
  6. 采用端对端的监控工具,特别是虚拟服务器环境。虚拟端与物理端之间有一道防火墙,所以,需要穿透防火墙进行端到端的监控。
  7. 有些性能分析工具涵盖从应用到磁盘,有些仅局限于存储系统本身。由于性能是一个连锁反应包含很多变量,所以需要全面地分析数据。
  8. 以数据仅写入磁盘外部扇区的方式格式化磁盘。因减少数据定位时间而在高I/O环境下提升性能。负面作用是相当一部分磁盘容量未能得以使用。

转自:https://community.emc.com/docs/DOC-34921

日志系统性能瓶颈分析:CPU、内存、IO问题定位与优化 在日志处理代码中嵌入性能指标收集代码,例如使用Python的timeit# 记录函数执行时间# 实际日志处理逻辑# 计算并记录耗时。 阅读详情

相关推荐

追踪数据排错:Span 丢失、采样失真与性能瓶颈分析

汇总分布式追踪中的常见故障,从 Span 丢失到采样失真,提供系统性排查方法与工具。

kaixin110a的博客 11

您的ISCSI够快吗?

许多厂商都提供大致免费的iSCSI目标(现在的Windows服务器中甚至就有一个),并且,几乎每个操作系统都有一个免费的软件启动器与这些目标相连。虽然我们可以喋喋不休地争辩到底软件启动器和硬件启动器孰优孰劣,但一个不争的事实是,软件启动器十分有效,故而大多数iSCSI硬件启动器的厂商都已经自动退出了竞争。

PMC的专栏 1698

六自由度机械臂运动学分析及其轨迹规划

六自由度机械臂轨迹规划 通过对比三次多项式插值法与五次多项式插值法的效果,选取后者对机械臂进行轨迹规划,将运动学解导入Matlab Robotics Toolbox仿真,得到各关节角度、速度和加速度与时间关系曲线。 三次多项式插值法 三次多项式有4个待定系数,可同时对起始点和目标点的角度和角速度给出约束条件。 数学公式 MATLAB代码 五次多项式插值法 五次多项式有6个待定系数,可同时对起始点和...

两条眉毛 6万+

存储网络系统的瓶颈分析以及瓶颈的解决之道

存储网络系统由存储设备、网络设备和主机三个部分组成。存储设备是指该系统中采用的NAS、ISCSI、FC-SAN等磁盘阵列设备,网络设备是指FC交换机或以太网交换机,主机是指安装了以太网卡、FC HBA卡,并安装了一定应用软件的主机设备。存储系统的瓶颈分析主要是看这三个部分中哪一种会首先达到其性能的最大值。 存储成为整个系统的瓶颈是指存储设备的带宽达到最大值,或IOP...

weixin_34242331的博客 949

华为海思IC笔试通关秘籍:物理/电路/工艺三大方向高频考点解析(附真题)

本文深度解析华为海思IC笔试中物理设计、电路设计和工艺制造三大方向的高频考点与备考策略。针对华为海思IC笔试机考的特点,提供了方向选择建议、核心知识梳理及真题实战技巧,帮助考生构建系统性复习框架,高效备战,提升通关成功率。

mars5的博客 1308

保姆级避坑指南:在NVMe SSD上安装Ubuntu 24.04,搞定RST错误和分区方案

本文提供在NVMe SSD上安装Ubuntu 24.04的详细指南,解决RST错误和分区方案问题。从BIOS设置到分区策略优化,帮助用户充分发挥NVMe固态硬盘性能,避免常见安装陷阱,实现无痛安装和后期调优。

weixin_26976635的博客 560

iscsi服务器性能,iSCSI-RAID存储系统性能优化研究

摘要:磁盘阵列技术能有效改善存储系统性能并提升系统可靠性.随着我国存储行业的发展,我国对存储技术越来越重视.当前环境下,网络存储成为热点,iSCSI技术脱颖而出,利用磁盘阵列技术和iSCSI技术构建国产存储系统具有重大意义.我国已经研制出搭载有国产CPU和操作系统的服务器,在该平台上搭载iSCSI-RAID存储系统,研究国产服务器因架构不同而产生的读写性能问题具有十分重要的研究意义.国产CPU运算...

weixin_39624716的博客 703

开源DIY | 打造会“听”会“走”的智能移动垃圾桶

本文详细介绍了如何利用Arduino和超声波传感器打造一款会“听”会“走”的智能移动垃圾桶。通过开源硬件和简单编程,实现声控移动和自动避障功能,适合创客爱好者和家庭DIY。项目成本控制在200元内,涵盖硬件搭建、电路连接和核心功能实现,是入门级机器人制作的理想选择。

weixin_33670713的博客 230

linux编程的108种奇淫巧计-15(减少复制)[续]

接上文:linux编程的108种奇淫巧计-15(减少复制)

pennyliang的专栏 3179

别再只用真彩色了!手把手教你用ENVI主成分分析(PCA)给遥感图像‘美颜’与‘瘦身’

本文详细介绍了如何利用ENVI主成分分析(PCA)技术优化遥感图像处理,实现数据‘美颜’与‘瘦身’。通过PCA的维度压缩、噪声分离和特征增强三大优势,显著提升高光谱数据的可视化效果和分析效率。文章还提供了ENVI操作的最佳实践和常见问题解决方案,帮助读者掌握这一遥感图像处理的游戏规则改变者。

weixin_28465009的博客 275

晶圆测试厂wafer map管理建议

按照Recipe设定bin定义 应有版本管理概念,一般使用最新版本做为活动版本即可 Bin明细中应包含 BinID、BinCode、BinName、BinType、BinColor、Description BinID可使用数字类型 BinCode可参照实际机台的Bin,用于匹配 有些公司也将BinID、BinCode理解为SBin和HBin 即 Software Bin & Hardware Bin 一般也将BinID对应到客户的Bin BinType

凯神做开发 1万+

快速定位并优化CPU 与 JVM 内存性能瓶颈

CPU(Central Processing Unit)是计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元,相当于系统的“大脑”。当 CPU 过于繁忙,就像“人脑”并发处理过多的事情,会降低做事的效率,严重时甚至会导致崩溃“宕机”。因此,合理控制 CPU 的负载,是保障系统稳定持续运行的重要手段。CPU 使用率是 CPU 非空闲态运行的时间占比,它反映了 CPU 的繁忙程度。比如,单核 CPU 1s 内非空闲态运行时间为 0.8s,那么它的 CPU 使用率就是 80%;

冰恋云的专栏 1612

windows中通过docker部署LocateAnything-3B模型

windows中通过docker部署LocateAnything-3B模型

yilvyangguang520的博客 485

MySQL 死锁问题排查与分析

在数据库管理系统中,死锁是一个常见且棘手的问题。当两个或多个事务相互等待对方释放资源时,就会发生死锁,导致事务无法继续执行,严重时甚至会影响整个系统的稳定性。MySQL作为广泛使用的关系型数据库管理系统,也不例外。本文将详细介绍在遇到MySQL死锁问题时,如何进行排查和分析,帮助读者快速定位问题并采取有效措施解决死锁问题。 1. 死锁的基本概念 1.1 死锁的定义 死锁是指两个或多个事务在执行过程中,因争夺资源而造成的一种僵持状态,若无外力作用,这些事务将无法继续执行。 1.2 死锁的四个必要条件

My_wife_QBL的博客 6248

群无人机航迹规划-虚拟管道

图源北理工全权老师团队虚拟管道相关论文,文字为个人理解,以ppt形式分享报告。

coldmood77的博客 669

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

揭秘云服务器性能瓶颈:3步定位问题并实现效率翻倍

掌握云服务器性能优化核心方法,解决部署与运维中的卡顿、高延迟问题。通过监控分析、资源调优、架构调整三步法,适用于Web服务、数据库等场景,显著提升运行效率。云服务器部署与运维实战经验分享,值得收藏。

LiteCode的博客 821

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

虚拟机性能优化实战:从资源瓶颈到高效运行

摘要:本文针对企业IT架构中虚拟机常见的卡顿、延迟问题,提出三大优化方案:1)资源分配优化,通过精准匹配负载避免浪费;2)存储与网络优化,突破I/O与带宽瓶颈;3)系统配置调优,针对虚拟化特性调整GuestOS。文章通过电商平台、制造业MES系统等案例,展示了如何通过工具定位瓶颈并实施优化,最终提升虚拟机性能。核心思路是"精准匹配资源与负载",采用"排查-优化-监控"闭环管理,使虚拟机性能接近物理机水平。

记录 IT 领域经验与见解的博客 944

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

运维与后端的绝对刚需之 Linux 性能调优与故障排查

本文针对生产环境中常见的服务器 CPU 使用率达到 100% 故障场景,从 Linux 内核调度与进程/线程底层机制出发,系统性地阐述了一套标准、可复用的线上 CPU 异常排查闭环流程。文章通过 top、printf 和 jstack 等命令组合,演示了如何在 1 分钟内将性能瓶颈精准锁定至具体的异常进程、特定线程及对应的方法代码行;并进一步引入 pidstat 和 jstat 工具,深入探讨了上下文切换过高与异常垃圾回收(GC)引起的内核态 CPU 飙升调优对策,为后端开发与运维工程师提供标准化的线上排障

tommy633的博客 341

阿里云ECS/RDS/OSS性能故障全链路排查指南:从单服务根因定位到跨服务连锁故障分析

本文建立“上游优先、时间对齐、基线对比”的标准化排查方法论,逐一拆解三大服务的核心故障成因、识别特征与落地排查步骤,完整梳理跨服务故障的正向/反向传导链路,帮助运维人员快速定位根因,缩短故障平均恢复时间(MTTR)。

ITmoster的博客 462

Java性能瓶颈突破指南(JVM调优核心技巧大公开)

掌握Java性能瓶颈突破方法,深入解析java jvm调优实战技巧。涵盖内存管理、GC优化、线程调优等核心策略,适用于高并发、大数据场景。提升系统稳定性与响应速度,实战经验全公开,值得收藏。

PixelWander的博客 792

连接器日志性能瓶颈突破:从GB级日志中秒级检索异常记录

快速定位异常,提升排查效率。本文分享如何通过优化索引与分片策略,在GB级连接器的日志中实现秒级检索,适用于高并发系统运维场景。精准锁定故障记录,大幅提升日志分析性能,值得收藏。

FuncIsle的博客 909

优测全链路压测平台性能瓶颈定位

1. **高并发业务中的卡顿与性能瓶颈大多源自全链路压力测试缺失或方案选型失配,科学的压测体系能显著提升问题发现效率与线上业务稳定性**。企业在面对秒杀、大促、突发流量等场景时,若仅依赖单点压测或抽样测试,极易遗漏跨服务调用、缓存击穿、数据库锁竞争等系统性风险。建立覆盖完整业务路径并能施加真实用户行为的压测机制,是构建高可用系统的前置条件,选型须匹配业务规模、合规要求与技术能力,否则易陷入“测得不

2501_92406411的博客 266

系统性能异常排查:从数值怪现象到全链路观测体系构建

在软件工程与系统运维中,性能监控与异常排查是保障服务稳定性的核心环节。其原理在于通过采集系统运行时的各项指标(如吞吐量、延迟、资源利用率),建立性能基线,从而识别偏离预期的异常模式。这项技术的价值在于能够快速定位瓶颈、预防故障,并优化资源使用效率,广泛应用于微服务架构、AI模型部署、高并发业务等场景。当系统出现难以复现的性能数值异常(即“数值怪”)时,例如GPU计算内核因cuDNN版本差异导致吞吐量剧烈波动,或磁盘IO因调度策略引发P99延迟飙升,传统的日志排查往往失效。这要求工程师建立从硬件、操作系统、容

weixin_34080571的博客 336

大数据数仓性能调优与故障排查实战指南

数据仓库作为企业数据分析的核心基础设施,其性能优化与稳定性保障是工程师必须掌握的关键技能。从技术原理来看,执行计划解析、数据倾斜处理、存储格式选型等优化手段直接影响查询效率。通过合理配置Hive/Spark参数、分析YARN资源使用情况,可以显著提升作业执行性能。典型应用场景包括金融行业实时报表生成、电商用户行为分析等大数据处理任务。针对常见的数据倾斜问题,采用预处理规避、运行时优化等四级处理方案能有效解决分布不均难题。本文结合ORC/Parquet存储格式对比、OOM问题排查等实战案例,为大数据开发人员提

weixin_33968104的博客 504
上一篇: 结构体中的指针与零长度数组
下一篇: 自旋锁透彻分析
IT_Linux
博客等级 码龄14年 31粉丝 77原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值