人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統(tǒng)下載站 > 技術(shù)開發(fā)教程 > 詳細頁面

運用 IIS 5.0 調(diào)整 Web服務(wù)器的藝術(shù)與科學--3

運用 IIS 5.0 調(diào)整 Web服務(wù)器的藝術(shù)與科學--3

更新時間:2022-07-02 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

安全性

  在性能與用戶關(guān)心的Web服務(wù)器安全性之間找出平衡點是您將面對的重要問題之一,尤其是當您經(jīng)營電子商務(wù)網(wǎng)站更是如此。因為安全的網(wǎng)絡(luò)通訊比不安全的網(wǎng)絡(luò)通訊需要更多資源,所以知道何時應(yīng)使用不同的安全技術(shù) (如 SSL 通訊協(xié)議或 IP 地址檢查),以及何時不該使用它們是很重要的。例如,您的首頁或一個搜尋結(jié)果頁幾乎不需要通過 SSL 執(zhí)行。但是,當用戶進入一個結(jié)帳或采購網(wǎng)頁時,您就需要確定該頁是安全的。

  如果使用 SSL,則請注意,建立初始連接比重新連接已經(jīng)在 SSL 有效期緩存中的安全信息的成本要高上五倍。SSL 有效期緩存的默認超時時間,已經(jīng)從 Windows NT 4.0 中的 2 分鐘改變?yōu)樵?Windows 2000 中的 5分鐘。一旦這個資料被清除時,客戶端及服務(wù)器就必須建立一條全新的連接。如果打算支持長時間的 SSL 有效期,則可利用 ServerCacheTime 注冊表設(shè)置來延長這個超時時間。如果預計會有幾千位用戶使用 SSL 連接到您的站點,則較安全的方式是預估需要 SSL 有效期持續(xù)的時間,然后將 ServerCacheTime 參數(shù)設(shè)成比您預估的時間稍長一些。請勿將超時時間設(shè)置值超過此參數(shù),否則您的服務(wù)器會在緩存中留下舊的資料。此外, 請確定 HTTP Keep-Alives 已啟用。除非瀏覽器明確地關(guān)閉連接,否則 SSL 有效期與 HTTP Keep-Alives 并用時不會超時。

  除了具備高性價比的所有安全性技術(shù)外,Windows 2000 及 IIS 5.0 安全性服務(wù)也整合到一些操作系統(tǒng)服務(wù)中。這表示您無法從這些服務(wù)的其它領(lǐng)域個別監(jiān)視安全性性能。反之,測量安全性是否消耗系統(tǒng)資源最常用的方式是執(zhí)行測試,分別比較有安全性功能及沒有安全性功能時的服務(wù)器性能有何不同。此測試在進行時必須使用固定的工作量及固定的服務(wù)器設(shè)置,讓安全性功能成為唯一的變量。在測試期間,您可能需要測量下列項目︰
  
  ·處理器活動及處理器隊列︰驗證、IP 地址、檢查、SSL 通訊協(xié)議,及加密安全性是需要特別處理的安全性功能。您可能會在專用模式或用戶模式中看見增加的處理器活動,以及內(nèi)容切換與中斷的比率增加。如果服務(wù)器中的處理器不足,無法處理增加的負載,便可能形成隊列。密碼加速器之類的硬件在這里可能會有所幫助。

  ·如果正在使用 SSL 通訊協(xié)議,則 lsass.exe 可能會耗用驚人的 CPU 容量。這是因為 SSL 進程是在這里進行。這表示習慣在 Windows NT 中監(jiān)視 CPU 使用情況的管理員會看見 Inetinfo.exe耗用較少的處理器,但 Isass.exe 卻耗用很多。

  ·使用的物理內(nèi)存︰安全性需要系統(tǒng)存放及獲取更多用戶信息。此外,SSL 通訊協(xié)議可以使用長識別碼-40 位到 1,024 位-來加密及解密信息。

  ·網(wǎng)絡(luò)傳輸量:您也可能會在 IIS 5.0 的服務(wù)器,及用來驗證登入密碼并驗證 IP 地址的域控制站之間,看見增加的傳輸量。

  ·等待時間及延遲︰復雜的安全性特性 (如 SSL) 導致最明顯的性能降級就是花在加密及解密的時間和精力,因為這兩者會使用大量的處理器循環(huán)。從使用 SSL 通訊協(xié)議的服務(wù)器上下載文件比不使用 SSL 的服務(wù)器下載文件會慢上10 到 100 倍。

  如果服務(wù)器不僅用來執(zhí)行 IIS 5.0,還作為域控制站使用,則域服務(wù)所耗用的處理器用量、內(nèi)存、網(wǎng)絡(luò)及磁盤活動的比例可能會因為這些資源上而帶來明顯的增加。增加的活動足以讓 IIS 5.0 服務(wù)無法有效地執(zhí)行。強烈建議您避免在域控制站上執(zhí)行 IIS 5.0。

  監(jiān)視網(wǎng)絡(luò)應(yīng)用程序

  使用一個設(shè)計完善且已徹底測試過的應(yīng)用程序來升級或替換一個撰寫不佳的應(yīng)用程序,可以顯著地增強性能 (有時可增加到三倍)。不過,請記住您的網(wǎng)絡(luò)應(yīng)用程序可能會受到后端等待時間的影響 (例如 A4/400 等較傳統(tǒng)系統(tǒng))。遠程資料來源會引起性能問題的原因很多。如果開發(fā)人員將應(yīng)用程序設(shè)計成從另一個網(wǎng)站上取得資料,但目標網(wǎng)站卻出現(xiàn)當機,則該應(yīng)用程序會在您的服務(wù)器上造成瓶頸。如果應(yīng)用程序正在存取遠程 SQL 服務(wù)器的數(shù)據(jù)庫,則該數(shù)據(jù)庫可能無法跟上傳送給它的請求。因為您可能是自己站點的 SQL 數(shù)據(jù)庫管理員,所以要監(jiān)視這些位于遠程的服務(wù)器可能會有困難。更糟的是,您可能沒有這些數(shù)據(jù)庫服務(wù)器或其它后端服務(wù)器的控制權(quán)。如果可以的話,請監(jiān)視與您的應(yīng)用程序一起使用的后端服務(wù)器,并將它們調(diào)整得與您的Web服務(wù)器一樣的好。

  若要判定您的 Web 服務(wù)器是否正在您的服務(wù)器上造成瓶頸,請監(jiān)視下列性能計數(shù)器︰

  ·Active Server Pages︰Requests/Sec、Active Server Pages︰Requests Executing、Active Server Pages︰Request Wait Time、Active Server Pages︰Request Executing Time 及 Active Server Pages︰Requests Queued。如果正在服務(wù)器上執(zhí)行 ASP 應(yīng)用程序,則這些計數(shù)器可讓您了解這些應(yīng)用程序執(zhí)行的狀況有多好。「Active Server Pages︰Requests/Sec」不含靜態(tài)文件或其它動態(tài)內(nèi)容的請求,它會根據(jù) ASP 網(wǎng)頁的復雜度及您 Web 服務(wù)器的容量明顯地變動。如果這個計數(shù)器在服務(wù)器上的傳輸量處于尖峰期間出現(xiàn)低值的話,則您的應(yīng)用程序可能會導致瓶頸。「Requests Executing」顯示目前正在執(zhí)行的請求數(shù)目;「Request Wait Time」顯示最近的請求在隊列中等待的毫秒數(shù);「Request Execution Time」顯示最近的請求花在執(zhí)行上的毫秒數(shù)。理想的狀態(tài)是「Requests Queued 」及「Request Wait Time」應(yīng)保持接近 0,但它們會在不同的載量下起伏變動。最大「Requests Queued」數(shù)目是由 AspRequestQueueMax 的 Metabase 設(shè)置來決定。如果達到此限制,則客戶端瀏覽器將顯示 [HTTP 500/ 服務(wù)器太過忙碌]。如果這些數(shù)字大幅偏離了預計的范圍,則您的 ASP 應(yīng)用程序可能必須重寫才能提高性能。由于「Request Execution Time」并非一個平均值,所以會有些誤差。例如,如果您固定會接收一頁 30 個請求,每頁是以 10 毫秒到 500 毫秒的速度執(zhí)行每一個請求,則即使平均執(zhí)行時間超過 25 毫秒,但是計數(shù)器可能會顯示 10 毫秒。要為「Requests Executing」說出一個最適當?shù)闹岛茈y。如果頁面執(zhí)行得很快,而且不會等待 I/O (加載文件或提出數(shù)據(jù)庫查詢),則這個數(shù)字可能會比較低 (比機器忙碌時的處理器個數(shù)低一些)。如果頁面必須等待 I/O,則執(zhí)行的頁數(shù)可能會較高 (接近 AspProcessorThreadMax 乘以處理器個數(shù)的值)。如果「Requests Executing」的值是高的、「Requests Queued」是大的,而 CPU 的使用率是較低的,則可能必須增加 AspProcessorThreadMax。啟用時,傳送的線程會試著最佳化「Requests Executing」。用戶的響應(yīng)時間會與「Request Wait Time」加「Request Execution Time」加網(wǎng)絡(luò)等待時間的和成比例。

  ·Web Service: CGI Requests/sec及 Web Servcie: ISAPI Extension Requests/Sec 會報告您的服務(wù)器是以哪個速度處理 CGI 及 ISAPI 應(yīng)用程序請求。如果這些值在負載增加時降低,則可能必須請求應(yīng)用程序開發(fā)人員重新檢查他們的程序代碼。
