导致系统性能失败的10个原因

Win10 22H2版本更新失败解决方案 Windows 10 22H2版本更新失败的问题可能由多种原因引起,但通过上述方法,大多数用户应该能够解决更新失败的问题。无论是手动清除更新缓存、使用系统修复工具,还是直接下载ISO镜像包安装更新,都是解决更新失败问题的有效方法。希望本文能够帮助您顺利更新到Windows 10 22H2版本,享受更好的系统性能和安全性。如果您在更新过程中遇到其他问题或疑问,欢迎随时留言咨询或寻求专业帮助。 阅读详情

很多软件系统由于性能问题导致了失败,在开发生命周期和性能测试生命周期的每个阶段都存在导致性能失败的原因。有时候,性能问题是无法控制的,它不在项目经理、技术架构师或性能工程师的控制范围之内。从业务和个人层面来看,大多数的系统性能失败仅仅是因为性能工程师、开发人员、 DBA、业务团队和利益相关者之间从一开始就缺乏沟通,这导致了许多其他问题,这些问题将直接影响应用程序的性能和 ROI。对任何应用/产品进行有效性能测试的唯一目标是实现令人满意的投资回报。性能测试和软件工程是有风险的,并且总是需要从开发的早期阶段开始,进行大量的反复试验。

系统性能的失败必须与其他业务问题进行类似的处理。了解问题出在哪里,为什么会出问题,以及如何预防。在大多数场景中,需要每个人都了解/理解端到端全生命周期实现中的性能挑战。他山之石,根据老码农的经验,总结了一个导致系统性能失败的原因列表。

fb0c6ea3cf646fecb7563b644e4b4783.png

1. 对最终用户反馈的置若罔闻

作为最终用户,才会意识到的现有潜在性能问题。为了理解生产系统中现有的性能问题,需要从最终用户那里获得关于应用程序在不同的预期负载条件下如何运行的持续反馈。总是有很多用户在生产环境中使用某个功能,即使这一功能不能满足他们期望的性能,他们也不会质疑它,而且会假设它是正确的,当用户可以同时从多个位置访问时,这可能是一个大问题。因此,如果想提高应用程序的性能,就必须让最终用户参与进来,以获得关于应用程序或系统在生产环境中性能的持续反馈。当然,与最终用户的交互需要时间和精力,尽管如此,为了使产品/应用提供最佳性能,这绝对是值得的。

2. 不关注性能目标

设定目标是确定系统性能的最重要方面之一。许多团队经常无法实现他们的性能目标以求改进,于是花费了大量时间修复系统中现有的和隐藏的性能问题。性能测试的完美目标应该在最现实的条件下定义、设计和执行,比如真实的浏览器、设备和多个地理位置。确定正确的指标来监控,定义每个指标的最小阈值,执行性能测试来得到基线结果,所有这些数字对于确定什么样的变化可以创造性能改进是必要的。在软件开发生命周期中尽早开始性能测试是一种很好的做法,可以首先消除瓶颈,并确保在用户负载很重的情况下不断检查应用程序的性能。

3. 不清晰及不完整的非功能性需求

