asp 性能测试报告 学习asp朋友需要了解的东西(3)


"</head>" & _
"<body>" & _
"<h1>Response Test</h1>" & _
"<table>" & _
"<tr><td><b>First Name:</b></td><td>" & FirstName & "</td></tr>" & _
...
"<tr><td><b>Birth Date:</b></td><td>" & BirthDate & "</td></tr>" & _
"</table>" & _
"</body>" & _
"</html>")

/app1/response3.asp片断

最好记录 = 8.08 毫秒/页
响应时间 = 7.05 毫秒/页
差  额 = -1.03 毫秒 (减少 12.7%)




   这是目前为止最好的方法。

   2.5 合并多个Response.Write,且在每一行的末尾增加CRLF

   也有人非常关注他们的HTML代码在浏览器端是否美观,因此我们又在每一行HTML代码的末尾加上了一个回车,使用的是vbCRLF常量,其他的测试代码与上例一样。
...
Response.Write("<html>" & vbCRLF & _
"<head>" & vbCRLF & _
" <title>Response Test</title>" & vbCRLF & _
"</head>" & vbCRLF & _
...
/app1/response5.asp片断

最好记录 = 7.05 毫秒/页
响应时间 = 7.63 毫秒/页
差  额 = +0.58 毫秒 (增加 8.5%)




   结果是性能略有下降,这可能是因为增加了字符串连接操作,同时输出的文本也增加了。

   2.6 意见

   根据上述ASP输出测试的结果,我们得出如下编码规则:

避免过多地使用内嵌ASP。
把尽可能多的Response.Write语句合并成单个语句。
绝对不要为了加上CRLF而封装Response.Write。
如果要格式化HTML输出,直接在Response.Write语句后面加上CRLF。

纲要:ASP动态生成的内容以什么方式输出效率最高?最好用哪种方法提取数据库记录集?本文测试了近20个这类ASP开发中常见的问题,测试工具所显示的时间告诉我们:这些通常可以想当然的问题不仅值得关注,而且还有出乎意料的秘密隐藏在内。

一、测试目的

   本文的第一部分考察了ASP开发中的一些基本问题,给出了一些性能测试结果以帮助读者理解放入页面的代码到底对性能有什么影响。ADO是由Microsoft开发的一个通用、易用的数据库接口,事实证明通过ADO与数据库交互是ASP最重要的应用之一,在第二部分中,我们就来研究这个问题。

   ADO所提供的功能相当广泛,因此准备本文最大的困难在于如何界定问题的范围。考虑到提取大量的数据可能显著地增加Web服务器的负载,所以我们决定这一部分的主要目的是找出什么才是操作ADO记录集的最优配置。然而,即使缩小了问题的范围,我们仍旧面临很大的困难,因为ADO可以有许多种不同的方法来完成同一个任务。例如,记录集不仅可以通过Recordset类提取,而且也可以通过Connection和Command类提取;即使得到记录集对象之后,还有许多可能戏剧性地影响性能的操作方法。然而,与第一部分一样,我们将尽可能地涵盖最广泛的问题。