九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
壓力測(cè)試
Windows DNA 應(yīng)用程序中的數(shù)據(jù)訪問(wèn)組件進(jìn)行壓力測(cè)試

內(nèi)容

介紹
為什么要對(duì)應(yīng)用程序進(jìn)行壓力測(cè)試?
準(zhǔn)備運(yùn)行壓力測(cè)試
運(yùn)行壓力測(cè)試
計(jì)算壓力測(cè)試結(jié)果
成功運(yùn)行壓力測(cè)試的提示
結(jié)束摘要

介紹

Microsoft? Windows? DNA 應(yīng)用程序的開(kāi)發(fā)和部署中經(jīng)常被忽略的步驟是對(duì)應(yīng)用程序進(jìn)行壓力測(cè)試,確保當(dāng)生產(chǎn)環(huán)境中最大數(shù)量的授權(quán)用戶訪問(wèn)該應(yīng)用程序時(shí),它將按預(yù)期執(zhí)行。本文強(qiáng)調(diào)當(dāng)涉 及使用 Microsoft Data Access Components (MDAC) 開(kāi)發(fā)應(yīng)用程序時(shí)壓力測(cè)試的重要性,并且提供一些提示使該過(guò)程更容易完成。

本文的目的是幫助有經(jīng)驗(yàn)的開(kāi)發(fā)人員和 IT 專(zhuān)業(yè)人員設(shè)計(jì)和實(shí)現(xiàn)完整的壓力測(cè)試方案,診斷測(cè)試結(jié)果,并建議進(jìn)行某些更改以糾正缺陷。本文假設(shè)讀者熟悉 Microsoft Windows NT? Server、Microsoft SQL Server?、Microsoft Internet Information Server (IIS)、Active Server Pages (ASP)、Microsoft ActiveX? 數(shù)據(jù)對(duì)象 (ADO) 和 Microsoft Component Services 環(huán)境(或者如果使用的是 Windows NT,為 Microsoft Transaction Server [MTS])等技術(shù)。

應(yīng)該強(qiáng)調(diào) COM 或 DCOM 組件中業(yè)務(wù)邏輯和數(shù)據(jù)訪問(wèn)過(guò)程的正確實(shí)現(xiàn),包括 ADO 組件。由于性能和可靠性的原因,這些過(guò)程不應(yīng)該駐留在 Active Server Page 中。如果您關(guān)心應(yīng)用程序?qū)⑷绾卧趬毫ο逻\(yùn)行,則您可能已經(jīng)設(shè)計(jì)了利用這些組件和組件服務(wù)環(huán)境益處的應(yīng)用程序。

本文不嘗試討論由客戶端瀏覽器或帶寬限制引起的壓力問(wèn)題,而是主要專(zhuān)注于服務(wù)器端數(shù)據(jù)訪問(wèn)組件和它們與 Internet Information Server 的交互。本文也不處理因使用 Remote Data Services (RDS) 所帶來(lái)的難題。

為什么要對(duì)應(yīng)用程序進(jìn)行壓力測(cè)試?

在生產(chǎn)環(huán)境中部署應(yīng)用程序之前應(yīng)該總是先執(zhí)行壓力測(cè)試。對(duì)支持 Web 的應(yīng)用程序進(jìn)行壓力測(cè)試的基本目的是達(dá)到下列目標(biāo):

  • 精確測(cè)量當(dāng)系統(tǒng)上總用戶負(fù)載增加時(shí)各用戶的具體使用境況
  • 在生產(chǎn)環(huán)境中部署應(yīng)用程序之前,確定由應(yīng)用程序使用的最大硬件容量并因此確定硬件升級(jí)是否必要
  • 定義應(yīng)用程序用戶可接受的性能閾值,即平均頁(yè)響應(yīng)時(shí)間
  • 確保當(dāng)系統(tǒng)中出現(xiàn)了預(yù)計(jì)的最大并發(fā)用戶負(fù)載時(shí)性能閾值能夠保持在可接受的水平上