收集完整的非功能性需求比功能性需求更复杂,因为它们被视为第二类甚至第三类需求。因此,它们经常被误解和忽视,只有少数组织将非功能性需求作为一等公民。这会在系统架构/设计中导致严重的问题,经常导致项目崩溃和网站崩溃,使系统无法使用。在大多数情况下,非功能性需求文档不完整、不一致,或者在大多数不成功的项目中不存在。性能测试第一步是对应用程序/系统进行可行性分析,并创建一组明确的非功能性需求。一个可靠的非功能性需求文档将确定产品/应用具有最佳性能的所有标准。此外,还需要:

  • 为产品/应用和系统建立明确的性能目标和期望

  • 必须让所有人(开发团队、QA、管理团队、 DBA、涉众和业务团队)达成一致。

  • 在技术团队、项目团队和业务团队之间建立沟通,以了解生产环境中最终用户的实际性能问题

  • 使用分析工具,获取生产流量统计数据,以创建合适的工作负载模型

  • 在收集非功能性需求时,了解应用程序/产品的体系结构、设计、问题和现有的性能问题

  • 非功能性需求应该从软件开发过程的开始并在整个生命周期中进行讨论; 如果应用程序是全新的,基线和基准测试对于性能测试是必要的。

  • 获取所有涉及的内部和外部组件的完整信息,并了解它们如何通信(CDN、防火墙、 DNS、负载均衡器、服务器、网络和系统、缓存等)

  • 了解应用程序内存占用和第三方体系结构限制

  • 与涉众和业务团队交谈,以了解目标并确定什么是基本的、现有的遗留系统性能问题、平台约束和竞争对手。

  • 有必要记录所有内容,并让业务和其他涉众一起参加会议,以确定现有的非功能性需求是否合适,并就定义的 SLA 达成一致。

669432b8dd9535bfe47873bd23a2b832.png

4. 糟糕的架构设计

最初,糟糕的架构设计只会导致一些小问题,这些问题在开始时会比较少,但是会逐渐累积起来。简单维护是一个挑战,在一个区域中的任何更改都会破坏应用程序的其他部分。如果在架构设计阶段作出了不恰当的决定,应用/系统可能会出现严重的性能下降,导致过多的网络延迟和其他问题。由于不了解明确定义的系统架构,在负载测试执行阶段会存在太多不确定性和复杂性的高风险,这可能会给性能测试和工程团队带来意想不到的性能问题。在软件开发生命周期的应用程序设计和开发阶段,由于性能方面的挑战,软件发布可能会推迟。

5. 对技术依赖缺乏预见

依赖关系是允许更多应用和功能组件之间的连接。特定的操作系统版本、应用服务器、数据库服务器或 Java 虚拟机、通用语言运行库和框架都是依赖关系的例子。然而,有些依赖关系更为复杂,比如由 Linux、 Java 中的各种包组成的依赖关系,以及 Python 和 Ruby 等脚本语言组成的依赖关系。理解每个技术在设计和基础设施方面对每个组件的依赖性,使用哪些技术,以及使用哪些框架和工具来开发应用程序,对于系统性能来说,以期望的结果完成性能测试是至关重要的。

6.新功能的过度扩展

过度的新功能扩展是软件开发人员经常遇到的一个主要障碍。处理这种情况的有效方法是定期举行面向用户体验的会议和讨论,每个团队成员都参与其中,以验证每个功能,并确保它有意义地解决了设定的问题。性能测试团队必须从规划发布的时间表开始,并且应该主动地公布需要的时间,以防在发布前的最后一分钟添加任何新功能。如果项目有一个固定的最后期限,就需要提前计划环境需求,以确保意外的环境延迟不会影响性能测试的进度。如果在最后一刻继续添加了新功能,交付的质量大概率会受到影响。最终,客户可能会拒绝最终的可交付成果,从而产生返工和额外资源短缺的情况。

8885e2d2594cd7c906fb90577efb80ce.png

7. 推崇好大喜功

在性能测试执行的最初版本中,直接关注目标 SLA 以达到可接受的限制可能是不现实的。性能测试是一个迭代过程,需要大量持续的性能测试来识别和消除所有的性能瓶颈。需要花费额外的时间优化每一行代码和组件,以提高系统/应用程序的性能。在性能测试中,每个 SLA 和 KPI 都是必要的,并且只有通过持续的性能测试、代码分析、内存分析、性能工程、监控以及客户端和服务器端的调优才能获得所需的响应时间、吞吐量、网络延迟和资源利用率,这有时需要花费很长的时间。分析所有的性能结果和降低,并从用户级、操作系统级、系统级、网络级和服务器级使用适当的指标收集数据,对所有导致性能问题根本原因的分析是至关重要的。

8. 容量规划的匮乏

