用Profiler监测Web应用之一

王朝other·作者佚名  2006-12-16
宽屏版  字体: |||超大  

Profiler的功能之一是监视和报告SQL Server数据库在各个层次上的性能,但许多人忽视了Profiler作为一个Web开发工具的作用。其实,它可以用来观察Web应用程序如何与服务器交互,帮助我们分析代码的效率。

正文:

在SQL Server 2000和7.0中,许多人忽视了Profiler作为一个Web开发工具的作用。Profiler的功能之一是监视和报告SQL Server数据库在各个层次上的性能,可以用来观察Web应用程序如何与服务器交互。此外,Profiler还可以帮助我们分析代码的效率。例如,用Query Analyzer对代码进行优化之后,我们可以用Profiler测定Web应用的性能是否提高。

为了生成用来分析Web应用与SQL Server通信情况的性能数据,首先要测试几个页面。选择一个能够为应用模拟出实际负载情况的测试工具,然后运行Profiler观察负载情况。例如,你可以下载Web Application Stress Tool,地址在http://webtool.rte.microsoft.com。Application Center也包含了该工具的一个升级版本,Application Center是Microsoft的一个新产品,当前正在进行Beta 2测试。

用Profiler运行跟踪的时候,保存结果的文件名字应该容易识别。先进行几次测试,接下来就可以比较每一步骤的结果。每次运行之后,你都必须启动一个新的跟踪,而且每次都要保存跟踪。另外,你还可以保存跟踪再重演负载情况,模拟数据库上的实际负载。必须注意的是,用Profiler或Query Analyzer重演负载只模拟出一个负载,它与通过Web应用程序加载负载是不同的。为了说明Profiler的应用,下面是我进行的四个简单测试。

▲ 测试一:在ASP脚本中运行一个简单的查询。首先,我编写了Listing 1显示的简单ASP脚本Database.asp,这个脚本包含了RunWithRS函数。然后,我编写了Web Listing 1的脚本FirstData.asp,它调用RunWithRS函数执行下面的查询:

sSQL = "select ckey1,col2 from testtable

where ckey1 = ’a’"

我在两个Web服务器上运行了FirstData.asp脚本。第一台服务器是Windows 2000工作站,600 MHz Pentium CPU,192MB的RAM。第二台服务器是Toshiba Tecra(133MHz Pentium,144 MB的RAM),运行Win 2K,同时运行SQL Server 7.0。

图一

我启动Profiler,设置跟踪的属性,然后开始了一个跟踪。跟踪结果请参见图一。在第一次测试中,运行时间是相同的。这个结果就象我们预料的一样,因为无论从哪一个系统访问数据库都应该报告同样的响应时间。测试中唯一的区别在于Web服务器,但它不会影响数据库服务器的运行。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有