對(duì)于要獲得成功的大多數(shù) Web 應(yīng)用程序,用戶體驗(yàn)最為關(guān)鍵。然而,使應(yīng)用程序經(jīng)過(guò)壓力測(cè)試過(guò)程有許多充足的理由,包括:

  • 在開(kāi)發(fā)中運(yùn)行很好的應(yīng)用程序在高壓力環(huán)境下運(yùn)行時(shí)可能表現(xiàn)很差。例如,當(dāng)多個(gè)應(yīng)用程序同時(shí)使用 Internet Information Server 或 SQL Server 計(jì)算機(jī)時(shí),如果沒(méi)有將應(yīng)用程序設(shè)計(jì)為可在該方案中正確運(yùn)行,則將新的應(yīng)用程序添加到這些應(yīng)用程序中會(huì)干擾、甚至可能會(huì)中斷現(xiàn)有應(yīng)用程序。
  • 客戶將在最初幾次使用應(yīng)用程序時(shí)形成對(duì)其最重要的印象。如果因?yàn)閴毫?wèn)題使最初印象不好,則即使以后解決了該問(wèn)題,也很難改變他們 的印象。另一方面,通過(guò)在部署前對(duì)應(yīng)用程序進(jìn)行充分壓力測(cè)試,您可以在客戶中樹(shù)立良好的聲譽(yù),證明您是創(chuàng)建又好又快且按預(yù)期運(yùn)行的應(yīng)用程序的開(kāi)發(fā)商。
  • 負(fù)責(zé)部署和維護(hù)應(yīng)用程序的 IT 團(tuán)隊(duì)將和客戶一樣(甚至比客戶更加)贊賞您的壓力測(cè)試。他們身處一線,并且將首先聽(tīng)到意見(jiàn)和評(píng)論。如果可以可靠地預(yù)見(jiàn)將影響 IT 團(tuán)隊(duì)的可縮放性問(wèn)題,則該團(tuán)隊(duì)成員在您需要他們的技術(shù)時(shí)更愿意幫助您。
  • 潛在的業(yè)務(wù)伙伴也應(yīng)該包括在客戶滿意度矩陣中。如果他們決定將您的應(yīng)用程序作為一個(gè)部分包括在更大的應(yīng)用程序軟件包中,則他們可以大大提高您的應(yīng)用程序成功率。

準(zhǔn)備運(yùn)行壓力測(cè)試

要確定最佳情況下的服務(wù)器分析值(也稱(chēng)為基準(zhǔn)),應(yīng)首先在受控環(huán)境中測(cè)試試驗(yàn)系統(tǒng)配置。其次,應(yīng)該在模擬生產(chǎn)環(huán)境中測(cè)試以確定生產(chǎn)環(huán)境配置如何影響試驗(yàn)系統(tǒng)的結(jié)果。

在準(zhǔn)備開(kāi)發(fā)循環(huán)的壓力測(cè)試階段時(shí),需要注意以下方面:

  • 硬件與軟件的配置
  • 服務(wù)器配置
  • 安全配置
  • 用戶負(fù)載配置
  • 選擇正確的壓力工具

硬件與軟件配置

試驗(yàn)系統(tǒng)應(yīng)盡可能鏡像生產(chǎn)系統(tǒng)。CPU、RAM 和網(wǎng)絡(luò)帶寬的硬件配置是將在壓力測(cè)試期間被檢測(cè)的最重要方面。應(yīng)努力復(fù)制軟件配置,例如適當(dāng)?shù)?Microsoft Windows 版本和 Service Pack、MDAC 版本、Internet Information Server 配置和將在實(shí)際生產(chǎn)系統(tǒng)中的相同機(jī)器上運(yùn)行的任何其他應(yīng)用程序。安裝和注冊(cè)中間層業(yè)務(wù)規(guī)則和數(shù)據(jù)訪問(wèn) COM 組件,并按應(yīng)用程序設(shè)計(jì)要求對(duì)它們進(jìn)行配置。

務(wù)必將測(cè)試 Web 站點(diǎn)配置成能夠在進(jìn)程內(nèi)或進(jìn)程外運(yùn)行,具體配置成什么樣以最終配置的要求為準(zhǔn)。選擇該選項(xiàng)將確定 Web 應(yīng)用程序是在 IIS 所在的同一地址空間中運(yùn)行,還是在它自己的獨(dú)立地址空間中運(yùn)行。該配置對(duì)于要執(zhí)行的壓力測(cè)試有主要影響。下圖顯示了 Microsoft Windows NT 4.0 和 Microsoft Windows 2000 中進(jìn)程外應(yīng)用程序的“壓力屬性”屬性頁(yè)配置。在 Windows NT 4.0 中,選擇“在單獨(dú)的內(nèi)存空間運(yùn)行(獨(dú)立進(jìn)程)”復(fù)選框以在進(jìn)程外運(yùn)行 Web 應(yīng)用程序。在 Windows 2000 中,選擇“中”或“高”的“應(yīng)用程序保護(hù)”設(shè)置以在進(jìn)程外運(yùn)行 Web 應(yīng)用程序。

圖 1:Windows NT 4.0“壓力屬性”頁(yè)

圖 2:Windows 2000“壓力屬性”頁(yè)

服務(wù)器配置

配置 Internet Information Server 以鏡像生產(chǎn)服務(wù)器。“Internet 服務(wù)管理器”屬性頁(yè)為 IIS 提供各種可用的調(diào)整選項(xiàng)。特別重要的是確定是否啟用記錄(可以大大減慢系統(tǒng)速度)并且在“性能”選項(xiàng)卡下,選擇預(yù)期的每天點(diǎn)擊數(shù)。