许多基础设施未能实施有效的规划,简单地说,容量规划过程并不简单直接。我们可以创建一个场景、添加流量、评估结果、解决性能问题,然后重复,直到满意为止,但是实际的问题往往伴随着糟糕的容量规划。糟糕的容量计划增加了性能缺失的可能性,风险会完全暴露,最终导致失败。所有这些都可以通过仔细的容量规划来适当解决。来自基础设施领域的系统工程师、来自数据库领域的DBA和来自应用程序开发领域的程序员是最需要参与有效容量规划过程的三类人。许多人有时会将容量管理与容量计划混淆,不能准确地预测和错误预测未来的工作负载。需要确保识别准确的资源需求(CPU、内存、磁盘空间和网络带宽) ,以支持当前和未来增加的工作负载,以满足业务需求并避免容量规划失败。使用正确的度量标准进行持续监控将帮助我们进行有效的容量规划,并且还有助于处理流量增加后未预料到的工作负载。

9. 性能问题没有完全解决

当应用的用户量增加时,往往会看到更多的性能问题。随着时间的推移,系统中隐藏的性能问题和已知的性能问题是导致性能持续下降的主要原因。必须与项目中的每个团队成员讨论确定的每个瓶颈,以成功地确保客户 SLA 的性能。当涉及到性能问题时,每一秒都很重要,如果忽略现有的性能问题,系统将会变慢,甚至更糟。例如,某些服务可能会停止在严重超载的服务器上运行,从而使应用程序无法访问。找出监控数据,检查服务的健康状态,一般就能找出性能问题的常见原因。

10. 方法论的缺失

缺乏合适的方法来建立性能测试策略及其覆盖范围的话,会很难获得有效的性能测试结果。理解性能测试方法和过程将帮助团队中的每个工程师,特别是当性能问题出现时,为每个发生问题的瓶颈提供正确的修复。性能测试过程应该有良好的计划和定义,并且文档化。好的文档可以在开发人员、 DBA和QA之间建立有效的沟通。随着软件变得更加复杂和多元化,并且有越来越多的平台和位置需要测试,需要有一个强有力的性能测试方法,以确保正在开发的软件系统经过充分的性能测试,以确保它们满足特定的业务要求,并且能够在所有预期的负载条件和环境中高性能地运行。

【关联阅读】

Excel VLOOKUP函数匹配失败的十大原因及解决方案 Excel VLOOKUP函数匹配失败的十大原因及解决方案VLOOKUP函数作为Excel中最常用的纵向查找函数,在数据处理中发挥着重要作用。但许多用户在实操过程中常遇到匹配失败的问题,导致工作效率大打折扣。本文基于实际案例,系统梳理VLOOKUP失效的十大核心原因及对应解决方案,帮助读者彻底掌握该函数的使用精髓。 阅读详情

相关推荐

从失败中笑看数仓:探索构建数仓失败的原因

无论您是数据仓库建设爱好者还是数据仓库工程师,本文章将为您揭示一系列令人深思的场景和案例。我们将带您一起笑看需求混乱、数据迷失、ETL搞笑失误以及领导妙语的影响等构建数据仓库失败的经典场景。

weixin_38309774的博客 732

十大性能方面的错误

Martin Thompson是LMAX的联合创始人,在QCon圣保罗2016上做过关于性能的keynote演讲。他最初计划的演讲题目为“关于性能的神话与传说”,不过Thompson后来将演讲命名为“十大性能错误”,因为“我们都会犯错误,而且很容易就会出现错误”。\\下面列出了他在生产环境下所见到的十大性能错误,并且还包含了如何避免的建议。\\10.不进行升级。很多人抱怨他们的系统不够快,并通过编...

cpongo5 293

如何解决单片机性能问题?

