认知改变总结(一)对老系统维护的思考

AI如何颠覆COBOL编程与金融系统维护 在软件开发领域,AI编程助手正从基础代码生成向核心系统维护快速渗透。以COBOL为代表的遗留系统维护成为最新突破点,这类高度结构化的古董语言反而因确定性特征更易被AI掌握。通过模式识别和知识蒸馏技术,如Claude Code等工具能快速学习有限的开源代码样本,实现业务需求到可执行代码的直接转换。金融行业作为主要应用场景,其每天处理数亿交易的支付网关和ATM系统后台正经历AI驱动的效率革命。技术人需转型为AI训练师,专注业务规则转译和系统韧性设计,在摩根大通等企业的双模维护实践中,人类专家正演变为AI输出的验 阅读详情

设想我们有10来个web应用,这些应用的预期是在高负载下依然保持高可用。

我们团队的主要目标是就是针对这些服务进行性能优化。

认知改变时刻

在某个大型项目实施中,由于项目体量大,增加了几倍的生产人员,导致我们应用的数据流量大幅增加。在此事件过程中,用户抱怨我们的应用性能实在太差,以至于无法在应用上完成全套的业务流程。为此,我们开始利用监控工具分析应用的性能瓶颈。通过应用监控工具,我们发现服务在获取 DB 连接上消耗了 90% 的响应时间。

但是 DB 看上去一切正常,所以,我们开始分析应用的 DB 连接池。分析发现,所有的 pod 将连接池中全部可用的连接都使用了。因此我们猜测服务在关闭连接上可能有问题。于是,我们花了几个小时时间检查代码,尝试找到连接没有被释放的地方。最终,我们发现,pod 的存活探针在做一次简单的 DB 心跳请求之后没有释放 DB 连接。随后,我们立即在 pod 存活探针的请求中增加了一行用于释放 DB 连接的代码。影响是可怕的。眨眼间,应用的性能就开始稳定下来并且用户也恢复了正常使用。

就在此次事件的前一天,我们才执行过一次负载测试,以确保应用程序能够承受预期的使用量增长,测试结果表明应用的性能是在正常范围内的。然而事实证明这个测试结论是错误的,错误的测试结论误导我们以为应用程序没有需要修复的问题。我们深刻认识到了错误,我们需要做得更好。以下是我们在此次事件中学习到的一些经验和总结。

| 总结一:不要使用平均等待时长作为衡量服务负载的指标——核查应用的“尾部”值
当用户抱怨应用响应慢的时候,我们发现平均等待时长指标并没有明显的变化。当我们回顾了这些指标数据的时候,注意到了一些有趣的事情:之前我们是将平均请求时间作为服务等待的主要指标,因此,这次我们将 90% 请求等待时长的数据做了一个图表,看看这个图表能不能反馈些信息。果不其然,在用户抱怨应用慢的时候,我们观察到图表中等待时长急剧增加。平均等待时长指标之所以没有明显变化,是因为太多的快速请求将平均值拉下来了。所以我的建议是,不使用平均等待时长,而使用 50%,90%,95%,99% 的平均等待时长作为服务响应的指标。核查那些远远超过正常值范围的“尾部”值是非常重要的。

| 总结二:在性能优化上投入时间、工具和人力
要保持应用的高性能,我们必须具备以下条件:

  • 负载测试和负载场景——具备可用的负载测试和负载场景非常重要。
  • 应用监控工具(APM)——诸如 Dyanatrace,AppDynamics 和 Epsagon 等工具。APM 在监控服务上可以帮我们节约大量的时间。因此在生产环境安装至少一个 APM 是非常有必要的。
  • 有效的日志——有效的日志是生产服务中断调查和性能问题调查的基本条件。因此你必须确保应用的日志是清晰且有用的。
  • 日志分析工具——你不能从很多文件中读取和搜索日志,尤其当你的服务是集群的时候,通过文件读取日志将变得更加困难。因此,花时间投产一个诸如ELK,Grafana 或 Splunk 的日志收集器和分析工具是非常有必要的。
  • 专业的人力支撑——对于上面提到的知识或者工具,如果你的团队没有相关的专业人才,那么你将什么也干不了。

因此,针对复杂的系统,我建议投入专门的人和时间来处理。(例如,SRE 团队就能很好的胜任此项工作)