數(shù)據(jù)服務(wù)器是可能解決與壓力相關(guān)的多數(shù)問(wèn)題的地方。為了有效執(zhí)行查詢,必須正確標(biāo)準(zhǔn)化數(shù)據(jù)庫(kù)設(shè)計(jì)。因此,必須用準(zhǔn)備與應(yīng)用程序一起使用的實(shí)際數(shù)據(jù)庫(kù) 設(shè)計(jì)進(jìn)行壓力測(cè)試,并且應(yīng)確保用應(yīng)用程序?qū)⑸傻淖畲髷?shù)據(jù)量填充表。此外,確保測(cè)試數(shù)據(jù)服務(wù)器配置選項(xiàng)(最重要的是鎖定級(jí)別和隔離級(jí)別以及使用的優(yōu)化技 術(shù),例如表索引)匹配生產(chǎn)數(shù)據(jù)服務(wù)器的配置選項(xiàng)。

安全配置

應(yīng)用程序的安全方案對(duì)壓力下的應(yīng)用程序會(huì)有嚴(yán)重的性能影響,特別是系統(tǒng)包含加密技術(shù)(如 Microsoft Cryptography API)時(shí)更是如此。因此,應(yīng)該配置測(cè)試系統(tǒng)以使用相同的安全方案,但不必使用相同的憑據(jù)。Microsoft Windows NT LAN Manager (NTLM) 傳遞身份驗(yàn)證系統(tǒng)可能是訪問(wèn)后端數(shù)據(jù)存儲(chǔ)區(qū)的 Intranet 應(yīng)用程序的最通用安全協(xié)議。如果可能的話,應(yīng)該考慮使用組件服務(wù)(或 Windows NT 中的 MTS)中的角色,以簡(jiǎn)化安全身份驗(yàn)證過(guò)程并提高效率,以及提高性能和穩(wěn)定性。

用戶負(fù)載配置

首先確定預(yù)期訪問(wèn)應(yīng)用程序的最大用戶數(shù),然后將該數(shù)字加倍;成功的應(yīng)用程序所服務(wù)的用戶數(shù)最可能比預(yù)期的多。此外,計(jì)算多數(shù)用戶需要訪問(wèn)的時(shí)間,然 后確定那段時(shí)間(應(yīng)該是測(cè)試應(yīng)用程序的時(shí)間)內(nèi)的網(wǎng)絡(luò)負(fù)載。該策略使您能夠測(cè)試用戶負(fù)載影響以及系統(tǒng)范圍的硬件配置,確保應(yīng)用程序在網(wǎng)絡(luò)負(fù)載高峰期內(nèi)按預(yù) 期響應(yīng)。

選擇正確的壓力工具

在實(shí)際的數(shù)據(jù)中心情況中,由于太多用戶通過(guò) Intranet 或 Internet 連接到 Web 應(yīng)用程序,Web 服務(wù)器經(jīng)歷高連接水平。Web 壓力工具應(yīng)能夠模擬發(fā)生高并發(fā)連接數(shù)的情形,并以充足的線程滿足最大的并發(fā)連接數(shù),同時(shí)減小發(fā)送到 Web 服務(wù)器的數(shù)據(jù)包大小。幸運(yùn)地是,有許多可用的工具被設(shè)計(jì)來(lái)模擬這些實(shí)際情況。Microsoft 的 Web 應(yīng)用程序壓力工具就是這些工具中的一個(gè),當(dāng)前可從在 http://homer.rte.microsoft.com 處的 Microsoft 免費(fèi)獲得它。它提供所有必要的功能和一些好的附加功能,例如廣泛的報(bào)告功能。

Web 應(yīng)用程序壓力工具

Web 應(yīng)用程序壓力工具通過(guò)實(shí)際模擬從 Web 應(yīng)用程序請(qǐng)求頁(yè)的多個(gè)瀏覽器來(lái)激活測(cè)試環(huán)境,并允許通過(guò)從瀏覽器訪問(wèn)想要包括到測(cè)試中的頁(yè)來(lái)記錄腳本。然后,該腳本可以在安裝有該應(yīng)用程序的任何 Windows NT 或 Windows 2000 客戶端上保存和運(yùn)行。因?yàn)?Web 應(yīng)用程序壓力工具能夠模擬來(lái)自每個(gè)單獨(dú)工作站的多個(gè)客戶端,所以具有的可用客戶端計(jì)算機(jī)不必與生產(chǎn)應(yīng)用程序具有的一樣多。

注意 當(dāng)運(yùn)行壓力測(cè)試時(shí),注意不要增加客戶端的壓力水平,以免測(cè)試計(jì)算機(jī)在線程間的上下文切換上花費(fèi)的時(shí)間比實(shí)際運(yùn)行所用的時(shí)間多。若要確保線程分布于各個(gè)客戶端,請(qǐng)?jiān)谶\(yùn)行基于 Web 的應(yīng)用程序測(cè)試時(shí)使用幾個(gè)客戶端,從而減輕一個(gè)客戶端計(jì)算機(jī)的資源限制。

性能監(jiān)視器

為了有效地對(duì)數(shù)據(jù)訪問(wèn)組件進(jìn)行壓力測(cè)試并正確地診斷結(jié)果,使用監(jiān)視和記錄運(yùn)行統(tǒng)計(jì)的方法極為重要。性能監(jiān)視器是隨 Microsoft Windows NT 和 Microsoft Windows 2000 一起提供的工具,它是適用于在 Internet Information Server 中和數(shù)據(jù)服務(wù)器上監(jiān)視和記錄這些統(tǒng)計(jì)的最好工具。