单片机的内存和CPU频率有限,因此需要通过优化算法和数据结构来提高程序的效率。单片机中有许多寄存器,通过合理使用寄存器,可以减少对内存的读写次数,从而提高程序效率。当一个中断事件发生时,单片机会立即跳转到相应的中断处理函数中去执行相应的操作。在实际开发中,可以通过使用定点数来代替浮点数,从而达到更高的效率。通过优化算法和数据结构、合理使用寄存器、避免使用浮点数、使用中断等方法,可以有效地提高单片机程序的效率,从而解决单片机性能问题。当定时器溢出时,会触发中断,从而执行中断处理函数中的代码。

qq_37934722的博客 426

算法工程师的工程修养:Linux 服务器性能故障分析

点击上方“机器学习与生成对抗网络”,关注星标获取有趣、好玩的前沿干货!掌握一些性能优化工具和方法,这就需要在工作中不断地积累;计算机基础知识很重要,比如说网络知识、操作系统知识等等,掌握了...

idol24的博客 640

Figure 03人形机器人与Helix端到端控制系统:具身智能突破深度解析

2026年5月,Figure AI的Figure 03人形机器人在一场震撼业界的直播中完成了长达200小时的连续全自动作业,分拣近25万个包裹,零故障。这一里程碑式的成就标志着人形机器人正式从「实验室展示」迈入「规模化商用」阶段。本文深入剖析Figure 03的核心技术——Helix端到端神经网络控制系统,包括System 0/1/2三层架构、视觉运动策略、全身协同控制等关键技术,并提供完整的Python/Go代码示例,帮助开发者理解具身智能的核心原理与实现路径。关键词。

shao.bing的专栏 995

Fluent求解器——湍流参数的设置

Fluent湍流参数的介绍和设置。

Ronko_G的博客 4万+

总结篇:性能问题分析及优化的一般方法,工具速查

目录 性能分析的一般步骤 一、CPU 性能分析 二、内存性能分析 三、磁盘和文件系统 I/O 性能分析 四、网络性能分析 五、应用程序瓶颈 性能优化的一般方法 一、CPU 优化 二、内存优化 三、磁盘和文件系统 I/O 优化 四、网络优化 五、应用程序优化 性能工具 一、工具选择的原则 二、CPU 性能工具 三、内存性能工具 四、磁盘 I/O 性能工具 五、网络性能工具 六、基准测试工具 性能分析的一般步骤 ​ 一、CPU 性能分析 关于 CPU 的性能..

C-Jonn 6132

YOLOv11改进 | 引入SFSConv空间频率选择卷积(含SFSC3k2二次创新),空间频率特征协同作用,检测性能全面提升

本文提出在YOLOv11中引入SFSConv空间频率选择卷积模块,通过显式分离和动态融合空间域与频率域特征,解决传统卷积对多尺度目标检测的局限性。SFSConv包含空间频率分离、动态权重融合和协同特征重建三个核心机制,并进一步创新提出SFSC3k2结构,通过双路频率分支增强特征协同作用。该改进显著提升了YOLOv11在遥感、医学等多尺度复杂场景下的检测性能,实验显示在微小目标检测任务中mAP提升5%-10%。代码实现展示了SFSConv模块的核心逻辑及其在PyTorch中的高效实现。

走向CTO的路上... 768

限制系统性能瓶颈的因素、衡量系统性能的指标

影响系统性能的主要因素

在路上 1223

【ARM AMBA5 CHI 2 -- CHI 链路层详细介绍 】

目前有六个版本的 CHI 协议,CHI-A 是 CHI 协议的第一个版本。它提供了一个传输层,具有减少拥塞的功能。新通道、CHI 术语和组件命名的定义;请求、监听过滤器和缓存状态转换的示例;事务排序、独占访问和分布式虚拟内存(DVM)操作的规则;CHI-B 问题扩展了 CHI-A,但不能直接向后兼容 CHI-A。更大的物理地址宽度;原子事务;DVM 的 VMID 扩展;通道字段、事务结构和可靠性、可用性和可维护性(RAS)特性的描述;

CodingCos的博客 2535

高通拨号流程介绍

本文介绍了高通平台(如SDX55)中APSS(A7处理器)与ModEM(Q6处理器)间的通信机制。