附注-ASP 是個「ISAPI Extension」,包含在第二個計數(shù)器中。

  ·Web Service: Get Requests/sec及Web Service: Post Requests/Sec 反應(yīng)這兩個常見 HTTP請求類型是以哪個速度出現(xiàn)在您的服務(wù)器上。「Post Request」通常是用于窗體,并傳送到 ISAPI (包括 ASP) 或 CGI。「Get Request」會記錄幾乎所有來自瀏覽器的其它請求,并包括靜態(tài)文件、APS 與其它 ISAPI 的請求,以及 CGI 請求。


調(diào)整 Web 應(yīng)用程序

  IIS 5.0 對于服務(wù)靜態(tài) HTML 網(wǎng)頁及配上默認的設(shè)置值基本就已足夠了。如果您的站點主要是靜態(tài)內(nèi)容,則許多性能問題可能會與硬件有關(guān)。IIS 5.0 為 Web 應(yīng)用程序提供不錯的性能,但若想獲得最佳的性能,還需要一些額外的調(diào)整。當然,不管服務(wù)器軟件如何增強,與 Web 應(yīng)用程序設(shè)計及程序代碼有關(guān)的最佳經(jīng)驗方法的問題依然會存在。雖然本文沒有試圖討論調(diào)整 Web 應(yīng)用程序的細節(jié),但本節(jié)仍提供一些使它們執(zhí)行更快的指導及建議。在規(guī)劃及測試您的 Web 應(yīng)用程序時,請先考慮下列事項,然后再到實際聯(lián)機運行的服務(wù)器上執(zhí)行它們。

  第一,ISAPI 應(yīng)用程序比 Active Server Pages (ASP) 應(yīng)用程序執(zhí)行得更快,雖然 ASP 的開發(fā)費用遠比 ISAPI 低。這兩種應(yīng)用程序都比 CGI 應(yīng)用程序執(zhí)行得更快。

  第二,因為靜態(tài)文件不會有動態(tài)文件才有的處理負載,或引起磁盤活動,所以您應(yīng)該盡可能使用它們。除了使用靜態(tài)文件外,您的應(yīng)用程序應(yīng)盡可能將處理負載推到客戶端,以避免網(wǎng)絡(luò)等待時間。如此也能節(jié)省服務(wù)器端的資源,并讓更新在很段時間內(nèi)完成。有個常用的范例是加一個客戶端的小程序代碼,來檢查電子郵件地址組成是否正確。

  另一個技巧是確定在您的實際上線運行服務(wù)器上已關(guān)閉 ASP 的偵錯功能。如果啟用偵錯,則必須將 AppAllowDebugging Metabase 屬性設(shè)為 FALSE。相關(guān)信息,請參閱〈附錄 1︰性能設(shè)置〉。

  盡可能地為所有圖像及 HTML 設(shè)置「過期」標題,讓它們可以存放在客戶端的緩存中。相關(guān)信息,請參閱本文中的〈調(diào)整及疑難排除的建議〉小節(jié)。

  如果 Microsoft Visual Basic_ 對象是以 Apartment 線程處理的(非 Java 或大部分 C++ 對象),請從「ASP 應(yīng)用程序及有效期」狀態(tài)中刪除它們。

  只有在必要時才使用 Secure Sockets Layer (SSL)。使用 HTTPS 通訊協(xié)議比使用標準 HTTP 貴很多。請確定傳送中的信息 (可能是敏感資料如信用卡號) 的價值是否值得您付出增加的費用。安全性調(diào)整問題的相關(guān)信息,請參閱本文中的〈安全性〉小節(jié)。

  進程隔離也會影響 Web 應(yīng)用程序的性能。IIS 5.0 Web 應(yīng)用程序默認是在進程外的緩沖池 (中度保護) 中執(zhí)行。接受進程隔離對性能的影響總比冒著服務(wù)器停機或資料遺失的風險來的安全,例如因應(yīng)用程序當機而破壞它與 IIS 5.0 共享的 Ientinfo 進程時就會導致這些風險。有關(guān)這個主題的深入討論,請參閱本文中的〈進程隔離〉小節(jié)。

  若要增進生產(chǎn)環(huán)境中的數(shù)據(jù)庫驅(qū)動性能,請使用 Microsoft SQL Server。由于 IIS 及 SQL Server 在足夠的內(nèi)存下執(zhí)行的情況最好,因此請嘗試將資料庫存放在不同于 Web 服務(wù)的服務(wù)器上。在這種情況下,經(jīng)由網(wǎng)絡(luò)跨計算機通訊通常比單一計算機上的通訊還快。當 SQL Server 及 IIS 存放在同一臺服務(wù)器上時,就會經(jīng)常因為內(nèi)存不足或循環(huán)不夠而導致性能降低。此外,請務(wù)必建立及維護適當?shù)乃饕H绱瞬拍茏钚』瘮?shù)據(jù)庫查詢的輸入和輸出。最后一點,請盡量多利用被存儲的過程(stored procedured)。它們比設(shè)計來執(zhí)行相同工作的 ASP 腳本文件所需的執(zhí)行時間更少,而且更容易撰寫。

  一般來說,如果您有個超過 100 行 (使用 #include 指令來計算添加文件中的程序代碼行數(shù)) 的 ASP 腳本文件,請考慮建立一個 COM+ 組件來提供相同的功能。如果能撰寫得很有效率,并且經(jīng)過正確地的測試,則 COM++ 組件可以為同一動態(tài)頁提供 20 到 30 倍處理一個腳本文件的速度。使用 #includes 測量 ASP 腳本文件最簡單的方式是將擴展名從 .asp 改為 .stm,并使用您的瀏覽器開啟 .stm 檔。您的瀏覽器會顯示此 .asp 文件,以及來自該已包含文件(included file)中的程序代碼。

  若要最佳化動態(tài)網(wǎng)絡(luò)應(yīng)用程序的性能,很重要的一項工作是讓您的應(yīng)用程序正式在站點上啟用前,先測試它們。執(zhí)行這項工作有個很好用的工具--Web Application Stress (WAS) 工具,您可以從 Microsoft Web Application Stress Tool 站點 下載它。在這個站點上還包括專為此工具提供的教學指南及知識庫。WAS 也內(nèi)含在 Windows 2000 Resource Kit 附隨 CD 上。本 CD 上亦有。
測量網(wǎng)站服務(wù)器及應(yīng)用程序所需工具的相關(guān)信息,請參閱本文中的〈用來監(jiān)視及測試服務(wù)器性能的工具〉小節(jié)。如需網(wǎng)絡(luò)應(yīng)用程序性能及測試該性能所需工具的鏈接及參照清單,請參閱本文中的〈資源〉小節(jié)。
監(jiān)視及測試服務(wù)器性能的工具

  為了支持您的性能調(diào)整及測試需求,Microsoft 提供幾個工具︰有些內(nèi)含在 Windows 2000 及 IIS 5.0 中、有些位于 Windows 2000 Resource Kit CD中,剩下的內(nèi)容則可從 Microsoft 網(wǎng)站下載。「系統(tǒng)監(jiān)視器」(先前稱為 PerfMon) 內(nèi)建在 Windows 2000 中,它對于監(jiān)視服務(wù)器的各種性能而言是必要的。「進程及線程狀態(tài)」(pstat.exe) 會顯示所有執(zhí)行中的進程及線程的狀態(tài)。「進程樹狀目錄」(ptree.exe) 可讓您查詢進程的繼承樹狀目錄,及刪除本機或遠程計算機上的進程。這些工具都提供在 Windows 2000 Server Resource Kit 附隨 CD 上。提供在 Windows 2000 Resouce Kit 附隨 CD 上的「HTTP 監(jiān)視工具」會監(jiān)視服務(wù)器上的 HTTP 活動,而且會在活動容量發(fā)生改變時通知您。「網(wǎng)絡(luò)監(jiān)視器」是個您可以用來維持固定網(wǎng)絡(luò)傳輸量的 Windows 2000 管理工具。它不包含在默認安裝中,不過使用 [控制面板] 的 [添加/刪除程序] 功能可以安裝它。NetStat 是個指令行工具,會偵測關(guān)于服務(wù)器目前網(wǎng)絡(luò)連接的信息。

  這些工具的中心是內(nèi)建在 IIS 5.0 及 Windows 2000 操作系統(tǒng)中的「性能計數(shù)器」。開發(fā)人員也可以在他們編寫的 ISAPI DLLS 或 COM 組件中添加自定義的的「性能計數(shù)器」。這些計數(shù)器可以由以上提到的一些工具直接讀取,包括「系統(tǒng)監(jiān)視器」及「Web 應(yīng)用程序壓力工具」和 WCAT。其中有些計數(shù)器在本文前面已作過說明,但了解哪些會關(guān)系到您的監(jiān)視及測試需求是很重要的。

  「系統(tǒng)監(jiān)視器」是一個在Web服務(wù)器上建立性能基準,并監(jiān)視您對軟硬件所作的任何改變,對性能將產(chǎn)生哪些影響的最重要工具。「系統(tǒng)監(jiān)視器」提供一個用戶接口,讓您在監(jiān)視或記錄時能看見性能計數(shù)器的指數(shù)。它也能讓您以圖形方式記錄計數(shù)器活動,并設(shè)置將出現(xiàn)在 [事件查看器] 中的警告。「系統(tǒng)監(jiān)視器」提供系統(tǒng)中每一計數(shù)器的記錄。

  「Web 應(yīng)用程序壓力」工具是專門為了仿真多個瀏覽器同時向一個網(wǎng)站送出網(wǎng)頁請求而設(shè)計的。您可以使用這個工具來收集關(guān)于 Web 應(yīng)用程序性能及穩(wěn)定性的信息,以及服務(wù)器執(zhí)行狀況的信息。這個工具可以仿真利用少數(shù)的客戶端機器向 Web 服務(wù)器送出大量的請求時的狀態(tài)。其目的是為了建立一個與生產(chǎn)環(huán)境盡可能相似的環(huán)境。如此才能讓您在將 Web 服務(wù)器及應(yīng)用程序部署到聯(lián)機運行的服務(wù)器上之前,先找出并消除其中存在的問題。

  以上任一工具的相關(guān)信息,請參閱內(nèi)含在 Windows 2000 Resource Kit 中的聯(lián)機IIS 5.0 文件。指向其它信息來源的鏈接則內(nèi)含在本文的〈資源〉小節(jié)中。


溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統(tǒng)下載排行

網(wǎng)站地圖xml | 網(wǎng)站地圖html
主站蜘蛛池模板: 东乡| 松溪县| 霍林郭勒市| 新民市| 安仁县| 甘肃省| 澄江县| 镇沅| 运城市| 松阳县| 宿迁市| 望江县| 杂多县| 哈巴河县| 石景山区| 江西省| 崇州市| 桓仁| 外汇| 上杭县| 岳池县| 镇沅| 安乡县| 邢台县| 义乌市| 马尔康县| 美姑县| 阿克| 白银市| 东至县| 巴南区| 蒙自县| 桐庐县| 砚山县| 英德市| 呼玛县| 长乐市| 金川县| 抚州市| 闽清县| 简阳市|