科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件用VS.NET中的测试工具测试ASP.NET程序(图)(3)

用VS.NET中的测试工具测试ASP.NET程序(图)(3)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

在本文中我将解释微软Visual Studio企业版中包含的一个重要工具:微软Application Center Test。严肃的Web开发者都应该把这个工具放在自己的工具包中。

作者:天极网  来源:天极网  2007年9月1日

关键字:

  • 评论
  • 分享微博
  • 分享邮件
我对示例应用程序的第一处修改是改变返回数据量的限制。我把SQL查询SELECT * FROM Products改变为SELECT TOP 25 * FROM Products。这好像只是对代码进行了微小的修改。毕竟我只是限制屏幕中输出的数据量,但是其结果却是惊人的。其性能从每秒90个请求上升到200以上--性能提高了100%以上。由于你拥有基线,你知道了限制绑定到数据表格的数据量一定会影响性能。我还要修改其它一些东西。

下一步,修改<asp:DataGrid/>服务器控件,添加EnableViewState="false":

<asp:DataGrid EnableViewState="false" id="DataGrid1" runat="server" />

ViewState是ASP.NET的一个重要的特性,但是并非总是需要的。实际上,大多数使用了ViewState的数据表格都是不需要它的。在例子中,通过禁止ViewState,我可以提高166%的性能。我们继续!

下一步,添加下面的代码以激活输出缓冲(OutputCaching):

<%@ OutputCache Duration="60" VaryByParam="none" %> 

图5:输出缓冲

现在重新运行该测试。太惊人了!性能提高了600%,如图5所示。你可以调整OutputCache的持续数值,例如把OutputCache的持续值设置为1秒--你可以看到性能再次有很大的变化。

建立测试环境

测试操作是CPU密集型的事务,因此在运行测试的时候,你可能看到CPU的占用率接近100%。它在与测试部件分享CPU时间的时候会拿走正在测试的应用程序的资源。所有的配置选项都会影响测试结果,其中一部分模拟现实世界要真实一些。例如,如果SQL Server和ASP.NET在同一台计算机上,就无法模拟网络I/O的开销。大多数应用程序使用的数据库都不在Web服务器上。

为了建立真实的测试环境,把大量的旧的用于开发的计算机作为客户端使用。不要使用虚拟机。在这些计算机上运行Application Center Test。下一步尽可能地模拟现实世界。在一个没有运行其它任何应用程序的服务器操作系统上运行该Web应用程序,并且连接到另一台服务器的数据库。

需要说明的是,在开发环境中运行“烟幕”测试也没有什么错误。烟幕测试不能模拟现实世界,但是仍然可以提供大量的有价值的数据,并且可以用于预计在现实世界中同样的测试产生的结果。

后续的步骤和测试覆盖

现在你对如何测试和评估有了一些了解了,我推荐你在自己的应用程序上使用Application Center Test。了解你的用户在典型情况下如何使用应用程序是有好处的:哪些页面执行得更好,哪些页面没有改善?

例如,在Community Server中我们运行了多种类型的性能测试。主线(Mainline)测试包含了匿名和验证的情况。在大量个性化的应用程序中这一点可能显著的改变性能情况。

主线测试还包含了贯穿系统的通用路径,例如网络日志、图表、论坛的主视图,以及每个屏幕的不同视图。很明显,这些主线情形良好的执行情况是非常重要的,最好在这儿花费大量的时间以确保其正确性。

如果你管理或运行那些必须支持两个或多个并发用户。

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章