四儿家的小祖宗的博客 1068

win10 安装php报错,win10安装失败的原因有哪些

win10安装失败的原因有哪些win10安装失败的原因一:win10安装文件或存储介质出错时至今日,除了传统的光盘安装外,还可选中U盘/移动硬盘安装和网络安装。但是在安装时,如果安装文件不完整,或者存储win10安装文件的存储介质出错,则很有大概导致win10安装失败。如果使用光盘安装,则需要检测光盘看是不存在明显划伤,检测光驱是不存在读盘能力减弱的情况。而U盘/移动硬盘则需要检查存储介质是不工作...

weixin_39811166的博客 388

基于MATLAB的逐次变分模态分解(SVMD)算法详解

本文详细介绍了基于MATLAB的逐次变分模态分解(SVMD)算法。SVMD是一种改进的变分模态分解方法,通过逐次分解机制克服传统VMD算法需要预设模态数量的缺陷。文章从信号分解方法的发展历程入手,阐述了SVMD的核心优势与创新点,包括参数敏感性降低、自适应分解能力和更好的频率分离性能。详细解析了SVMD的数学模型和优化求解过程,重点讨论了变分问题构建、ADMM优化方法和停止准则设计。通过MATLAB代码实现展示了SVMD的具体应用,包括参数初始化、信号预处理、模态提取和残余信号更新等关键步骤。

qq_42212808的博客 131

Kubernetes部署失败的10大常见原因,运维老手都在偷偷看

解决Kubernetes部署难题,运维老手都在用的排查方法。程序员节技术博客总结10大常见失败原因,涵盖镜像拉取、网络配置、资源限制等高频场景,提供精准诊断思路与实战解决方案,提升集群稳定性,值得收藏。

CodeWhim的博客 419

终于找到了!Ubuntu 虚拟机卡死的终极解决方案(如何解决VMware安装Ubuntu24.04桌面进不去、黑屏、虚拟机卡死、显示不全、屏幕闪烁等问题)

终于找到了!Ubuntu 虚拟机卡死的终极解决方案(如何解决VMware安装Ubuntu24.04桌面进不去、黑屏、虚拟机卡死、显示不全、屏幕闪烁等问题)

XiaoqiangClub的博客 1万+

[Dify] 如何在Dify中解析上传的TXT文件内容

在Dify平台上构建智能应用时,解析用户上传的.txt文件是关键步骤。

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 2637

WinIO初始化失败的几个原因

WinIO是一个能够打开一些操作系统IO特权操作的一个库,简单的来说它加载了一些驱动。通过加载的驱动可以直接的访问端口。在工控上,我们可以利用这个库直接操作IO卡的地址。例如我最近在做的一个数控钻铣床的IO卡和运动控制卡就是很老的一个卡,在WIN98下面工作很正常,但是在NT核心上就会出现非法指令调用的问题。这些非法指令来自于底层对IO卡和运动控制卡的直接地址访问。在98时代,这些操作都没有受到保...

weixin_34208283的博客 2840

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

WebSocket 连接失败的原因及解决方法

目前已经成为了一项极为重要的技术,其允许客户端和服务器之间进行实时、全双工的通信。然而,在实际项目中,开发者时常会遇到 WebSocket 连接失败的情况。这不仅影响了用户体验,还可能导致不可预见的系统错误或数据丢失。那么,造成 WebSocket 连接失败的原因有哪些?又该如何解决这些问题呢?本文将逐一分析常见的 WebSocket 连接失败原因,并提供详细的解决方案。

LiamHong_的博客 4万+

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

umount失败原因及作用原理

在上面的示例中,umount执行失败,下面我们来探究其原因,并深入理解umount的作用原理。错误原因:当使用umount命令卸载/mnt/data时,shell当前的工作目录是/mnt/data,即要卸载的目录正处于被使用(busy)的状态,所以umount命令会失败,并提示。解决此问题的方法:先将当前工作目录切换到其他非/mnt/data的目录,然后再执行命令,这样就可以成功卸载该目录。例如,可以先执行cd /切换到根目录,然后再进行卸载操作。

