VS2010分布式和异构应用程序的负载测试(下)

VS2010分布式和异构应用程序的负载测试(下)

原创
作者:阿风 2010-04-27 09:11:23

开发

后端

分布式 本文将介绍的是Visual Studio 2010分布式和异构应用程序的负载测试,包括具体的数值等内容。此文为该系列文章的下篇。

【51CTO独家特稿】51CTO开发频道推出系列文章《VS2010分布式和异构应用程序的负载测试》,点击这里查看上篇。

对每个失败的Web请求显示PurePath

在VS2010负载测试运行设置(Run Configuration)中,你可以指定把详细的反应结果存储在一个SQL数据库中。这使得你在负载测试完成之后,可以查找单个失败的事务处理,包括实际的HTTP流量以及所有相关的时间。在我的测试中就有另外一个较慢的事务处理,名字叫BuyDirect。我通过VS2010 Load Testing Report打开了那些失败的事务处理,并对那些速度慢的请求进行了分析:

负载测试的问题请求,连接到dynaTrace PurePath

结果视图(result view)告诉我,这个请求用了1.988秒。dynaTrace VS2010插件在Results Viewer中添加了一个新的标签,点击一个PurePath连接就可以打开捕获的PurePath来查看那个特别慢的请求。点击这个连接会在dynaTrace Client中打开PurePath:

 从Visual Studio打开的长时间运行的异构事务处理

我们能很容易的发现在这个事务处理中时间都花在了哪里—都花在了从第二个JVM (GoSpaceBackend)到承载Web Service (DotNetPayFrontend)的CLR的网络服务调用上。其中一个问题似乎也跟调用网络服务时发生的异常情况有关。这些异常情况不能构成我们自己的日志架构,因为它们是由Axis内部处理的,但是它们会由配置问题引起(我们可以去查看完整的异常堆栈跟踪来查明事实)。进一步往下点击,我可以看到这个处理的Sequence Diagram程序流程图。这个流程图更好的描述了4个不同服务器之间的交互活动:

dynaTrace程序流程图,显示了在单个事务处理中服务器之间的交互活动

程序流程图的内容比截图中内容丰富得多,但我猜你已经知道,我们已发现了一个服务器之间交互率非常高的事务处理。

dynaTrace VS2010 Plugin让我在几秒钟之内就找到了分布式异构事务处理中存在着问题的方法,比单独依靠负载测试报告来分析这个问题节省了大量的时间。

跟开发人员分享测试结果,并在源代码中找到问题的出处
现在,我们已经拥有了所有重要的信息,并且已经发现了几个开发人员应该仔细调查的热点问题。我只是简单的把捕获的数据导出到一个dynaTrace Session文件中,并把它附在一个我指派给开发人员的JIRA文档上面(或其他bug追踪工具),而不是让开发人员来访问我的测试环境。我也可以导出所有捕获的数据,或者更明确的说,只导出那些被识别出来的有问题的PurePaths。

开发部门拿到dynaTrace Session文件之后,会将其导入到自己的本地dynaTrace Client中,并分析我们在测试环境中已经分析过的那些相同粒度(same granular)的数据。安装dynaTrace Visual Studio 2010 Plugin之后,开发人员可以从PurePath中或者dynaTrace Client的Methods Dashlet中开始查找Visual Studio中的单个方法:

查找问题方法的源代码

Visual Studio的dynaTrace Plugin插件会对所选择的方法进行搜索、打开源代码文件,并把光标放在那个方法上,但前提是你必须保持你的解决方案文件是打开的:

在Visual Studio 2010编辑器中显示出问题方法的源代码

你可以很容易把这些数据跟需要研究它们的人进行分享。在短短几秒钟内,开发人员就可以在Visual Studio 2010中找到那行有问题的、影响性能的源代码。开发人员还可以查看所有的背景资料,它们可以显示出为什么同一个事务处理的单个执行比其他的要快,因为PurePath包含诸如方法参数、HTTP参数、带有Bind变量的SQL语句、Exception Stack Traces等信息,所有这些信息都是开发人员所喜欢的。

通过测试运行来识别回归(Regressions)

当针对不同的build版本连续运行负载测试时,我们期望其性能会越来越好。但是,如果情况不是这样呢?上一个build版本到目前的版本都有哪些改变?哪些模块的表现不如上一个版本中的好?我们访问数据库的方式变了吗?自定义代码的算法是否用时太多,或者引入到这个build版本中新的第三方库是否让所有操作的速度都变慢了?

Automatic Session Analysis 插件还能分析在两个负载测试会话之间传递的数据,并产生一个报告,显示出这两个会话的不同之处。下面的屏幕截图显示了一个负载测试的回归分析结果:

 通过比较两个负载测试会话得到的回归分析

上图显示了***版本(左上角)以及上一个build版本(右上角)中实际执行了哪些处理。在窗口的中间,我们可以看到每个会话中哪些层/模块消耗了系统性能,还有一个并列的对比(中央),那些时间条告诉我们哪些模块执行得更快或者更慢。我们似乎在大多数模块中都存在着某些严重的性能降低。在底部,我们还看到一个已执行的数据库语句与方法的比较。就像我在上一节中所说的那样,我们可以通过这个报告掌握更多的细节,进而对更多的细节进行分析。

总结
Visual Studio 2010是针对.NET或者Java网络应用程序执行负载测试的一个好工具。在这个版本中,Load Testing Report(负载测试报告)已经得到了改进,你可以对应用程序的性能有一个更好的理解。对于多层或者异构应用程序来说,正如我以上使用的那种,现在通过一个像dynaTrace这样的应用程序管理方案就能很轻松的获得比标准负载测试报告更多的信息。把负载测试方案以及APM方案结合起来使用,不仅能帮助你发现性能问题,还可以让你更快的找出问题所在,从而减少了测试周期以及测试阶段所花的时间。

如果你对这些话题感兴趣的话,这里还有更多的资料供你参考:关于怎样进行自动负载测试以及问题分析的白皮书;与Novell和Zappos一起进行的网络研讨会,讨论将负载测试方案和dynaTrace结合起来使用,从而加速测试过程;还有一些相关的博客文章(名字叫做101 on Load-Testing)可以参考。

原文标题:VS2010 Load Testing for Distributed and Heterogeneous Applications powered by dynaTrace

【编辑推荐】

  1. Visual Studio 2010将再度拥抱UML
  2. 图解Visual Studio 2010中的UML建模功能
  3. Visual Studio 2010及.Net 4新功能一览
  4. Visual Studio 2010安装初体验
  5. Visual Studio 2010中调试.NET应用程序详解 
     

 

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/231149.html<

(0)
运维的头像运维
上一篇2025-04-19 13:48
下一篇 2025-04-19 13:49

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注