| 总结三:老系统将会消亡(除非我们激活它们)
作为人类,我们都有创造新事物的冲动和欲望,并且对创造出来的产品有一种所有权感。在软件的世界里,在我们需要处理的矛盾中,有时候也会包含这样的矛盾。一方面,有一个老系统需要我们维护;而另一方面,有一个炫酷的新系统我们想要去开发。那么这个时候,我们就需要决定将时间投入到那块。当我们面对这样的矛盾时,我们必须记住,如果我们不继续在老系统上进行开发和添加新功能,那么对老系统的了解会随着时间的推移而消失。因此,当我们面对系统故障或客户新需求时,由于缺少对老系统的了解或者能力问题,将无法达成目标。换句话说,当我们失去对于老系统的了解之后,系统的 MTTR(平均修复时间) 上升了。

因此,我的建议是,要时常克制想要创造一个新的、炫酷事物的冲动,将时间投入到对老维护系统的熟悉和提升解决问题的能力上。另外,保持对老系统熟悉度的最佳方式就是尝试在老系统中添加代码。

| 结论四:每一行代码都很重要
有时,当我们在编写代码的时候,我们可能会忘记这些代码最终运行将在生产环境中,并为一个真实用户的真实工作服务。上面提到的我们亲身经历的案例中,仅仅只是因为程序员忘记了释放 DB 连接(一行代码而已),就可以干扰一个用户的正常工作(那些工作受影响的用户估计很不愿意给我们付钱)。

我的建议是:
想象一下(虽然很难),在世界的另一端,某个用户的工作完全依赖你编写的代码,同时试想一下,你写的每一行代码都将影响其使用应用的体验。

在 CI 或者 CD 环节执行负载测试。如果你想确保代码高可用,那么就针对每个即将投产的 PR 或版本都进行负载测试。

当你发现性能问题的时候,请怀疑每一行代码——据我们的经验,代码中的每个字符都有可能是导致性能的瓶颈。

代码的定义和编程的重要性 通过编写代码,我们可以设计算法来解决数学问题,创建模拟器来预测实验结果,或者构建应用程序来满足用户的需求。通过这个简单的示例,我们可以看到代码的设计和编程过程。代码的设计和编程过程要求我们思考问题的解决方案,并将其转化为计算机可以理解和执行的指令。总结起来,代码是计算机程序的实现方式,编程是创建和编写代码的过程。通过设计代码和进行编程,我们可以自动化任务,解决问题,提高效率和精确性,以及发挥创造力和创新精神。编程是创建和编写代码的过程,通过编程实现计算机程序,控制计算机的行为和执行特定任务。 阅读详情

相关推荐

老毛桃WinPE安装工具:简易系统维护与安装解决方案

本文还有配套的精品资源,点击获取 简介:老毛桃WinPE安装工具将U盘转变为一个功能强大的系统恢复或安装设备,适用于系统维护、修复和安装任务。WinPE是一个轻量级操作系统,提供基础环境以进行系统恢复、安装操作系统、硬件检测等操作。老毛桃工具简化了这一过程,使非专业用户也能轻松操作。本文将介绍WinPE的功能、如何使用老毛桃工具制作U盘启动盘,以及如何引导电脑进入WinPE...

weixin_35636570的博客 3608

老程序员亲测:ClaudeCode如何深度赋能复杂系统维护

AI编程助手正从代码补全工具演进为具备因果推理能力的开发协作者。其核心价值在于理解多源上下文(如堆栈日志、配置文件、跨文件逻辑),通过长上下文建模与强推理机制,精准定位隐蔽缺陷并提出可落地的修复方案。相比模板化补全,它更擅长处理遗留系统、混合技术栈和中文注释等真实工程场景,尤其在Spring Boot事务失效、Feign超时异常、ConcurrentHashMap数据竞争等典型问题中展现出诊断深度。本文基于金融风控后台等6个生产级项目实践,详解ClaudeCode在错误诊断、重构设计与知识沉淀中的工程化用法

weixin_32288959的博客 215

Windows系统维护必备工具合集与使用指南

