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

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

原创
作者:阿风 译 2010-04-23 09:54:01

开发

后端

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

【51CTO独家特稿】Visual Studio 2010已经来临了,看起来相当不错。微软给其性能管理方案(比如dynatrace)添加了新的界面,用来扩展网络测试以及负载测试的能力(请查看Ed Glas的日志,里面介绍了VSTS Load Testing中有哪些内容),以超越.NET的开发环境,并且比负载测试报告更能深层次的告诉你关于被测试应用程序的性能。51CTO开发频道向您推荐《VS2010分布式和异构应用程序的负载测试(下)》

但是,在我们探索通过扩展Visual Studio能做什么之前,让我们看看没扩展时我们能得到哪些东西:

Visual Studio 2010的标准负载测试报告

Visual Studio 2010运行负载测试是为了收集各种各样的信息。这些信息包括执行要求的反应时间、被测应用程序基础设施(比如CPU,内存,I/O, …)的性能计数器,以及你的负载测试基础设施(负载控制器及代理)的健康程度。我运行了一个4层(2个JVM, 2个 CLR)的网络应用程序。4个层通过SOAP Web Services (Axis->ASMX)进行交流。这个前端网页应用程序是用Java Servlets实现的,在15分钟的测试中负载不断增加。测试分为多个不同的事务处理,比如:Home Page、Search、Login、BuyDirect等…—当运行测试的时候,我也同时监视了所有相关应用程序服务器以及负载测试基础设施的性能计数器。Visual Studio 2010 允许我通过可配置的曲线图来监视负载测试的当前状态,具体曲线图如下所示:

 

Visual Studio负载测试曲线图

该图显示,随着用户负载的增加,我的事务(不是全部)处理的反应时间也在增加。图中还显示出应用程序服务器上的CPU使用率出现了问题(同时有差不多20个用户时,CPU的使用率就会超过80%)。在负载测试的最后,会有一个总结报告,描述了对于这个应用程序执行了哪些负载—发生了哪些错误以及哪些页反应最慢:

 

负载测试总结报告

把报告切换到表格视图,会有一个单个结果特征的详细分类,比如Transactions、Pages、 Errors(事务处理,页,错误,)等等:

 

Visual Studio负载测试汇总表格

从表格试图中我们可以得到以下结论:

 553页的请求超过了我的每页200ms规则

 

 553页是属于menu.do, netpay.do 以及 userlogin.do(当你查看单个错误请求的时候,你就可以看到这个)

 

 该LastMinute事务处理是目前最慢的,平均反应时间1.41秒,最大反应时间为5.64秒。

 

我们不知道的是这些事务处理为什么这么慢:性能计数器表明CPU是一个潜在的问题,但是它没有告诉我们,是什么造成了CPU负载增大,这个问题是否能被解决或者说我们是否已经达到了系统性能的上限。

dynaTrace捕获的Visual Studio 2010负载测试执行情况报告

dynaTrace用户可以从dynaTrace Community Portal(dynaTrace社区门户)下载这个Visual Studio 2010插件。这个程序包里含有一个Visual Studio外接程序以及一个Visual Studio测试插件库,扩展了其网络测试以及负载测试的能力。我们也提供Automatic Session Analysis(自动会话分析插件),能够帮忙分析从较长时间的负载测试中捕获的数据。

 

在我的4层应用程序中进行负载测试时,我使用的是dynaTrace Test Center Edition(测试中心版)。这个Visual Studio 2010插件确保了dynaTrace能够自动捕获所有dynaTrace会话中的服务器端事务处理(PurePath的)。它还确保那些跟Web Test脚本中名字相同的事务处理都会传递到dynaTrace。

在运行负载测试过程中,我创建的Load Testing Performance Dashboard(负载测试性能仪表板)使得我可以观察传入的请求以及每个JVM和CLR中的内存使用情况。我能看到我的应用程序中是哪些层次对系统的性能产生了影响— ADO.NET, ASP.NET, SharePoint, Servlets, JDBC, Web Services, RMI, .NET Remoting等等层—dynaTrace会自动监测这些层,而且还帮助我理解应用程序中实际上是哪些部件/层次消耗了大部分的执行时间以及逐渐增加的负载对这些部件的影响分别是怎样的。除此以外,我还能观察到执行的SQL语句数量(不管是通过Java还是.NET),以及发生的异常情况的数量:

dynaTrace负载测试性能仪表板

仪表板左上角的图表中显示的是单个事务处理的反应时间,其下方的图表是累积的事务处理数量。这些是进入的请求数量,从中我们很容易获悉VS2010是怎样在测试中增加负载的。

仪表板右上角的图表是两个JVM的内存使用情况,其下方的图表是两个CLR的内存使用情况(在我的第二个JVM中似乎存在着一个内存泄漏,而且还有一个非常“安静的”CLR)。

仪表板左下角的图表显示的是我的应用程序随着逐渐负载的增加有什么变化。我能看到我的应用程序表现一直都还不错,直到一个特定的用户负载得出现。但是,Web Service Layer(网络服务层)(黑灰色)的性能表现开始比其他所有有关的应用层差很多。

仪表板右下角的数据库语句数量以及异常情况数量告诉我,这些计数器随着负载的增加而线性的增长。但是,似乎我们有相当多的数据库查询(高达350/second),还有非常多的异常情况值得调查。

在负载测试完成之后,我得到的第一个报告显示出速度最慢的网络事务处理,它们按照Visual Studio中的名字进行归类:

 

dynaTrace每个网络处理的性能报告

从上图中,我可以看到LastMinute处理的确是最慢的处理,反应时间5.6秒是最大的。从这个报告中,我们能够将高级事务处理分解成应用层、数据库调用以及方法调用,从而进行细致的分析,这是该报告的最大优点所在。根据这个分类我们能够立即看出对于Last Minute处理来说,Java Web Service是最高的性能消耗者。我们也能看到448个对此事务处理的请求包含有几千个数据库查询,我们还能看到是哪些Java以及.NET方法占据了系统的执行时间。点击Slowest Page会打开PurePath Dashlet,它显示出每个已执行的事务处理。如果按持续时间进行排列,还可以显示出各个处理的执行时间有着巨大的差异。PurePath Hot Spot视图让人很简单的就能揪出在最慢的事务处理中最消耗性能的方法:

 运行最慢的事务处理中,不同的PurePath之间差别很大

有了PurePath Comparison功能,我可以进一步找出两个执行时间差别很大的事务处理有什么不同:

 

通过可视图表以及PurePath Comparison Tree,我们可以看到时间上的区别主要是因为在该情况下进行SpecialOffer和所有调用构成的。底部的表格列出了这两个PurePath之间所有时间和结构的不同之处,让我们更加深入的了解还有没有其他方面的差别。

原文标题: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/243163.html<

(0)
运维的头像运维
上一篇2025-04-25 03:34
下一篇 2025-04-25 03:36

相关推荐

  • 个人主题怎么制作?

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

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

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

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

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

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

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

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

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

    2025-11-20
    0

发表回复

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