其他工具

除了在 Internet Information Server 上使用性能監(jiān)視器外,還有必要監(jiān)視數(shù)據(jù)服務(wù)器上的某些自定義計(jì)數(shù)器。大多數(shù)高性能數(shù)據(jù)服務(wù)器應(yīng)用程序,例如 Microsoft SQL Server、Oracle 和 Microsoft Exchange Server,都包括自定義性能監(jiān)視器計(jì)數(shù)器,可用于測(cè)定應(yīng)用程序和其運(yùn)行在的硬件的健康情況。

運(yùn)行壓力測(cè)試

認(rèn)真地?cái)M定了測(cè)試策略后,實(shí)際運(yùn)行測(cè)試是容易的。性能測(cè)試的第一個(gè)任務(wù)是使用工具,例如 Microsoft Web 應(yīng)用程序壓力工具,將壓力施加到 Web 站點(diǎn)并測(cè)量 Web 服務(wù)器每秒能處理的最大請(qǐng)求數(shù)。這是定量測(cè)量。第二個(gè)任務(wù)是確定哪一個(gè)資源阻止每秒請(qǐng)求數(shù)的提高,例如 CPU、內(nèi)存或后端相關(guān)性,這個(gè)過(guò)程更具有藝術(shù)性,而不單是一種精確測(cè)量的技術(shù)。

首先,選擇打算運(yùn)行的 ASP 頁(yè)。(尋找 Web 站點(diǎn)的最慢頁(yè)并使用這些頁(yè)。)具體的選擇取決于哪些頁(yè)最頻繁訪問(wèn)數(shù)據(jù)庫(kù)并且具有最多或最復(fù)雜的查詢。該選擇非常重要:包括比必需的更多的頁(yè)比遺漏一些關(guān)鍵 代碼路徑要好。如果適當(dāng)?shù)脑?,還可考慮讓測(cè)試應(yīng)用程序按指定的順序訪問(wèn)一系列頁(yè),并像應(yīng)用程序?qū)⒃谡鎸?shí)情況中所做的那樣,將 cookie 或查詢字符串傳遞到每一頁(yè)。

注意 根據(jù)實(shí)際的應(yīng)用程序,可能有必要為測(cè)試準(zhǔn)備 ASP 頁(yè)。一些頁(yè)可能要求硬編碼通常由應(yīng)用程序生成的和 Web 壓力工具不能動(dòng)態(tài)生成的參數(shù)值。

當(dāng)在 Internet Information Server 中運(yùn)行應(yīng)用程序時(shí),應(yīng)該(使用性能監(jiān)視器)監(jiān)視以下計(jì)數(shù)器:

  • Active Server Pages:每秒請(qǐng)求數(shù)、被拒絕的請(qǐng)求數(shù)、總隊(duì)列長(zhǎng)度和當(dāng)前會(huì)話數(shù)
  • Inetinfo process:專(zhuān)用字節(jié)數(shù)、虛擬字節(jié)數(shù)和打開(kāi)句柄數(shù)
  • Processor:百分比用戶時(shí)間與百分比特權(quán)時(shí)間相比
注意 如果應(yīng)用程序在 Windows NT 4.0 中自己的內(nèi)存空間中運(yùn)行(或者在 Windows 2000 中的 Stress Properties 頁(yè)上的設(shè)置為 Application Protection: High [Isolated]),則應(yīng)監(jiān)視 mtx.exe(或 Windows 2000 中的 dllhost 進(jìn)程)而不是監(jiān)視 Inetinfo 進(jìn)程。

如下圖所示,性能監(jiān)視器中的 Active Server Pages 每秒請(qǐng)求數(shù)計(jì)數(shù)器將顯示應(yīng)用程序的實(shí)際吞吐量(此例中每秒的請(qǐng)求數(shù)為 1.000)。該統(tǒng)計(jì)使您能夠診斷壓力下的 Internet Information Server 性能,并查明潛在的瓶頸。這反過(guò)來(lái)使您得以判斷應(yīng)用程序以可接受的響應(yīng)時(shí)間服務(wù)數(shù)量最多的用戶的能力。

圖 3:性能監(jiān)視器

運(yùn)行 ASP 技術(shù)的 Web 服務(wù)器從啟動(dòng)時(shí)建立的池中給每頁(yè)分配一個(gè)線程;如果所有線程都已使用,后面的頁(yè)請(qǐng)求將被放置在隊(duì)列中。通過(guò)用性能監(jiān)視器監(jiān)視總的隊(duì)列長(zhǎng)度,可以確定有多少客戶端正在等待服務(wù)器的響應(yīng)。

兩個(gè)最常見(jiàn)的與壓力有關(guān)的非硬件數(shù)據(jù)庫(kù)問(wèn)題是死鎖和鎖定并發(fā)。在數(shù)據(jù)服務(wù)器上,使用數(shù)據(jù)存儲(chǔ)區(qū)將提供的自定義性能監(jiān)視器計(jì)數(shù)器時(shí),應(yīng)該至少監(jiān)視下列內(nèi)容:

  • 鎖請(qǐng)求數(shù)
  • 每秒死鎖數(shù)
  • 每秒表鎖擴(kuò)大數(shù)
  • 用戶連接數(shù)
  • 活動(dòng)事務(wù)數(shù)

