性能測試的指標(biāo)_第1頁
性能測試的指標(biāo)_第2頁
性能測試的指標(biāo)_第3頁
性能測試的指標(biāo)_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

吞吐量/處理能力處理能力又叫吞吐量,指的是單位時間內(nèi)處理的客戶端請求數(shù)量。通常情況下,吞吐量用請求數(shù)/秒Or頁面數(shù)/秒來衡量。從業(yè)務(wù)角度看,吞吐量也可以用訪問人數(shù)/天Or頁面訪問量/天來衡量。負(fù)載負(fù)載分為客戶端負(fù)載和服務(wù)器端負(fù)載客戶端負(fù)載的通俗解釋就是有多少個用戶在同時使用軟件服務(wù)器端負(fù)載的通俗解釋就是有多少個請求同時到達(dá)了服務(wù)器端,要求服務(wù)器進(jìn)行處理。例如,某個網(wǎng)站當(dāng)前有10000個人在線訪問,從他們的客戶端層面看過去,這個負(fù)載就是客戶端負(fù)載,為10000。若某個網(wǎng)站當(dāng)前有10000個人在線訪問,某一時刻,從他們的客戶端同時發(fā)出了1000個頁面的請求到服務(wù)器,從服務(wù)器端層面看過去,這個負(fù)載就是服務(wù)器端負(fù)載,為1000。響應(yīng)時間響應(yīng)時間是可以判斷一個被測應(yīng)用系統(tǒng)是否存在性能瓶頸的最直觀的要素。例如,在執(zhí)行完性能測試后,發(fā)現(xiàn)某個交易的“平均響應(yīng)時間”為8秒,超過了預(yù)先確定下來的性能指標(biāo)“該交易的性能指標(biāo)為平均響應(yīng)時間要小于等于3秒”。此時,就可以認(rèn)為被測應(yīng)用系統(tǒng)存在性能瓶頸了,要利用一定的手段去探查被測應(yīng)用系統(tǒng)中哪個地方引起了系統(tǒng)的處理效率低以及低的原因了。響應(yīng)時間一般包括最大響應(yīng)時間和平均響應(yīng)時間,響應(yīng)時間包括網(wǎng)絡(luò)上的傳輸時間,WEB服務(wù)器上處理時間、APP服務(wù)器上的處理時間、DB服務(wù)器上的處理時間,響應(yīng)時間不包括瀏覽器上的內(nèi)容顯示時間。同時在線用戶對于一個網(wǎng)站來講,當(dāng)一個用戶登錄到該網(wǎng)站的首頁后,開始在該網(wǎng)站上進(jìn)行各種操作,包括瀏覽網(wǎng)頁、檢索內(nèi)容、提交表單等,這個過程中的用戶稱為在線用戶。若同一時間點或同一個時間段內(nèi),有很多這樣的用戶在訪問該網(wǎng)站,這些用戶統(tǒng)稱為該網(wǎng)站的同時在線用戶。同時在線用戶的另一層理解是,將應(yīng)用系統(tǒng)整體看作是一個黑盒子,從用戶的客戶端層面看向系統(tǒng),總共有多少個人在使用它。當(dāng)進(jìn)行性能測試時,如果你使用的是同時在線用戶,則可以稱之為同時在線負(fù)載。超級并發(fā)用戶對于一個網(wǎng)站來講,可能存在WEB服務(wù)器、應(yīng)用服務(wù)器、數(shù)據(jù)庫服務(wù)器三個層次,而用戶所使用的瀏覽器是在最外面的客戶端層面。如果某個時間點或時間段內(nèi),共有1000個用戶同時在線,他們進(jìn)行著各種各樣的操作,而某個時間點上可能存在10個左右的用戶同時進(jìn)行了一個或多個操作,導(dǎo)致WEB服務(wù)器同時接收到了10個左右的交易請求,我們稱這個10個左右的用戶為超級并發(fā)用戶。當(dāng)進(jìn)行性能測試時,如果你使用的是超級并發(fā)用戶,則可以稱之為超級并發(fā)負(fù)載。性能測試腳本腳本是用負(fù)載模擬工具開發(fā)出來的。腳本是一些代碼的組合體,它用代碼來實現(xiàn)用戶對應(yīng)用系統(tǒng)的操作。例如,你在一個網(wǎng)站上訪問首頁、輸入用戶名和密碼后點擊登錄按鈕進(jìn)行登錄,這是用戶對應(yīng)用系統(tǒng)的兩步操作內(nèi)容,在腳本中則包含了實現(xiàn)這兩個操作步驟的代碼。如果你要模擬10000個用戶的負(fù)載,這10000個用戶中50%進(jìn)行首頁的訪問、20%進(jìn)行注冊、20%進(jìn)行查詢、10%進(jìn)行某個頁面的瀏覽,則你需要制作5個腳本,分別是首頁訪問腳本、注冊腳本、查詢腳本、頁面瀏覽腳本。事務(wù)事務(wù)是腳本的一個特性,每個事務(wù)都包含開始事務(wù)和結(jié)束事務(wù)。事務(wù)用來衡量腳本中一行代碼或多行代碼的執(zhí)行所耗費的時間。你可以將開始事務(wù)放置在腳本中某行代碼的前面,將結(jié)束事務(wù)放置在該行代碼的后面,在該腳本的虛擬用戶運行時,這個事務(wù)將衡量該行代碼的執(zhí)行花費了多長時間。交易交易分為業(yè)務(wù)層面和技術(shù)層面兩種定義。業(yè)務(wù)層面交易是指完成一次完整的業(yè)務(wù)操作,例如進(jìn)行一次取款、查詢操作。技術(shù)層面的交易是指進(jìn)行一次應(yīng)用程序至應(yīng)用程序、或者應(yīng)用程序至數(shù)據(jù)庫的系統(tǒng)操作。一般的一筆業(yè)務(wù)交易由多筆技術(shù)交易組成,根據(jù)業(yè)務(wù)交易的復(fù)雜度和系統(tǒng)應(yīng)用架構(gòu)的不同,其比例大致為1:2-1:10。TPS與HPSTPS(TransactionsPerSecond)是估算應(yīng)用系統(tǒng)性能的重要依據(jù)。其意義是應(yīng)用系統(tǒng)每秒鐘處理完成的交易數(shù)量,尤其是交易類系統(tǒng)。一般的,評價系統(tǒng)性能均以每秒鐘完成的技術(shù)交易的數(shù)量來衡量。系統(tǒng)整體處理能力取決于處理能力最低模塊的TPS值。依據(jù)經(jīng)驗,應(yīng)用系統(tǒng)的處理能力一般要求在10-100左右。不同應(yīng)用系統(tǒng)的TPS有著十分大的差別,一般需要通過性能測試進(jìn)行準(zhǔn)確估算。當(dāng)系統(tǒng)沒有達(dá)到性能瓶頸時,TPS隨著負(fù)載的增加呈近似線性增長,當(dāng)接近性能瓶頸時出現(xiàn)拐點;如果系統(tǒng)健壯性較好,在到達(dá)性能瓶頸后,TPS基本保持水平,不會再隨著負(fù)載的增加而有顯著增長;而如果系統(tǒng)存在比較嚴(yán)重的性能問題,當(dāng)?shù)竭_(dá)性能瓶頸后,TPS會出現(xiàn)明顯的下降趨勢。HPS:(HitsperSecond)每秒點擊次數(shù),是指在一秒鐘的時間內(nèi)用戶對Web頁面的鏈接、提交按鈕等點擊總和它一般和TPS成正比關(guān)系,是B/S系統(tǒng)中非常重要的性能指標(biāo)之一。TPS可以有多種衡量單位,在進(jìn)行性能測試的業(yè)務(wù)模型分析時使用,例如:在稅務(wù)系統(tǒng)中,可以用“系統(tǒng)每個月要處理10萬用戶的業(yè)務(wù)操作”,這里的TPS用企業(yè)數(shù)/月來衡量;(2)在稅務(wù)系統(tǒng)中,也可以用“系統(tǒng)在第七天的8個小時內(nèi)要處理4萬用戶的業(yè)務(wù)操作”,這里的TPS用企業(yè)數(shù)/天來衡量;(3)在稅務(wù)系統(tǒng)中,也可以用“系統(tǒng)在第七天的10點到11點之間要處理1.2萬用戶的3種繳稅交易操作,即3.6萬次繳稅交易操作”,這里的TPS用交易數(shù)/小時來衡量;(4)在稅務(wù)系統(tǒng)中,也可以用“系統(tǒng)在第七天的10點到11點之間要處理1.2萬用戶的3種繳稅交易操作,即3.6萬次繳稅交易操作,每次繳稅交易要從客戶端向服務(wù)器發(fā)送平均10次HTTP請求,即36萬次HTTP請求操作”,這里的TPS用請求數(shù)/小時來衡量。HPS是用來衡量很多用戶使用客戶端進(jìn)行操作,向服務(wù)器發(fā)送請求的效率。我們認(rèn)為HPS表現(xiàn)的是最終用戶的整體行為,是衡量在線負(fù)載程度的一個指標(biāo)。而TPS表現(xiàn)的是服務(wù)器端的程序行為,是衡量服務(wù)器處理能力高低的一個主要指標(biāo)。例如:HPS="點擊次數(shù)/秒”;TPS=“處理事務(wù)數(shù)/秒”,HPS與TPS沒有絕對的關(guān)系。性能測試實現(xiàn)的準(zhǔn)確性在進(jìn)行了正確的性能測試分析后,獲得了正確的性能測試需求,從而使用性能測試工具開發(fā)相應(yīng)的性能測試腳本、開發(fā)相應(yīng)的性能測試場景、在性能測試腳本中利用性能測試數(shù)據(jù)、在性能測試腳本中設(shè)置相應(yīng)的思考時間、在性能測試場景中設(shè)置運行的參數(shù)等,以期能利用自動化的性能測試工具模擬現(xiàn)實中大量用戶同時訪問被測系統(tǒng)的情形。即,如果性能測試工具操作不當(dāng),將會導(dǎo)致無法準(zhǔn)確的實現(xiàn)“模擬實際情況”的目標(biāo)。例如,某些性能測試工程師在使用性能測試工具時不懂得利用“檢查點”這個功能,從而無法發(fā)現(xiàn)在性能測試執(zhí)行過程中大量虛擬用戶甚至沒有登陸到系統(tǒng)中的嚴(yán)重問題,仍然認(rèn)為性能測試執(zhí)行效果良好,被測系統(tǒng)性能沒有問題。Web服務(wù)器和APP服務(wù)器通俗的講,Web服務(wù)器傳送(serves)頁面使瀏覽器可以瀏覽,然而應(yīng)用程序服務(wù)器提供的是客戶端應(yīng)用程序可以調(diào)用(call)的方法(methods)。確切一點,你可以說:Web服務(wù)器專門處理HTTP請求(request),但是應(yīng)用程序服務(wù)器是通過很多協(xié)議來為應(yīng)用程序提供(serves)商業(yè)邏輯(businesslogic)。Web服務(wù)器(WebServer)Web服務(wù)器可以解析(handles)HTTP協(xié)議。當(dāng)Web服務(wù)器接收到一個HTTP請求(request),會返回一個HTTP響應(yīng)(response),例如送回一個HTML頁面。為了處理一個請求(request),Web服務(wù)器可以響應(yīng)(response)一個靜態(tài)頁面或圖片,進(jìn)行頁面跳轉(zhuǎn)(redirect),或者把動態(tài)響應(yīng)(dynamicresponse)的產(chǎn)生委托(delegate)給一些其它的程序例如CGI腳本,JSP(JavaServerPages)腳本,servlets,ASP(ActiveServerPages)腳本,服務(wù)器端(server-side)Javascript,或者一些其它的服務(wù)器端(server-side)技術(shù)。無論它們(譯者注:腳本)的目的如何,這些服務(wù)器端(server-side)的程序通常產(chǎn)生一個HTML的響應(yīng)(response)來讓瀏覽器可以瀏覽。要知道,Web服務(wù)器的代理模型(delegationmodel)非常簡單。當(dāng)一個請求(request)被送到Web服務(wù)器里來時,它只單純的把請求(request)傳遞給可以很好的處理請求(request)的程序(譯者注:服務(wù)器端腳本)。Web服務(wù)器僅僅提供一個可以執(zhí)行服務(wù)器端(server-side)程序和返回(程序所產(chǎn)生的)響應(yīng)(response)的環(huán)境,而不會超出職能范圍。服務(wù)器端(server-side)程序通常具有事務(wù)處理(transactionprocessing),數(shù)據(jù)庫連接(databaseconnectivity)和消息(messaging)等功能。雖然Web服務(wù)器不支持事務(wù)處理或數(shù)據(jù)庫連接池,但它可以配置(employ)各種策略(strategies)來實現(xiàn)容錯性(faulttolerance)^「可擴(kuò)展性(scalability),例如負(fù)載平衡(loadbalancing),緩沖(caching)。集群特征(clustering—features)經(jīng)常被誤認(rèn)為僅僅是應(yīng)用程序服務(wù)器專有的特征。應(yīng)用程序服務(wù)器(TheApplicationServer)根據(jù)我們的定義,作為應(yīng)用程序服務(wù)器,它通過各種協(xié)議,可以包括HTTP,把商業(yè)邏輯暴露給(expose)客戶端應(yīng)用程序。Web服務(wù)器主要是處理向瀏覽器發(fā)送HTML以供瀏覽,而應(yīng)用程序服務(wù)器提供訪問商業(yè)邏輯的途徑以供客戶端應(yīng)用程序使用。應(yīng)用程序使用此商業(yè)邏輯就象你調(diào)用對象的一個方法(或過程語言中的一個函數(shù))一樣。應(yīng)用程序服務(wù)器的客戶端(包含有圖形用戶界面(GUI)的)可能會運行在一臺PC、一個Web服務(wù)器或者甚至是其它的應(yīng)用程序服務(wù)器上。在應(yīng)用程序服務(wù)器與其客戶端之間來回穿梭(traveling)的信息不僅僅局限于簡單的顯示標(biāo)記。相反,這種信息就是程序邏輯(programlogic)。正是由于這種邏輯取得了(takes)數(shù)據(jù)和方法調(diào)用(calls)的形式而不是靜態(tài)HTML,所以客戶端才可以隨心所欲的使用這種被暴露的商業(yè)邏輯。在大多數(shù)情形下,應(yīng)用程序服務(wù)器是通過組件(component)的應(yīng)用程序接口(API)把商業(yè)邏輯暴露(expose)(給客戶端應(yīng)用程序)的,例如基于J2EE(Java2Platform,EnterpriseEdition)應(yīng)用程序服務(wù)器的EJB(EnterpriseJavaBean)組件模型。此外,應(yīng)用程序服務(wù)器可以管理自己的資源,例如看大門的工作(gate-keepingduties)包括安全(security),事務(wù)處理(transactionprocessing),資源池(resourcepooling),和消息(messaging)。就象Web服務(wù)器一樣,應(yīng)用程序服務(wù)器配置了多種可擴(kuò)展(scalability)和容錯(faulttolerance)技術(shù)。例如,設(shè)想一個在線商店(網(wǎng)站)提供實時定價(real-timepricing)和有效性(availability)信息。這個站點(site)很可能會提供一個表單(form)讓你來選擇產(chǎn)品。當(dāng)你提交查詢(query)后,網(wǎng)站會進(jìn)行查找(lookup)并把結(jié)果內(nèi)嵌在HTML頁面中返回。網(wǎng)站可以有很多種方式來實現(xiàn)這種功能。我要介紹一個不使用應(yīng)用程序服務(wù)器的情景和一個使用應(yīng)用程序服務(wù)器的情景。觀察一下這兩中情景的不同會有助于你了解應(yīng)用程序服務(wù)器的功能。情景1:不帶應(yīng)用程序服務(wù)器的Web服務(wù)器在此種情景下,一個Web服務(wù)器獨立提供在線商店的功能。Web服務(wù)器獲得你的請求(request),然后發(fā)送給服務(wù)器端(server-side)可以處理請求(request)的程序。此程序從數(shù)據(jù)庫或文本文件(flatfile,譯者注:flatfile是指沒有特殊格式的非二進(jìn)制的文件,如properties和XML文件等)中查找定價信息。一旦找到,服務(wù)器端(server-side)程序把結(jié)果信息表示成(formulate)HTML形式,最后Web服務(wù)器把會它發(fā)送到你的Web瀏覽器。簡而言之,Web服務(wù)器只是簡單的通過響應(yīng)(response)HTML頁面來處理HTTP請求(request)。情景2:帶應(yīng)用程序服務(wù)器的Web服務(wù)器情景2和情景1相同的是Web服務(wù)器還是把響應(yīng)(response)的產(chǎn)生委托(delegates)給腳本(譯者注:服務(wù)器端(server-side)程序)。然而,你可以把查找定價的商業(yè)邏輯(businesslogic)放到應(yīng)用程序服務(wù)器上。由于這種變化,此腳本只是簡單的調(diào)用應(yīng)用程序服務(wù)器的查找服務(wù)(lookupservice),而不是已經(jīng)知道如何查找數(shù)據(jù)然后表示為(formulate)一個響應(yīng)(response)。這時當(dāng)該腳本程序產(chǎn)生HTML響應(yīng)(response)時就可以使用該服務(wù)的返回結(jié)果了。在此情景中,應(yīng)用程序服務(wù)器提供(serves)了用于查詢產(chǎn)品的定價信息的商業(yè)邏輯。(服務(wù)器的)這種功能(functionality)沒有指出有關(guān)顯示和客戶端如何使用此信息的細(xì)節(jié),相反客戶端和應(yīng)用程序服務(wù)器只是來回傳送數(shù)據(jù)。當(dāng)有客戶端調(diào)用應(yīng)用程序服務(wù)器的查找服務(wù)(lookupservice)時,此服務(wù)只是簡單的查找并返回結(jié)果給客戶端。通過從響應(yīng)產(chǎn)生(response-generating)HTML的代碼中分離出來,在應(yīng)用程序之中該定價(查找)邏輯的可重用性更強(qiáng)了。其他的客戶端,例如收款機(jī),也可以調(diào)用同樣的服務(wù)(service)來作為一個店員給客戶結(jié)帳。相反,在情景1中的定價查找服務(wù)是不可重用的因為信息內(nèi)嵌在HTML頁中了。總而言之,在情景2的模型中,在Web服務(wù)器通過回應(yīng)HTML頁面來處理HTTP請求(request),而應(yīng)用程序服務(wù)器則是通過處理定價和有效性(availability)請求(request)來提供應(yīng)用程序邏輯的。警告(Caveats)現(xiàn)在,XMLWebServices已經(jīng)使應(yīng)用程序服務(wù)器和Web服務(wù)器的界線混淆了。通過傳送一個XML有效載荷(payload)給服務(wù)器,Web服務(wù)器現(xiàn)在可以處理數(shù)據(jù)和響應(yīng)(response)的能力與以前的應(yīng)用程序服務(wù)器同樣多了。另外,現(xiàn)在大多數(shù)應(yīng)用程序服務(wù)器也包含了Web服務(wù)器,這就意味著可以把Web服務(wù)器當(dāng)作是應(yīng)用程序服務(wù)器的一個子集(subset)o雖然應(yīng)用程序服務(wù)器包含了Web服務(wù)器的功能,但是開發(fā)者很少把應(yīng)用程序服務(wù)器部署(deploy)成這種功能(capacity)(譯者注:這種功能是指既有應(yīng)用程序服務(wù)器的功能又有Web服務(wù)器的功能)。相反,如果需要,他們通常會把Web服務(wù)器獨立配置,和應(yīng)用程序服務(wù)器一前一后。這種功能的分離有助于提高性能(簡單的Web請求(request)就不會影響應(yīng)用程序服務(wù)器了),分開配置(專門的Web服務(wù)器,集群(clustering)等等),而且給最佳產(chǎn)品的選取留有余地。性能瓶頸性能瓶頸實際上就是一個軟件的性能缺陷,最通俗的理解“性能瓶頸”。硬件上的性能瓶頸主要指的是CPU、RAM方面的問題。例如,在進(jìn)行軟件需求分析、概要設(shè)計時,確定了在數(shù)據(jù)庫服務(wù)器上需要6個CPU、12G內(nèi)存,但是

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論