htmltable {th, td {th {pre {简介:Windows系统维护是保障计算机稳定运行和性能优化的关键。本文介绍多款实用的系统维护工具,涵盖系统修复、网络配置、硬件管理、系统设置、软件卸载与硬件检测等功能。通过这些工具,用户可高效解决注册表错误、网络不稳定、硬件故障预警等问题,提升系统响应速度与安全性。本指南详细讲解各工具的功能与操作方法,帮助用户全面掌握Windows系统维护技巧,延长设备寿命,提升使用体验。

weixin_35982453的博客 1382

IT 你真够劲。

代码量是评判程序员水平高下的方法之一。微软要求应聘程序员在大学四年间至少要写10万行代码。李开复也建议计算机类的学生争取在大学四年中积累编写十万行代码的经验。由此可见代码量积累的重要性。当你编写过100行代码的时候,应该对编程有了一个朦胧、感性的认识。当你编写过1,000行代码的时候,应该已经掌握编程的基本结构了(顺序、分支、循环)。当你编写过10,000行代码的时候,可以用自己喜欢的编辑器做自己

penghaizhao的专栏 466

Windows系统维护实用工具包整理

Windows系统维护是保障计算机长期稳定运行的关键环节,涵盖了从日常任务管理到故障修复的多个方面。良好的维护习惯不仅能提升系统性能,还能有效预防潜在的安全风险。本章将系统性地介绍维护工作的核心分类,包括注册表管理、批处理脚本应用、启动项优化及错误修复等内容。同时,我们还将探讨维护工具在提升系统稳定性、优化运行效率和加强安全防护中的关键作用。通过本章,读者将建立起对Windows系统维护的整体认知,为后续深入学习具体工具与实战技巧打下坚实基础。

weixin_34725745的博客 531

LM1875官方电路图元件作用解释说明以及电路调校

R1是为C1提供充放电回路用的电阻,这是老外工作严谨的地方,其实接好电位器之后直流通路就已经存在了,这个加上只能防止最恶劣情况时也能把C1的电能放掉,尽管只有一点点 C1是输入电容,主要作用是隔离前后级的直流信号,但是这个电容对音质的影响很大,可以换用不同的品牌和容量来部分修改音质和音色 R2提供LM1875正输入端的直流电平控制点,接地就表示在理想情况下Lm1875的输出直流电平是0V;还有一个作用就是确定放大器的交流输入阻抗为电阻值。 R3、R4是反馈电阻,这个电路的放大倍数为R4/R3+1=21倍。.

m0_50862404的博客 1万+

增加了一行代码,让我们提高了3000%的性能

作者 | Itamar Lechowicer译者 | 许学文 策划 | Tina 审校 | 王强本文最初发布于 Itamar Lechowicer 博客,经原作者授权由 Inf...

HollisChuang's Blog 633

DDR5内存Training全解析:从信号完整性到CS训练模式的实战指南

本文深入解析了DDR5内存Training的全过程,从信号完整性挑战到CS训练模式(CSTM)的实战应用。文章详细阐述了Training在DDR5高频时代的关键作用,对比了In-Band与OOB两种架构,并拆解了Intel MRC的核心训练步骤,为硬件与固件工程师提供了诊断与优化系统稳定性的实用指南。

weixin_29252171的博客 1029

如何读懂一段代码

对于一段不知道背景知识的代码,如何读懂? 对于程序员来说,读代码要比写代码困难。因为写代码是在自己的世界创造,而读代码却是在接触别人的世界的建筑。每个人的世界都是不尽相同的,因此在读别人的代码时,总会有些滞涩,我也是更愿意自己写,读懂算法思想、梗概,然后自己来实现。因此在过去很长一段时间,写的代码都只是一时之快,很难长久——写完不久之后,我已经不认识自己曾经写的东西了,甚至觉得那是别人写的。

君浪的博客 3万+

K-Means聚类算法 — 算法原理、质心计算、距离度量、聚类效果评价及优缺点

分类知识   分类是根据样本某些属性或某类特征(可以融合多类特征),把样本类型归为已确定的某一类别中。机器学习中常见的分类算法有:SVM(支持向量机)、KNN(最邻近法)、Decision Tree(决策树分类法)、Naive Bayes(朴素贝叶斯分类)、Neural Networks(神经网络法)等。   但当对海量数据进行分类时,为了降低数据满足分类算法要求所需要的预处理代价,往往需要选...

zhf的博客 1万+

USB摄像头开发避坑指南:UVC协议中的Alternate Setting详解

本文深入解析UVC协议中的Alternate Setting机制,这是USB摄像头开发中影响视频流稳定性的关键。文章通过实际案例,详解了Alternate Setting如何管理USB带宽分配,并分析了帧率不达标、图像花屏等典型问题的根源与排查方法,为开发者提供实用的避坑指南和调试技巧。

meat5的博客 240

这段代码让程序执行效率提升200倍,值得一看

前几天业务系统部门将我们数据平台给投诉了,因为在工作时间内,业务系统查询不到想要的数据,这种问题可大可小,但毕竟影响到了业务的正常运行,所有的技术都是为业务服务的,所以不论技术难度大小,必须要进行整改,同时作为互联网的‘工匠精神’,我们不光要让功能正常运行,还要让功能以最优的状态运行。整个系统可以从功能上分为3块:业务系统:在上游有很多的业务系统,业务系统的运行产生很多的数据,这些数据分散在很多的数据库中,大部分是MySQL数据库。

主要分享测试的学习资源,帮助快速了解测试行业,帮助想转行、进阶、小白成长为高级测试工程师。 236

LLM评测框架Ragas:测试RAG的性能出现TimeoutError()的解决办法(Ragas+langchain+ollama)

无奈之下,自己找到了一个解决办法,在ragas支持的llm类库中加了一个如下的类,支持ollama、langchian_ollama使用ragas测试报错的问题。可以将如上的库放到你的ragas的系统库的llms目录下,然后修改__init__.py如下。最近用ragas测试rag的性能,发现老出现TimeoutError()的错误。这是一个临时的解决办法,具体等待官方给出最终的解决方案。后来发现官方也没有尽快支持的计划。然后就可以用如下代码进行一些验证。

Criss@陈磊 665

不一样的角度聊聊老系统维护

信息化进程导致大量存量系统。大家都愿意投入全新的系统。随着中国社会信息化的进程,包括政府、企事业单位、社会机构等信息化发展程度已经今非昔比了,目前,社会上存在大量过去开发出来的并一直在用且要一直用下去的信息系统,这...........

494

Python re库【正则表达式操作库】全面讲解及代码示例

以下是Pythonre库的全面讲解,包含主要功能、常用方法及代码示例。完整代码和注释附后。正则表达式(Regular Expression)是用于匹配、查找、替换字符串的工具,通过特定语法定义模式。?{n}[...][a-z]A|B\d[0-9]\D\s\S\w\Wre从字符串匹配模式,返回Match对象或None。在字符串中第一个匹配项,返回Match对象或None。返回所有匹配项的。返回所有匹配项的Match对象)。替换匹配项,返回新字符串。根据模式分割字符串,返回列表。通过。

记录点滴 1161

成功解决AttributeError: ‘ImageDraw‘ object has no attribute ‘textsize‘

​ 成功解决AttributeError: 'ImageDraw' object has no attribute 'textsize' 目录 解决问题 解决思路 解决方法 解决问题 AttributeError: 'ImageDraw' object has no attribute 'textsize' 解决思路 属性错误:'ImageDraw'对象没有属性'textsize' 解决方法 最新的Pillow 10.0.0 版本已经删除了这个函数,导致两个库(Pillow 、wordc

头部AI社区如有邀博主AI主题演讲请私信—心比天高,仗剑走天涯,保持热爱,奔赴向梦想!低调,专注,谦虚,自律,反思,成长,还算比较正能量的博主,公益免费传播…内心特别想在AI界做出一些可以推进历史进程影响力的技术(兴趣使然,有点小情怀,也有点使命感呀 4775

V4 Pro 涨价 3 倍后,一个老系统维护者的零成本 AI 提效方法论

摘要:DeepSeek V4 Pro 正式上线,价格是 V4 Flash 的 3 倍,且官方预告即将整体涨价。面对日益高昂的旗舰 API 成本,作者分享了在维护 10 年+ 老 Java Web 系统过程中的零成本 AI 提效方法论。核心思路是:用 IDE 做精确分析,用 AI 做定向翻译。工具链包括 Eclipse 三件套(Call Hierarchy)、免费/Flash 模型、本地 Ollama + DeepSeek-Coder、Python 批量扫描脚本,以及模型路由策略。通过“五步提效法”,作者将一

折哥|智能物流与Java实战,副高数据库工程师。深耕出版社物流WMS/OMS(线体/立库/VGA),也分享Java进阶与OMS电商对接。Oracle→PG实战派。相信沉淀可迁移能力,分享通用技术,不藏不虚。 493

如何使用VNC对openEuler系统进行远程图形化操作

本文详细介绍了在openEuler系统中配置VNC远程图形化操作的方法。主要内容包括:1)服务端配置:安装GNOME图形界面和TigerVNC服务,创建VNC用户并设置密码,配置VNC服务启动脚本;2)客户端连接:使用VNC Viewer等工具连接服务器;3)常见问题解决方法。通过5901端口建立连接后,用户可远程操作openEuler图形界面,适用于需要图形化管理的场景。

2501_93651177的博客 313

Dism++深度解析:Windows系统维护的终极解决方案

你是否曾经面对Windows系统越来越慢的困扰?是否因为磁盘空间不足而频繁删除文件?是否对Windows Update的频繁失败感到沮丧?今天,我要向你介绍一个能够彻底解决这些问题的神奇工具——Dism++,这款免费开源的Windows系统维护工具将改变你对系统优化的认知。 ## 从系统困境到高效维护的转变之路 想象一下这样的场景:你的Windows 10系统已经运行了一年多,C盘空间从原来的

gitblog_00144的博客 187

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

DeepSeek V4 Pro 高峰输出涨至 27 元:一个老系统维护者的零成本提效实践

摘要:DeepSeek V4 Pro 正式版于 8 月 12 日上线,8 月 17 日起执行峰谷定价,高峰时段输出价格涨至 27 元/百万 tokens(涨幅约 350%)。面对日益高昂的旗舰 API 成本,作者分享了在维护 10 年+ 老 Java Web 系统过程中的零成本提效实践。核心思路:用 IDE 做精确分析,用 AI 做定向翻译。

折哥|智能物流与Java实战,副高数据库工程师。深耕出版社物流WMS/OMS(线体/立库/VGA),也分享Java进阶与OMS电商对接。Oracle→PG实战派。相信沉淀可迁移能力,分享通用技术,不藏不虚。 841

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

EcoPaste 仓库平台接入文件解析:Trellis 平台文件(Platform Files)架构全解

本文聚焦 Trellis 将本地架构接入不同 AI 工具的核心机制——平台文件(Platform Files)。内容围绕 `.claude/`、`.codex/`、`.cursor/`、`.opencode/`、`.kiro/`、`.gemini/` 等平台目录的定位、分类与三种集成模式展开,并结合 EcoPaste 仓库中实际存在的适配文件进行佐证。读者读完可掌握:如何区分共享文件与平台文件、各

gitblog_00358的博客 1094

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Windows系统维护新选择:Dism++让你的电脑重获新生

你是否曾经因为C盘空间不足而焦虑?是否面对缓慢的Windows Update感到无奈?是否担心系统崩溃后无法快速恢复?今天,我要为你介绍一款强大的Windows系统维护工具——Dism++,它将彻底改变你对系统优化的认知。这款基于微软官方技术开发的工具,无需安装,绿色运行,支持从Windows Vista到Windows 11的所有版本,提供16种语言界面,让你轻松应对各种系统维护挑战。 ##

gitblog_00861的博客 130

Dism++终极指南:解锁Windows系统维护的16种语言完整解决方案

还在为Windows系统越来越慢而烦恼吗?每次重装系统都要花费数小时配置环境?企业IT管理员还在为批量部署Windows系统而头疼?Dism++——这款开源免费的Windows系统维护神器,将彻底改变你对系统管理的认知。作为微软Dism命令行的图形化替代品,Dism++不仅支持从Windows Vista到Windows 11的全系列操作系统,更提供了16种语言界面,让全球用户都能轻松掌握专业级的

gitblog_00506的博客 162

Windows系统维护新选择:Dism++如何帮你轻松管理电脑健康

小张的电脑已经用了三年,最近变得越来越慢。每次开机都要等上两三分钟,C盘空间总是不足,系统更新经常失败,还时不时弹出各种错误提示。他尝试过各种清理软件,但效果都不理想——要么清理不彻底,要么清理后系统出现问题。直到有一天,他在技术论坛上发现了一个名为Dism++的工具,这个开源免费的系统维护工具彻底改变了他对Windows维护的认知。 Dism++不仅仅是一个清理工具,它是一个完整的Window

gitblog_00417的博客 5

终极Windows系统维护指南:Dism++ 5个专业技巧彻底解决系统臃肿问题

你是否曾经为Windows系统越来越慢而感到烦恼?C盘空间莫名其妙地减少,系统更新总是失败,各种临时文件和缓存占满了宝贵的存储空间?今天,我将为你介绍一款专业的Windows系统维护工具——Dism++,它将彻底改变你对系统维护的认知。这款开源免费的系统优化工具基于微软的CBS技术,能够深度清理系统垃圾、智能管理更新、优化系统性能,是Windows用户的终极维护解决方案。 ## 为什么你的系统需

gitblog_00966的博客 198

Dism++深度解析:超越微软原生的Windows系统维护终极方案

作为Windows系统维护领域的一款革命性工具,Dism++以其卓越的性能表现和全面的功能覆盖,彻底改变了用户对系统优化工具的认知。这款开源工具不仅解决了微软原生Dism工具的诸多限制,更在兼容性、易用性和功能深度上实现了全面突破。本文将深入解析Dism++的核心技术优势、高级应用场景以及专业级系统维护策略,帮助技术爱好者和系统管理员充分发挥这款工具的潜力。 ## 技术架构创新:为何Dism++

gitblog_00956的博客 231
上一篇: 深入浅出MYSQL查询索引失效
下一篇: 架构设计原则
manitod
博客等级 码龄9年 472粉丝 34原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值