Web 應(yīng)用程序也應(yīng)配置成利用 OLE DB 資源池,該資源池由 Microsoft SQL Server 7.0 的中間層 OLE DB 提供程序自動(dòng)管理。通過(guò)基于每頁(yè)創(chuàng)建連接對(duì)象并立即釋放它們,數(shù)據(jù)庫(kù)可以處理數(shù)千個(gè)并發(fā)用戶,而使用的開(kāi)放式數(shù)據(jù)庫(kù)連接數(shù)少得多。這可保留數(shù)據(jù)庫(kù)資源并提 供更大的可縮放性。應(yīng)通過(guò)跟蹤數(shù)據(jù)服務(wù)器上的用戶連接數(shù)(使用性能監(jiān)視器)監(jiān)視此性能增強(qiáng)。隨著吞吐量增加,當(dāng)池控制數(shù)據(jù)服務(wù)器上實(shí)際創(chuàng)建的連接數(shù)時(shí),用 戶連接數(shù)應(yīng)保持穩(wěn)定。

針對(duì)數(shù)據(jù)庫(kù)調(diào)節(jié)應(yīng)用程序的過(guò)程對(duì)實(shí)現(xiàn)性能目標(biāo)至關(guān)重要,并且必須作為因素計(jì)入開(kāi)發(fā)循環(huán)。這應(yīng)包括優(yōu)化分配內(nèi)存的大小、應(yīng)用程序在磁盤(pán)驅(qū)動(dòng)器和控制器上的分布以及 ActiveX 組件的計(jì)算機(jī)位置。要特別考慮盡可能消除進(jìn)程間的數(shù)據(jù)封送處理,因?yàn)檫@是非常昂貴的操作。

運(yùn)行壓力測(cè)試的時(shí)間應(yīng)比應(yīng)用程序在實(shí)際用戶環(huán)境中不中斷運(yùn)行的預(yù)計(jì)時(shí)間長(zhǎng)百分之五十。許多問(wèn)題,尤其是內(nèi)存泄漏,只有在應(yīng)用程序運(yùn)行時(shí)間超過(guò)預(yù)期時(shí)間后才會(huì)暴露出來(lái)。

壓力測(cè)試期間查找的內(nèi)容

每個(gè)性能監(jiān)視器計(jì)數(shù)器的平均值取決于特定的應(yīng)用程序和硬件配置。因此,當(dāng)壓力測(cè)試運(yùn)行時(shí),應(yīng)該檢查每個(gè)計(jì)數(shù)器中是否有任何偏離這些平均值的異常偏差。

監(jiān)視 Internet Information Server

當(dāng)查找瓶頸時(shí),在 Internet Information Server 計(jì)算機(jī)上監(jiān)視的最重要方面如下:

  • CPU 使用率
  • 內(nèi)存使用
  • 吞吐量

根據(jù)設(shè)計(jì)的應(yīng)用程序環(huán)境,在壓力測(cè)試期間可能還有其他要跟蹤的性能方面。下列任何可能的情況可能表明應(yīng)用程序有問(wèn)題,在最終發(fā)布前應(yīng)修復(fù)這些問(wèn)題。

CPU 使用率

CPU 使用率的減少可能表明應(yīng)用程序性能的降低,可能是線程爭(zhēng)用問(wèn)題。

當(dāng)監(jiān)視用戶時(shí)間和內(nèi)核時(shí)間之間的 CPU 時(shí)間比時(shí),記住作為規(guī)則,用戶時(shí)間應(yīng)是 CPU 總時(shí)間的百分之八十至九十。因此,超過(guò)百分之二十的內(nèi)核模式時(shí)間表明有內(nèi)核級(jí)別 API 調(diào)用爭(zhēng)用。

為了使計(jì)算機(jī)物有所值,應(yīng)該在峰值負(fù)載期間注冊(cè)超過(guò)百分之五十的處理器使用率。更低的使用率值可能提示您需要解決系統(tǒng)中的其他瓶頸。

內(nèi)存使用

內(nèi)存使用暴漲或逐步增加是另外一個(gè)問(wèn)題,這個(gè)問(wèn)題經(jīng)常被認(rèn)為是長(zhǎng)期運(yùn)行的服務(wù)器應(yīng)用程序的常見(jiàn)問(wèn)題。通常,這是內(nèi)存和資源泄漏在測(cè)試階段暴露出來(lái)的地方。

吞吐量

