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

来源:asp之家 时间:2011-03-09 10:57:00 



一、测试目的

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

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

   具体地讲,这一部分的目标是收集足够多的信息,回答下列问题:

l是否应该通过包含引用ADOVBS.inc?
l使用记录集时是否应该创建单独的连接对象?
l最好用哪种方法提取记录集?
l哪种游标类型和记录锁定方式效率最高?
l是否应该使用本地记录集?
l设置记录集属性用哪种方法最好?
l用哪种方法引用记录集字段值效率最高?
l用临时字符串收集输出是一种好方法吗?

二、测试环境

   本测试总共用到了21个ASP文件,这些文件可以从本文后面下载。每一个页面设置成可以运行三种不同的查询,分别返回0、25、250个记录。这将帮助我们隔离页面本身的初始化、运行开销与用循环访问记录集的开销。

   为便于测试,数据库连接字符串和SQL命令串都在Global.asa中作为Application变量保存。由于我们的测试数据库是SQL Server 7.0,因此连接串指定OLEDB作为连接提供者,测试数据来自SQL Server的Northwind数据库。SQL SELECT命令从NorthWind Orders表提取7个指定的字段。

代码如下:


<SCRIPT LANGUAGE=VBScript RUNAT=Server> 
Sub Application_OnStart 
Application("Conn") = "Provider=SQLOLEDB; " & _ 
"Server=MyServer; " & _ 
"uid=sa; " & _ 
"pwd=;" & _ 
"DATABASE=northwind" 
Application("SQL") = "SELECTTOP 0OrderID, " & _ 
"CustomerID, " & _ 
"EmployeeID, " & _ 
"OrderDate, " & _ 
"RequiredDate, " & _ 
"ShippedDate, " & _ 
"Freight " & _ 
"FROM[Orders] " 
End Sub 
</SCRIPT> 

'alternate sql - 25 records 
Application("SQL") = "SELECTTOP 25OrderID, " & _ 
"CustomerID, " & _ 
"EmployeeID, " & _ 
"OrderDate, " & _ 
"RequiredDate, " & _ 
"ShippedDate, " & _ 
"Freight " & _ 
"FROM[Orders] " 

'alternate sql - 250 records 
Application("SQL") = "SELECTTOP 250 OrderID, " & _ 
"CustomerID, " & _ 
"EmployeeID, " & _ 
"OrderDate, " & _ 
"RequiredDate, " & _ 
"ShippedDate, " & _ 
"Freight " & _ 
"FROM[Orders] " 



   测试服务器配置如下:450 Mhz Pentium,512 MB RAM,NT Server 4.0 SP5,MDAC 2.1(数据访问组件),以及5.0版本的Microsoft脚本引擎。SQL Server运行在另外一台具有类似配置的机器上。和第一部分一样,我们仍旧使用Microsoft Web Application Stress Tool 记录从第一个页面请求到从服务器接收到最后一个字节的时间(TTLB,Time To Last Byte),时间以毫秒为单位。测试脚本调用每个页面1300次以上,运行时间约20小时,以下显示的时间是会话的平均TTLB。请记住,和第一部分一样,我们只关心代码的效率,而不是它的可伸缩性或服务器性能。

   同时请注意我们启用了服务器的缓冲。另外,为了让所有的文件名字长度相同,有的文件名字中嵌入了一个或多个下划线。

标签:asp,性能测试
0
投稿

猜你喜欢

  • python光学仿真面向对象光学元件类的实现

    2022-10-11 19:45:06
  • python实现复制大量文件功能

    2023-09-03 16:42:54
  • 解决MSSQL2005远程连接sql2000非默认端口数据库的问题

    2024-01-28 09:41:10
  • pandas-resample按时间聚合实例

    2023-05-26 19:07:50
  • Python3安装tensorflow及配置过程

    2021-04-07 01:47:09
  • Jupyter加载文件的实现方法

    2021-11-12 23:16:15
  • Python实现注册、登录小程序功能

    2022-12-03 17:50:11
  • Python编程基础之类和对象

    2023-08-04 11:52:33
  • 适合所有表的添加、删除、修改的函数

    2008-04-15 15:29:00
  • python3爬虫学习之数据存储txt的案例详解

    2022-01-17 05:02:09
  • Vue的el-scrollbar实现自定义滚动

    2021-08-16 19:06:22
  • Python ord函数()案例详解

    2023-06-25 04:50:28
  • JavaScript中的64位加密及解密

    2009-12-23 19:10:00
  • Python实现大乐透号码随机生成

    2022-09-04 18:46:01
  • mysql如何分组统计并求出百分比

    2024-01-22 02:07:51
  • python+playwright微软自动化工具的使用

    2022-10-18 08:52:29
  • ASP.NET Core中的静态文件

    2024-05-21 10:13:23
  • win10下mysql 8.0.12 安装及环境变量配置教程

    2024-01-19 22:34:17
  • 教你用Python实现简易版学生信息管理系统(含源码)

    2022-07-21 23:40:00
  • Python生成可执行文件之PyInstaller库的使用方式

    2021-11-29 00:41:49
  • asp之家 网络编程 m.aspxhome.com