xzkzxcv的博客 2304

性能测试失败原因之性能测试十宗罪

下文主要归纳导致性能测试失败的常见问题,因总结后发现共10类问题,故名十宗罪 一罪:意识不足应付了事 具体体现: 1、需求不明确就开始进行 2、仪式性的做一下,没有深入分析非功能需求 二罪:测试不能规定期限内完成,或影响项目延期 具体体现: 1、测试投入较晚,测试问题后来不及修改,导致不能按时发布 2、出现意料外性能问题,被迫解析,调优,重新测试,导致不能按时发布 3、出现重点大问题导致架构推翻...

明光札记 2074

《战舰世界》在 Windows 10 上启动失败?探讨启动失败的原因与修复步骤

当玩家在 Windows 10 上尝试启动《战舰世界》时,可能会遇到各种错误提示,例如游戏崩溃、启动失败、性能问题等。这些问题可能由多种因素引起,包括但不限于兼容性问题、驱动程序过时、系统资源不足等。

Xixix777的博客 2837

[Linux]swap分区被误删除导致系统启动失败的解决方案

[Linux]swap分区被误删除导致系统启动失败的解决方案 问题阐述 经过某种奇妙的操作后把系统的swap分区整没了,然后造成经常性的启动失败 Dependency failed for /dev/disk/by-uuid/8bc79a31-f488-46a9-bf5b-3973ab39bd8 Dependency failed for Swaps 解决方案 网上博客应该蛮多的,本文主要用于个人知识补充。个人觉得学linux遇到问题不应该只是复制粘贴博客上的命令来解决问题,更应该了解那些指令背后逻辑以及

鱼竿钓鱼干 4477

cdn连接失败是什么意思_CDN经常连接失败的原因有哪些?

相信很多站长在运营网站时会经常遇到这种情况,接入CDN后,CDN连接失败,网站后台或网站的部分页面都也无法正常打开。CDN连接失败原因有很多,一般都是以下情况:1、CDN服务器网络间接性的故障。2、CDN节点出现故障,主要原因是CDN服务商所提供的节点分布有限或不均衡。3、本地网络处于不正常的抓台。4、数据传输过程中,网络出现网络拥堵或发生故障。5、CDN节点被大量的DDoS或CC攻击。即使如今C...

weixin_39550587的博客 8367

安装失败的原因_win7系统安装失败 U大侠为你分析原因

  随着win7系统被广大的用户认可,越来越多使用XP、win8系统的用户都纷纷将系统给换成win7系统了。但是不少朋友在安装win7系统的时候都会碰到一些问题,导致系统安装失败。那么,导致win7系统安装失败都有哪些原因呢?今天U大侠小编就和大家说说导致win7系统安装失败的原因。  原因一、有可能是Win7系统安装文件或存储介质出现错误  大家都知道win7系统的安装方式有多种多样,...

weixin_36285392的博客 1809

win10安装visio2010出错_浅析笔记本电脑重装系统win10失败原因

现如今的新型笔记本预装的电脑系统一般都是win10系统,且自带激活。不过有的朋友用着预装的系统不太习惯,觉得还是纯净版的win10系统比较好。于是不少用户选择了自己重新重装系统win10。然而在重装系统win10的过程中却出现了问题,不知什么原因导致重装系统win10失败。那么,笔记本重装系统win10是怎么回事呢?下面就让浦东网络运维工程师培训班老师为大家带来笔记本电脑重装系统win10失败原因...

weixin_39622568的博客 1482
上一篇: 人工智能时代,如何让机器狗听懂你说的话?
下一篇: “低代码”十问
半吊子全栈工匠
半吊子全栈工匠 领域专家: 嵌入式与硬件开发技术领域 领域专家: 嵌入式与硬件开发技术领域
博客等级 码龄18年 4632粉丝 897原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值