AQtime实战

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情
rel="File-List" href="file:///C:%5CDOCUME%7E1%5CDENGSH%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml"> rel="Edit-Time-Data" href="file:///C:%5CDOCUME%7E1%5CDENGSH%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_editdata.mso"> rel="themeData" href="file:///C:%5CDOCUME%7E1%5CDENGSH%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx"> rel="colorSchemeMapping" href="file:///C:%5CDOCUME%7E1%5CDENGSH%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml"> 最近在博客园看到了JustIn兄弟写的一些列的AQtime文章,非常不错,看完了手痒痒于是自己就写点了。

Justin

[原创]DebugTools系列(1):AQTime初探

[原创]DebugTools系列(2):AQTime配置

[原创]DebugTools系列(3):AQTime实践

[原创]DebugTools系列(4):AQTime经验总结


 

一、    背景介绍

 

AQTime 是一款Code Profile 工具,在2004年即获得了Sys-Con Magzine的最佳调试工具奖,它是由AutomatedQA公司(http://www.automatedqa.com)开发的,支持多种语言的性能测试。结合公司当前情况,将利用 AQTime 测试 .net winApp 性能瓶颈。

二、方法概述

1、    确定测试范围:确定需要分析的业务功能范围;裁剪待分析的类和方法。

2、    确定测试粒度:依据由粗至细的粒度原则进行分析,依次进行类、方法、行级跟踪;

3、    分析结果数据:根据截获的数据,分析数据确定下一步动作。

 

三、操作步骤

1、  File –> New Project(Shift+Ctrl+N) 新建空白测试工程AQtime_Demo_TestPrj.aqt

2、  选择测试类型。AQtime可进行Allocation profilerCoverage profilerPerformance profiler等多种测试数据的采集。由于关心函数的执行时间的性能,此处选择“Performance profile”进行数据收集策略;

3、  添加待测文件或模块(*.dll*.exe) ;在 Setup标签页中添加待测程序AQTimeDemo.exe

4、  确定测试区域范围。

4.1   依据“由粗至细”的原则,第一次采取数据时,可直接勾选“Full Check by Routines”,此时将跟踪捕获过程中所有方法的执行细节。为了更有针对性,也为了减少赛选数据量,可手动添加待测试区域 ProcessMethod

4.2   添加待测方法

Setup标签的Modules中,选择待测方法后,右键,选中“Add Selected to Aera”菜单中的“ProcessMethod”,即可将待测方法添加到测试区域。

5、  设定数据采集动作;

5.1   添加动作:

Triggers and Actions 标签页中右键,选择“Add Action…”,会出现“Add Action”对话框。如图填写基本数据后,确定即可。

4.3   设置获取结果动作函数;

Setup标签的Modules中,选中获取结果前执行的函数“AQtime.BusinessLayer.Process”后,右键,选择“Add Selected to Action”的“GetResult”,即可将指定方法添加到GetResult动作中。目的是在执行这些函数后,获取数据结果。

6、  F5启动应用程序,此时会出现“Run Setting”设置对话框,直接点击“Run”即可。在测试*.dll 等内容时,需要先设定运行参数Run -> Parameters 即可出现设定参数对话框。

7、  按照正常步骤执行程序,当程序执行完成后,AQtime 将自动记录每个函数的执行细节:

8、  分析数据

选择其中的某个方法,可在底部得到与该方法关联的细节。个人最喜欢的是下面的 Call Graph”,此处可以看到各种函数的调用关系,并显示出每个函数的执行时间和内容。


9
、通过分析上面的数据,确定下一步需要跟踪的方法为“BusinessLayer::Process”。按照4.2中的方法,将该方法添加到ProcessMethod 区域中。为了更清楚的分析数据,双击“Areas(Routines,Lines) ”面板中的“ProcessMethod”区域,更改Level为“Lines”,并取消勾选的“Full Check By Routines”。

10、按 F5 重启应用程序,重新按照正常步骤执行程序;

11、重新分析收集到的数据。在分析的数据底部,切换到“Editor”标签,得到每行命令执行的时间:

通过以上的分析,得到性能瓶颈点在于Source Line 46行的代码。当反复调用该方法50000次占64.12%的时间,因此我们优化的方法的重点在于改变Process方法中的瓶颈点。找到瓶颈点后,就是对症下药制定修改策略。

 

四、总结

         以上就是通过介绍使用 AQtime分析winApp的性能瓶颈点和热点,制定相关修改策略。使用AQtime不仅仅可以测试 c/s 的性能瓶颈,也可以找到 b/s 的瓶颈,基本上都是大同小异。


相关资料下载:http://download.csdn.net/source/744776

AQTime新手入门 一、AQTime功能简介 AQTime含有完整的性能和调试工具集,能够收集程序运行时关键的性能信息和内存/资源分配信息,并提交概要报告和详细报告,还提供所有的程序优化处理工具,囊括了自定义过滤器、图形化的调用层次结构一直到源代码浏览等内容。重点:能收集分析程序中某个例程所消耗的资源。 二、下载安装 关于AQTime的下载安装:http://confluence.fscut.com/display/CAD/2019/05/21/AQTime 三、AQTime常见问题解决方法 卡顿、无响应。在安装目录\ 阅读详情

相关推荐

4、代码性能分析:方法与工具详解

本文详细介绍了代码性能分析的基本方法和相关工具的使用。文章首先讲解了性能分析的基本规则,例如避免调试器干扰、减少用户交互和多次测试等。随后介绍了如何使用Delphi中的TStopwatch记录来测量代码执行时间,并通过具体测试数据验证了时间复杂度理论。此外,文章还对比了多种性能分析工具,包括开源工具AsmProfiler和Sampling Profiler,以及商业工具AQTime和Nexus Quality Suite,分析了它们的优缺点和适用场景。最后,总结了性能分析的流程和注意事项,为开发者提供了实用

r7s8t的博客 90

AQTime_Pro_8.81.54.7_Release_20210612.rar

解压密码:123 安装说明:https://blog.csdn.net/hongfu951/article/details/118517942 AQtime PRO是款功能强大的软件测试和BUG查找软件。它可以为用户提供全方面的软件压力测试功能,让用户可以在软件发布之前找出尽可能多的BUG,方便快捷,非常好用。

aqtime 。6.21 破解版 3

aqtime 。6.21 破解版 分卷3 WIN7 64 可用

定位性能瓶颈的常用命令

#以下总结了部分服务器性能及稳定性测试时,定位性能瓶颈的常用命令: 一、内存监控 free :查看内存使用情况 vmstat 3(间隔时间) 100(监控次数) :查看swap in/out 定位性能瓶颈 sar -r 3(间隔时间) :查看内存使用情况,不包含swap信息 二、CPU监控 ps -LP <pid> cu :按照<pid>的cpu消耗...

爱举铁的Tester 1059

AQtime使用小记

今天刚到网上下了AQtime。因为有个通信及数据存储的程序出现的内存泄漏。在用户的环境里出现了两次,在测试的环境里一次也没有出现,开发人员猜测是一部分代码引起的。说要代码的覆盖测试。看看测试环境里有那些没有运行到。问有AQtime有没有和自动化工具一起用?在BBS里看到AQtime使用简介-覆盖率测试方法(转)AQtime对实际可执行的代码行(不包括注释、空行、函数头、#include语句、宏定义

gddsky的小空间 1610

性能分析工具AQTime

性能优化的工具:统计出统计粒度(函数/行)在运行过程中,各粒度运行的占用时间。从而来为性能优化提供依据。 AQTime-具有性能统计功能,下面对AQTime的主要分析方面进行介绍   首先,选择performance profile(缺省的),进入性能统计模式   AQTime用作性能分析时 提供几种分析模式

春夜喜雨的专栏 2181

AQtime探索包,AQTime Guru分析器

  AQtime是一个程序性能探索包,可帮助开发人员跟踪内存泄漏、CPU 和其他 I/O 瓶颈,执行广泛的代码覆盖率分析并执行错误模拟。AQtime Guru 是作为应用程序开发计划的一部分而拥有的通用代码功能工具之一。它包括对 Java、Microsoft.NET、C/C++、Delphi、JScript、VBScript、Silverlight 和其他编程框架的支持。可以将 AQtime 用作具有丰富 UI 的独立分析工具,或者将其作为插件合并到 Microsoft Visual Studio 和 Em

q2315702359的博客 778

DebugTools系列(3):AQTime实践

导读通过前两篇文章,大家应该对AQTime已经有了一定的理论认识了吧![上一篇]文章最后埋了几颗地雷在Demo里面,希望感兴趣的同学自己挖挖看!因为对地雷的反馈不多,所以不知道有多少同学真正亲自动手实验了,如果你动手做了希望能告诉我,我会感到非常欣慰的!OK,不管怎么样,这次我们就是要演示挖地雷的过程了,有了AQTime这个超级探雷器,其实这是个非常简单愉快的过程,希望您能乐在其中!记得留下宝贵意...

imJaron的博客 301

AQTime教程

AQTime中文教程

AQTime简要说明

AQTime 简要说明 AQTime 是一款Code Profile 工具,在2004年即获得了Sys-Con Magzine的最佳调试工具奖,它是由AutomatedQA公司(http://www.automatedqa.com)开发的,支持多种语言的性能测试

Delphi性能剖析工具:AQTime标准版使用与结果解读.pdf

文档支持目录章节跳转同时还支持阅读器左侧大纲显示和章节快速定位,文档内容完整、条理清晰。文档内所有文字、图表、函数、目录等元素均显示正常,无任何异常情况,敬请您放心查阅与使用。文档仅供学习参考,请勿用作商业用途。 如果你正在寻找一种高效、强大的编程语言来开发跨平台应用,那么Delphi绝对值得考虑!它拥有直观的可视化开发环境,让代码编写变得轻松简单。凭借着快速的编译速度和卓越的性能优化,Delphi能够帮助开发者迅速构建出高质量的应用程序。无论是Windows、macOS、iOS还是Android平台,Delphi都能完美支持,真正实现一次编写,多平台部署。选择Delphi,开启高效开发之旅!

[原创]DebugTools系列(3):AQTime实践

导读通过前两篇文章,大家应该对AQTime已经有了一定的理论认识了吧![上一篇]文章最后埋了几颗地雷在Demo里面,希望感兴趣的同学自己挖挖看!因为对地雷的反馈不多,所以不知道有多少同学真正亲自动手实验了,如果你动手做了希望能告诉我,我会感到非常欣慰的!OK,不管怎么样,这次我们就是要演示挖地雷的过程了,有了AQTime这个超级探雷器,其实这是个非常简单愉快的过程,希望您能乐在其中! 记得留下宝...

weixin_34255055的博客 104
上一篇: Post-Mortem Debugging Your Application with Minidumps and Visual Studio .NET
下一篇: 【翻译 windbg - 1】Getting started with windbg - part I (第一部分 1)
孤剑
博客等级 码龄22年 590粉丝 299原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值