默認情況下,asp 禁用瀏覽器和代理中的緩存。這將很有意義,因為 ASP 生來就是動態的,具有潛在地對時間敏感的信息。如果有一個不需要對每次查看進行刷新的頁,則應該啟用瀏覽器和代理緩存。這使得瀏覽器和代理能在某一段時間內,使用某一頁的緩存副本,這時間的長短可以控制。緩存能明顯減輕服務器負荷,使用戶的感受好一些。
Response.Redirect 通知瀏覽器,請求一個不同的頁面。該函數經常用于重定向用戶到登錄或錯誤頁面。既然重定向強制一個新頁請求,瀏覽器就必須做兩次到 Web 服務器的往返,而且 Web 服務器必須處理額外的請求。IIS 5.0 引入一個新的函數,Server.Transfer,該函數執行傳送到相同服務器上的不同 ASP 頁。這樣避免了額外的、從瀏覽器到 Web 服務器的往返,從而改善了整體系統性能,同時改善了對用戶的響應時間。請查看重定向中的新方向(英文),它討論了 Server.Transfer 和 Server.Execute。
也可以查看Leveraging ASP in IIS 5.0中有關 IIS 5.0 和 ASP 3.0 新功能的完全列表。(英文)
<a href="http://msdn.microsoft.com/workshop/" title="MSDN Web Workshop">http://msdn.microsoft.com/workshop</a>
它還適用于指向在 Web 站點主頁的 URL:請使用下面的: <a href="http://msdn.microsoft.com/">,不要用 <a href="http://msdn.microsoft.com">.
技巧 24:避免使用服務器變量
訪問服務器變量將引起 Web 站點向服務器提出特殊的請求,然后收集所有的服務器變量,并不止是需要的那個。這好像從發霉的閣樓中的文件夾中檢索某條特殊的信息一樣。當想要某條信息時,在訪問該信息之前必須先上閣樓取得文件夾。這與請求服務器變量時,性能訪問出現第一次請求服務器變量所發生的一樣。后續的對其他服務器變量的訪問不會引起性能訪問。
如上所述,性能是一種指標。如果您正努力改進站點的性能,請先設置性能目標,然后提高性能直到達到目標為止。請不要將所有的性能測試放在項目的最后。往往到了項目的最后,再做非做不可的體系結構改動已為時太晚,并使客戶失望。性能測試是日常測試的一部分。性能測試可以針對獨立組件進行,例如 ASP 頁面或 COM 對象,也可以將站點作為一個整體進行。
許多人使用單一的瀏覽器請求頁面來測試他們 Web 站點的性能。這將使您對站點的響應有很好的感覺,但對于站點在有負荷下的性能卻一無所知。
通常,要準確地測量性能,需要專用的測試環境。這個環境應該由那些,在處理器速度、處理器個數、內存、硬盤、網絡配置等方面,能模擬產品硬件的硬件組成。然后,需要定義客戶端的工作負荷:有多少并發用戶;他們提出請求的頻率;他們將訪問的頁面類型等等。如果您無法從站點獲得實際的使用數據,則需要估計它們。最后,需要一個能模擬預期客戶端工作負荷的工具。在這些工具的幫助下,可以開始回答一些問題,例如,如果我有 N 個并發用戶,需要多少臺服務器?您還能找出瓶頸和優化的目標。
下面列出了一些好的 Web 強度測試工具。極力推薦“Microsoft Web 應用程序強度測試 (WAS)”工具包。WAS 允許記錄測試腳本,然后模擬成百或上千個訪問 Web 服務器的用戶。WAS 報告大量統計結果,包括每秒請求數、響應時間的分布和錯誤計數。WAS 具有增強客戶端和基于 Web 的接口;Web 接口允許進行遠程測試。