監(jiān)視 Active Server Pages 每秒請(qǐng)求數(shù)計(jì)數(shù)器使您得以確定應(yīng)用程序開(kāi)始什么時(shí)候以及是否有性能問(wèn)題。該計(jì)數(shù)器在實(shí)際的應(yīng)用程序中通常有所不同,但是通過(guò)認(rèn)真地設(shè)置線程數(shù)和并發(fā)連接數(shù) (例如,通過(guò) Web 應(yīng)用程序壓力工具配置屏幕進(jìn)行設(shè)置),將能夠模擬穩(wěn)定的請(qǐng)求數(shù)。該計(jì)數(shù)器值的突然減少預(yù)示著麻煩。

可選測(cè)試方面

下面的是壓力測(cè)試期間可能發(fā)現(xiàn)值得監(jiān)視的其他方面的示例:

  • 總隊(duì)列長(zhǎng)度。 通常,性能監(jiān)視器中的 Total Queue Length 計(jì)數(shù)器會(huì)上下變動(dòng)。因此,如果總隊(duì)列長(zhǎng)度從不增加且您正以低處理器使用率運(yùn)行,這可能表明站點(diǎn)運(yùn)行平穩(wěn),具有的容量比該壓力負(fù)載需要的大?;蛘撸绻?duì)列長(zhǎng)度正在上下變動(dòng)但是處理器使用率低于百分之五十,這可能表明一些請(qǐng)求正被阻塞,可能需要進(jìn)一步優(yōu)化。
  • 瀏覽器響應(yīng)時(shí)間。 可以定期從瀏覽器訪問(wèn) Active Server Pages 以監(jiān)視響應(yīng)時(shí)間并確保壓力測(cè)試正在正確運(yùn)行,并且 Web 站點(diǎn)仍可以正確地服務(wù) ASP 頁(yè)。建議在壓力測(cè)試期間每天至少執(zhí)行兩次此測(cè)試。
  • 超時(shí)錯(cuò)誤。 在瀏覽器測(cè)試期間,留心由 Internet Information Server 返回的超時(shí)錯(cuò)誤;這些錯(cuò)誤可能表明有太多用戶正同時(shí)訪問(wèn)應(yīng)用程序。

監(jiān)視數(shù)據(jù)服務(wù)器

內(nèi)部處理數(shù)據(jù)服務(wù)器的各種 MDAC 服務(wù)和格式化用于顯示的數(shù)據(jù)通常會(huì)消耗專(zhuān)用于 Web 應(yīng)用程序的大多數(shù)可用服務(wù)器資源。因此,當(dāng)對(duì)應(yīng)用程序進(jìn)行壓力測(cè)試時(shí),如果與應(yīng)用程序的數(shù)據(jù)訪問(wèn)和數(shù)據(jù)操作區(qū)域有關(guān),則必須特別考慮這些組件的性能。

數(shù)據(jù)庫(kù)用戶連接、鎖爭(zhēng)用和死鎖是數(shù)據(jù)服務(wù)器上要監(jiān)視的主要對(duì)象。定期查看數(shù)據(jù)庫(kù)的管理控制臺(tái)中的進(jìn)程信息(例如,在運(yùn)行 SQL Server 的計(jì)算機(jī)上,是在 SQL 企業(yè)管理器的 Current Activity 區(qū)域中)。檢查阻塞的服務(wù)器進(jìn)程 ID,它是不返回響應(yīng)的數(shù)據(jù)查詢的常見(jiàn)原因。這是個(gè)爭(zhēng)用問(wèn)題,并且通常要求對(duì)數(shù)據(jù)庫(kù)設(shè)計(jì)或應(yīng)用程序邏輯進(jìn)行重大更改。

可以用不同的方法識(shí)別死鎖。識(shí)別死鎖的最常用的方法是使用性能監(jiān)視器中的 Number of Deadlocks/sec 自定義計(jì)數(shù)器。應(yīng)用程序應(yīng)該已經(jīng)檢查死鎖問(wèn)題并適當(dāng)響應(yīng),因?yàn)樵试S數(shù)據(jù)服務(wù)器指定死鎖受害人(即,將被取消以解決死鎖的用戶或會(huì)話)會(huì)引起應(yīng)用程序問(wèn)題。 應(yīng)用程序應(yīng)在遇到死鎖時(shí)檢測(cè)死鎖情況,并相應(yīng)響應(yīng)。遇到死鎖時(shí)一般做法是等待幾毫秒,然后再重試操作;通常,死鎖僅是對(duì)時(shí)間敏感的錯(cuò)誤,當(dāng)重試操作時(shí)該錯(cuò) 誤將會(huì)消失。

計(jì)算壓力測(cè)試結(jié)果

當(dāng)完成壓力測(cè)試并且測(cè)試結(jié)果可用于檢查時(shí),目標(biāo)性能基準(zhǔn)與測(cè)試期間收集的統(tǒng)計(jì)的比較將指出所需要的更改,以確保用戶將需要的吞吐量。以下是需要進(jìn)行性能改正應(yīng)檢查和計(jì)算的特定方面:

  • 硬件
  • 數(shù)據(jù)庫(kù)設(shè)計(jì)
  • ActiveX 組件
  • 客戶端游標(biāo)
  • ASP 執(zhí)行
  • IIS 負(fù)載

硬件

