用Profiler监测Web应用
▲ 测试四:使用索引调整向导。在最后一次测试中,我从Tools菜单启动了Profiler的Index Tuning Wizard(索引调整向导)。使用索引调整向导时,在第一个屏幕上点击Next。在第二个屏幕上,选择正在测试的数据库,然后点击Next。在第三个屏幕上,保持“I have a saved workload file”的选中状态,点击Next。(我们可以把跟踪或SQL保存为workload(工作负载)文件)。在下一个屏幕上,点击“My Workload file”按钮,选择合适的工作负载文件,然后点击Next。在接着出现的屏幕上,只选中正在进行测试的表(miscdata),点击Next。
图二
接下来,索引调整向导运用从数据库跟踪获得的工作负载,分析负载情况。当向导结束分析,它提出了图二显示的索引建议。图二的屏幕还显示了估计可以从索引获得的性能改善程度。其中一次分析显示出性能可以改善大约80%。在性能数据屏幕上,我点击Next。在接下来出现的屏幕上,我点击“Apply Changes”,然后点击Next。在最后出现的屏幕上,我点击Finish使索引建议生效。
当我在新建索引的基础上再次进行测试,结果显示,索引调整向导改善了每一个页面的处理性能。然而,改进程度大约在百分之二十五左右。无论是对于存储过程还是测试一的动态SQL命令,结果都是一样的。CPU的测试数据更令人感兴趣。在修改索引之前,CPU数据的记录范围是从410ms到441ms;修改索引之后,动态SQL的CPU数据下降到了270ms,而对于存储过程,CPU数据下降到了210ms和240ms之间。我们可以看到,添加了一个索引之后,性能有了显著的提高,服务器的CPU负载显著地下降。
【小结】在这篇文章中,我讨论了几个性能分析问题。就象我所做的那样,你可以测试几个页面,得到初始的性能数据;然后,用Profiler深入剖析Web应用,仔细观察服务器的活动情况。例如,在SQL Server处理SQL命令或存储过程的每一个步骤,你可以获取其他各种重要的统计数据。另外请记住,按照索引调整向导的建议创建索引能够显著地提高性能。