如何使用AI的性能剖析功能分析性能问题
发布网友
发布时间:2022-03-28 00:20
我来回答
共1个回答
热心网友
时间:2022-03-28 01:50
之前写过一篇性能测试新手误区(五):这是性能问题么,主要讲一个有效的性能问题应该是什么样的,其中提到了定位的问题。但是那篇文章只说了WHAT,并没有说HOW,只说tester要有明确的定位,却没提如何才能定位。实际工作中,我也总是接到这种问题,所以还是要写一篇关于方法的文章,来说说HOW
TO DO。
以一个典型的WEB系统来举例,性能问题一般体现在客户端请求后的响应时间上。在性能测试过程中,即压力增大到某个程度后,响应时间指标迅速增长。但如那篇文章所说,这只能叫做一个现象,测试人员需要找到问题所在,HOW
TO DO?
首先要搞清楚,客户端从发出请求直到看到最终结果,共经历了哪些过程。如果绘制出一张完整的路径图,我们的问题必将定位到这张图中的某一点上。下面是我画的一个常见的WEB系统请求的流转过程。
客户发出一个请求,这个请求首先会到达中间件的监听端口,专门的监听线程负责接待它,并将它分配给一个空闲的HTTP处理线程。HTTP线程根据请求内容,去执行相应的程序代码,这里会涉及程序的内部资源,比如专用的线程、一些队列等,程序的内部也许还有多个组件,依然可以拆分。再往后,从中间件维护的数据库连接池中取出一个空闲连接,通过它来与数据库进行交互。数据库收到查询请求后,同样需要找到一个可用的执行线程,然后才能执行具体的SQL,这里又会牵扯到很多数据库的内部资源,如锁、缓存等等。
可以看到,从用户点击鼠标发出请求,到显示器上展现出结果,实际是经过了很多处理过程的,这里的每一个节点出现问题,都会导致我们最终看到的“响应慢”现象出现(这里不考虑操作系统层面、网络层面等一些外层的因素)。
理解了这个过程,只需采取一些科学的方法即可逐渐*近问题根源,那就是层层剥离、不断排除。从实际经验来看,数据库端最容易出问题,那么首先就要对其进行验证。数据库的性能一般是直接体现在SQL的执行效率上,我们可以捕获到出现问题时所有执行过的SQL,看其耗时是否正常。如果判断数据库端没有问题,那么再来到中间件端,这里又可分为应用服务器本身和我们自己的程序,可以先看看最容易验证的部分,应用服务器本身通常维护了一些线程池,很容易可以观察到它们的使用情况,如果这里没有发现异常,那么问题很可能就出现在我们程序的代码内部。如果在某一点上发现了异常现象,不要急于断定这里就是问题根源,而是要同时观察与之相邻节点的表现,一个节点的故障通常也会导致另一节点的异常。
一个很有效的排查手段就是日志,在每一个节点上输出接收到的请求和处理结果的日志,通常都会很容易的发现问题。
大致思路就是这样,总结起来其实很简单。一是要理解请求处理的完整流程,二是通过科学合理的方法去分析。
ai智能财务分析大师软件怎么使用
资本构成分析:具体包括资本构成情况分析、负债增减变化情况分析、所有者权益增减变化情况分析等;偿债能力分析:具体包括短期偿债能力分析、还本付息能力分析、增加负债的可行性分析等;营运能力分析:具体包括存货分析、应收账分析、应付账款分析、现金周期和营业周期分析、流动资产分析、总资产分析等;发展能力分...
引迈做零代码开发具有哪些优势?
引迈JNPF低代码开发平台可以以极少量代码或无代码的方式开发各种企业级管理系统,其特点如下:1. web在线开发低代码开发平台是个全Web可视化开发和运行架构,只要在web端网页就能开发,不需要安装配置复杂的本地开发环境;2. 代码生成器依托代码...
AI编译器技术剖析(二)-传统编译器
编译器优化是提升性能的关键,包括常量传播、常量折叠、复写传播等。它们通过消除冗余计算和改进代码结构来提高执行效率。例如,通过公共子表达式消除,可以避免不必要的计算;通过函数调用优化,如尾递归优化,减少函数调用的开销。总的来说,本文概述了传统编译器的基础,以及AI编译器如何在其基础上发展,展示...
揭秘黑盒AI尚未准备好迎接黄金时段的常用方法
通过将AI工具的性能与人类专家的判断进行对比,结果令人警醒:显着性热图在诊断和病理识别上,与人类放射科医生相比,始终表现欠佳。这项开创性的研究首次揭示了显着性图在X射线病理评估中的表现与专家的差距,同时也深入剖析了AI在识别特定病理特征时的局限性。尽管它们被临床实践用于质量控制,如辅助读取...
使用Adobe Illustrator 制作建筑分析图,有何进阶技巧?
从大跨度结构出发,我用最简单的方式——鱼线和吸管制作模型,模拟出强大支撑力。通过GH的模拟与Rhino Make 2D的精细调线,每一张图都深入剖析了力学原理与设计策略,如水流如何成为建筑的韵律。每个案例都不仅仅是一张图片,而是对建筑分析图的深度解读,展现了如何用技术与艺术相结合,讲述建筑设计背后...
SpringBoot开发的AI导航站技术架构剖析 —— 技术如何选型 - 第520...
灵活调整以满足业务需求和团队实际情况,确保系统长期稳定运行和发展。AI导航站的开发虽然不复杂,但技术架构的选择和实现过程对技术团队而言是一次宝贵的经验积累。通过分享AI导航站技术架构的剖析,博主鼓励读者在面对技术选型时,根据自身条件和业务需求,做出最适合的选择,为系统的稳定和成长奠定坚实基础。
数据标注:揭秘AI训练的关键步骤与未来趋势
首先,数据标注是指对原始数据进行精细化处理,通过添加标签或注释,使AI模型得以理解数据特征,从而实现精准预测和决策。在图像识别、语音识别、自然语言处理等应用场景中,数据标注起着决定性的作用。其次,数据标注的重要性不言而喻。它直接关系到AI模型的精度和性能,是提升AI技术质量的基础。通过高质量...
【技术精讲】游戏CPU性能分析及工具
工具选择:深度剖析的钥匙传统分析工具虽基础,但Windows Event Tracing (ETW)作为核心,其时间线追踪功能和非侵入性监测使得GPU和CPU同步数据唾手可得。WPT中的WPR和WPRUI是基础,然而推荐UIforETW,它提供了直观的可视化管理和后台快捷操作,尤其在团队协作和性能问题重现上大显身手。GPUView作为关键工具,...
专家认为人工智能能筛选识别问题人群,AI是如何识别网络上的负极...
但是大数据进行分析是利用人工智能,我们就可以深入剖析这个人的信息,他在人工智能面前是没有办法伪装的,因为他在电子设备上的一些表现都是他内心活动最直接的表达,所以会更加的准确。人工智能算法强大,数据来源更广泛很多朋友可能会对这个问题感到非常的好奇,人工智能是怎么进行识别的呢?他不像我们人类...
百图生科宋乐WAIC演讲:AI如何加速药物研发?
他深入剖析了AI如何突破传统制药流程的瓶颈,如漫长的研发周期和高昂的成本,通过智能筛选和优化,加速疾病治疗的步伐。宋乐在生物计算领域的成就斐然,作为ICML 2022大会的主席,他的研究聚焦于生物系统中的复杂网络,尤其是如何通过AI解决多尺度的复杂性问题。在生物体的微观世界中,从蛋白质序列到结构,再...
AI大模型专题报告:大语言模型(2024)
AI4Science领域,大语言模型的应用扩展到了科学研究的多个层面,对科研范式产生了深远影响。为了提升大模型性能,研究人员需要深入理解工程技术和理论实践的结合,如大规模数据处理和分布式训练。同时,大语言模型正在重塑人工智能的使用方式,用户不再直接编程,而是通过提示接口与模型交互。在产业应用上,大模型...