也許增加應(yīng)用程序吞吐量最簡(jiǎn)單和最經(jīng)濟(jì)的解決方案是硬件升級(jí)。通常,升級(jí)硬件比付錢(qián)給開(kāi)發(fā)人員團(tuán)隊(duì)重寫(xiě)部分應(yīng)用程序要經(jīng)濟(jì)高效得多。例如,只是通過(guò) 將更多的 RAM 添加到服務(wù)器,您可以使應(yīng)用程序的吞吐量加倍。然而,如果測(cè)試結(jié)果表明 CPU 使用率是瓶頸,則升級(jí)可能更貴,因?yàn)榭赡鼙仨毶?jí)整個(gè)計(jì)算機(jī)來(lái)增加 CPU 的使用數(shù)量與速度。

其他與硬件有關(guān)的增強(qiáng)包括增加硬盤(pán)和控制器的速度以及添加更快或附加的網(wǎng)絡(luò)接口卡。

數(shù)據(jù)庫(kù)設(shè)計(jì)

當(dāng)計(jì)算有關(guān)數(shù)據(jù)庫(kù)設(shè)計(jì)的問(wèn)題時(shí),請(qǐng)尋找作用點(diǎn)。分析死鎖統(tǒng)計(jì),并確認(rèn)已經(jīng)優(yōu)化了應(yīng)用程序以盡可能避免死鎖。如果有必要,請(qǐng)考慮更改數(shù)據(jù)訪問(wèn)算法以避免爭(zhēng)用。用不同的索引解決方案進(jìn)行實(shí)驗(yàn)。檢查數(shù)據(jù)服務(wù)器的查詢執(zhí)行計(jì)劃以確認(rèn)查詢正在使用適當(dāng)?shù)乃饕?,等等?

ActiveX 組件

應(yīng)認(rèn)真分析包含對(duì) ActiveX 數(shù)據(jù)對(duì)象類(lèi)型庫(kù)的引用的 ActiveX 組件以進(jìn)行可能的優(yōu)化。不要使用 ADO 中允許的默認(rèn)屬性。為避免意外使用默認(rèn)屬性,應(yīng)總是指定某些屬性,例如,Cursor TypeCursor Location 屬性。

客戶端游標(biāo)

如果 Web 應(yīng)用程序消耗了異乎尋常的大量?jī)?nèi)存,則游標(biāo)定位的不適當(dāng)使用可能就是問(wèn)題的原因。當(dāng)使用客戶端游標(biāo) (recordset.cursorlocation = adUseClient) 時(shí),注意客戶端實(shí)際是 Internet Information Server,而不是瀏覽器。(該規(guī)則的例外情況是當(dāng)使用 Remote Data Services 時(shí),本文不對(duì)此進(jìn)行討論。)開(kāi)發(fā)人員常犯的錯(cuò)誤是假定客戶端游標(biāo)的使用將整個(gè)記錄集移動(dòng)到瀏覽器而不是運(yùn)行 IIS 的計(jì)算機(jī)。因此,記住您實(shí)際正在將記錄集存儲(chǔ)到運(yùn)行 IIS 的計(jì)算機(jī)上將使您更多地意識(shí)到所用的資源。

例如,如果應(yīng)用程序要求訪問(wèn)列出有效州或縣代碼的表并且該信息存儲(chǔ)在數(shù)據(jù)服務(wù)器中,則使用客戶端游標(biāo)創(chuàng)建駐留在 IIS 計(jì)算機(jī)上的記錄集,然后本地訪問(wèn)該代碼將更有效,這樣避免了當(dāng)應(yīng)用程序訪問(wèn)該信息時(shí)需要另外往返于數(shù)據(jù)服務(wù)器。一定要注意利弊關(guān)系,如果內(nèi)存不可用,則不 要以大內(nèi)存要求加重 IIS 的負(fù)載。

ASP 執(zhí)行

如果包含數(shù)據(jù)訪問(wèn)過(guò)程的 ASP 頁(yè)花費(fèi)太長(zhǎng)時(shí)間執(zhí)行,則可能需要將數(shù)據(jù)訪問(wèn)代碼從 ASP 頁(yè)移動(dòng)到 ActiveX 組件,該組件一般放置在 Microsoft Transaction Server(在 Windows NT 中)的包中或 Component Services(在 Windows 2000 中)的包中,這取決于正在運(yùn)行的操作系統(tǒng)。該編輯代碼運(yùn)行效率比包含在 Active Server Page 中的解釋腳本代碼有效得多。

Internet Information Server 負(fù)載

監(jiān)視正使用 Internet Information Server 的應(yīng)用程序數(shù)量和類(lèi)型??赡苄枰砑痈郊拥姆?wù)器,將應(yīng)用程序移動(dòng)到另一服務(wù)器,或者考慮實(shí)現(xiàn) Windows Load Balancing Service。

