二、測試環境
本測試總共用到了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") = "SELECT TOP 0 OrderID, " & _ " CustomerID, " & _ " EmployeeID, " & _ " OrderDate, " & _ " RequiredDate, " & _ " ShippedDate, " & _ " Freight " & _ "FROM [Orders] " End Sub < /SCRIPT >
'alternate sql - 25 records Application("SQL") = "SELECT TOP 25 OrderID, " & _ " CustomerID, " & _ " EmployeeID, " & _ " OrderDate, " & _ " RequiredDate, " & _ " ShippedDate, " & _ " Freight " & _ "FROM [Orders] "
'alternate sql - 250 records Application("SQL") = "SELECT TOP 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。請記住,和第一部分一樣,我們只關心代碼的效率,而不是它的可伸縮性或服務器性能。
同時請注意我們啟用了服務器的緩沖。另外,為了讓所有的文件名字長度相同,有的文件名字中嵌入了一個或多個下劃線。 (出處:熱點網絡)
|