成功運(yùn)行壓力測(cè)試的提示

  • 要:
    • 將所有業(yè)務(wù)邏輯放在 ActiveX 組件中,并使用 ASP 頁(yè)作為將所有事物連接在一起的膠貼物。將可再次使用的代碼封裝入庫(kù)。
    • 使用 MTS(Windows NT 用戶)。該出色的工具提供附加的線程和資源池,以用于服務(wù)器端 COM 對(duì)象并且更容易管理對(duì)象。此外, MTS 提供業(yè)務(wù)功能。
    • 使用資源/連接池。默認(rèn)情況下,該 MDAC 功能是啟用的,但是應(yīng)該對(duì)其監(jiān)視以確保它正確工作。
    • 調(diào)節(jié)數(shù)據(jù)存儲(chǔ)區(qū)。在可適用的地方使用存儲(chǔ)過(guò)程。
    • 為了最小化數(shù)據(jù)訪問(wèn)操作,為輸入、輸出和轉(zhuǎn)換數(shù)據(jù)使用緩存。
    • 只要有機(jī)會(huì)就使用進(jìn)程內(nèi)應(yīng)用程序和 ActiveX 組件。
    • 確保生產(chǎn)環(huán)境中調(diào)試是禁用的。調(diào)試應(yīng)用程序會(huì)強(qiáng)制線程相似性。
    • 在 Intranet 環(huán)境中,只要可行,將工作卸載給客戶端瀏覽器。
    • 升級(jí)到 Windows 2000。當(dāng)對(duì)應(yīng)用程序進(jìn)行壓力測(cè)試時(shí),包括在該新版本中的性能和可縮放性增強(qiáng)即刻顯現(xiàn)。
    • 如果這時(shí)無(wú)法升級(jí)到 Windows 2000,至少應(yīng)該升級(jí)到 Microsoft Visual Basic? Scripting Edition (VBScript) 5.0;在該新版本中性能和功能已大大提高。
    • 考慮使用 Microsoft Message Queue Server (MSMQ)。恰當(dāng)使用異步消息處理將大大增加可感知的用戶響應(yīng)時(shí)間。
  • 不要:
    • 使用 Active Server Page 中的應(yīng)用程序或會(huì)話級(jí)別對(duì)象。
    • 將數(shù)據(jù)訪問(wèn)代碼放在 Active Server Page 中。使用腳本代碼與 ActiveX 組件中的數(shù)據(jù)訪問(wèn)函數(shù)和業(yè)務(wù)規(guī)則進(jìn)行通訊。
    • 使用 HTTPS/安全套接字層,除非絕對(duì)必要。實(shí)現(xiàn)該身份驗(yàn)證協(xié)議非常昂貴。
    • 使用應(yīng)用程序狀態(tài)或會(huì)話狀態(tài)(在不必要時(shí))。

結(jié)束摘要

Internet 使您的應(yīng)用程序可以比傳統(tǒng)的客戶端-服務(wù)器應(yīng)用程序面向更多的潛在用戶。隨著越來(lái)越多的組織將 Web 作為他們業(yè)務(wù)策略的策略部分,他們需要確保他們選擇的技術(shù)可以處理他們苛求的需要。除了容易使用的工具,這些組織還需要基礎(chǔ)結(jié)構(gòu)來(lái)滿足他們用戶負(fù)載要求。 因此,壓力測(cè)試是測(cè)試體系的基礎(chǔ)部分這個(gè)理念比以前更重要,特別是當(dāng)將 MDAC 合并到應(yīng)用程序中時(shí)。

注意 在壓力情況下成功運(yùn)行的基本要求是在開(kāi)發(fā)周期中采取最佳慣例方法。這就意味著為負(fù)載條件下的性能測(cè)試和調(diào)整應(yīng)用程序以達(dá)到性能目標(biāo)的時(shí)間調(diào)度必須考慮到開(kāi)發(fā)過(guò)程中。

負(fù)載下的壓力測(cè)試和反復(fù)調(diào)節(jié)應(yīng)用程序的好處是簡(jiǎn)單明了:

  • 獲得需要的信息以確保應(yīng)用程序取得最好的吞吐量結(jié)果。
  • 可以精確地評(píng)定應(yīng)用程序的可縮放性特征,以便可以調(diào)整應(yīng)用程序達(dá)到指定的性能目標(biāo)。
  • 可以盡早發(fā)現(xiàn)降低性能和吞吐量的設(shè)計(jì)問(wèn)題,并且在將應(yīng)用程序部署到生產(chǎn)之前可以進(jìn)行調(diào)整。
  • 應(yīng)用程序?qū)⒁驗(yàn)槠涓咝阅芸尚刨囆远诳蛻襞c業(yè)務(wù)伙伴中樹(shù)立起聲譽(yù)。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
面試穩(wěn)了!集齊幾千名程序員精選的 100 道性能面試題!
阿里測(cè)試領(lǐng)域大牛深扒萬(wàn)字測(cè)試武功秘籍
你知道學(xué)校里的MySQL與社會(huì)中的MySQL有啥區(qū)別嗎?(詳解三基準(zhǔn)測(cè)試)
Windows Server 2008 更精簡(jiǎn)更安全
虛擬化的多種實(shí)例
深入了解中小企業(yè)的服務(wù)器硬件成本
更多類(lèi)似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服