久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

LoadRunner測試總結(jié)

時間:2019-05-12 20:48:29下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《LoadRunner測試總結(jié)》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《LoadRunner測試總結(jié)》。

第一篇:LoadRunner測試總結(jié)

性能測試(并發(fā)負(fù)載壓力)測試分析-簡要篇

在論壇混了多日,發(fā)現(xiàn)越來越多的性能測試工程師基本上都能夠掌握利用測試工具來作負(fù)載壓力測試,但多數(shù)人對怎樣去分析工具收集到的測試結(jié)果感到無從下手,下面我就把個人工作中的體會和收集到的有關(guān)資料整理出來,希望能對大家分析測試結(jié)果有所幫助。

分析原則:

? 具體問題具體分析(這是由于不同的應(yīng)用系統(tǒng),不同的測試目的,不同的性能關(guān)注點(diǎn))? 查找瓶頸時按以下順序,由易到難。

服務(wù)器硬件瓶頸-〉網(wǎng)絡(luò)瓶頸(對局域網(wǎng),可以不考慮)-〉服務(wù)器操作系統(tǒng)瓶頸(參數(shù)配置)-〉中間件瓶頸(參數(shù)配置,數(shù)據(jù)庫,web服務(wù)器等)-〉應(yīng)用瓶頸(SQL語句、數(shù)據(jù)庫設(shè)計、業(yè)務(wù)邏輯、算法等)注:以上過程并不是每個分析中都需要的,要根據(jù)測試目的和要求來確定分析的深度。對一些要求低的,我們分析到應(yīng)用系統(tǒng)在將來大的負(fù)載壓力(并發(fā)用戶數(shù)、數(shù)據(jù)量)下,系統(tǒng)的硬件瓶頸在哪兒就夠了。? 分段排除法 很有效

分析的信息來源:

?1 根據(jù)場景運(yùn)行過程中的錯誤提示信息

?2 根據(jù)測試結(jié)果收集到的監(jiān)控指標(biāo)數(shù)據(jù)

一.錯誤提示分析

分析實例:?Error: Failed to connect to server “10.10.10.30:8080”: [10060] Connection

?Error: timed out Error: Server “10.10.10.30” has shut down the connection prematurely

分析:

?A、應(yīng)用服務(wù)死掉。

(小用戶時:程序上的問題。程序上處理數(shù)據(jù)庫的問題)

?B、應(yīng)用服務(wù)沒有死

(應(yīng)用服務(wù)參數(shù)設(shè)置問題)

例:在許多客戶端連接Weblogic應(yīng)用服務(wù)器被拒絕,而在服務(wù)器端沒有錯誤顯示,則有可能是Weblogic中的server元素的AcceptBacklog屬性值設(shè)得過低。如果連接時收到connection refused消息,說明應(yīng)提高該值,每次增加25%

?C、數(shù)據(jù)庫的連接

(1、在應(yīng)用服務(wù)的性能參數(shù)可能太小了

2、數(shù)據(jù)庫啟動的最大連接數(shù)(跟硬件的內(nèi)存有關(guān)))

2Error: Page download timeout(120 seconds)has expired

分析:可能是以下原因造成?A、應(yīng)用服務(wù)參數(shù)設(shè)置太大導(dǎo)致服務(wù)器的瓶頸

?B、頁面中圖片太多

?C、在程序處理表的時候檢查字段太大多

二.監(jiān)控指標(biāo)數(shù)據(jù)分析

1.最大并發(fā)用戶數(shù):

應(yīng)用系統(tǒng)在當(dāng)前環(huán)境(硬件環(huán)境、網(wǎng)絡(luò)環(huán)境、軟件環(huán)境(參數(shù)配置))下能承受的最大并發(fā)用戶數(shù)。在方案運(yùn)行中,如果出現(xiàn)了大于3個用戶的業(yè)務(wù)操作失敗,或出現(xiàn)了服務(wù)器shutdown的情況,則說明在當(dāng)前環(huán)境下,系統(tǒng)承受不了當(dāng)前并發(fā)用戶的負(fù)載壓力,那么最大并發(fā)用戶數(shù)就是前一個沒有出現(xiàn)這種現(xiàn)象的并發(fā)用戶數(shù)。

如果測得的最大并發(fā)用戶數(shù)到達(dá)了性能要求,且各服務(wù)器資源情況良好,業(yè)務(wù)操作響應(yīng)時間也達(dá)到了用戶要求,那么OK。否則,再根據(jù)各服務(wù)器的資源情況和業(yè)務(wù)操作響應(yīng)時間進(jìn)一步分析原因所在。

2.業(yè)務(wù)操作響應(yīng)時間:

? 分析方案運(yùn)行情況應(yīng)從平均事務(wù)響應(yīng)時間圖和事務(wù)性能摘要圖開始。使用“事務(wù)性能摘要”圖,可以確定在方案執(zhí)行期間響應(yīng)時間過長的事務(wù)。

? 細(xì)分事務(wù)并分析每個頁面組件的性能。查看過長的事務(wù)響應(yīng)時間是由哪些頁面組件引起的?問題是否與網(wǎng)絡(luò)或服務(wù)器有關(guān)?

? 如果服務(wù)器耗時過長,請使用相應(yīng)的服務(wù)器圖確定有問題的服務(wù)器度量并查明服務(wù)器性能下降的原因。如果網(wǎng)絡(luò)耗時過長,請使用“網(wǎng)絡(luò)監(jiān)視器”圖確定導(dǎo)致性能瓶頸的網(wǎng)絡(luò)問題

3.服務(wù)器資源監(jiān)控指標(biāo):

內(nèi)存:UNIX資源監(jiān)控中指標(biāo)內(nèi)存頁交換速率(Paging rate),如果該值偶爾走高,表明當(dāng)時有線程競爭內(nèi)存。如果持續(xù)很高,則內(nèi)存可能是瓶頸。也可能是內(nèi)存訪問命中率低。Windows資源監(jiān)控中,如果ProcessPrivate Bytes計數(shù)器和ProcessWorking Set計數(shù)器的值在長時間內(nèi)持續(xù)升高,同時MemoryAvailable bytes計數(shù)器的值持續(xù)降低,則很可能存在內(nèi)存泄漏。

內(nèi)存資源成為系統(tǒng)性能的瓶頸的征兆:

很高的換頁率(high pageout rate);

進(jìn)程進(jìn)入不活動狀態(tài);

交換區(qū)所有磁盤的活動次數(shù)可高;

可高的全局系統(tǒng)CPU利用率;

內(nèi)存不夠出錯(out of memory errors)

處理器:UNIX資源監(jiān)控(Windows操作系統(tǒng)同理)中指標(biāo)CPU占用率(CPU utilization),如果該值持續(xù)超過95%,表明瓶頸是CPU。可以考慮增加一個處理器或換一個更快的處理器。如果服務(wù)器專用于SQL Server,可接受的最大上限是80-85%

合理使用的范圍在60%至70%。Windows資源監(jiān)控中,如果SystemProcessor Queue Length大于2,而處理器利用率(Processor Time)一直很低,則存在著處理器阻塞。

CPU資源成為系統(tǒng)性能的瓶頸的征兆:

很慢的響應(yīng)時間(slow response time)

CPU空閑時間為零(zero percent idle CPU)

過高的用戶占用CPU時間(high percent user CPU)

過高的系統(tǒng)占用CPU時間(high percent system CPU)

長時間的有很長的運(yùn)行進(jìn)程隊列(large run queue size sustained over time)

磁盤I/O:UNIX資源監(jiān)控(Windows操作系統(tǒng)同理)中指標(biāo)磁盤交換率(Disk rate),如果該參數(shù)值一直很高,表明I/O有問題。可考慮更換更快的硬盤系統(tǒng)。Windows資源監(jiān)控中,如果 Disk Time和Avg.Disk Queue Length的值很高,而Page Reads/sec頁面讀取操作速率很低,則可能存在磁盤瓶徑。

I/O資源成為系統(tǒng)性能的瓶頸的征兆 :

過高的磁盤利用率(high disk utilization)

太長的磁盤等待隊列(large disk queue length)

等待磁盤I/O的時間所占的百分率太高(large percentage of time waiting for disk I/O)太高的物理I/O速率:large physical I/O rate(not sufficient in itself)

過低的緩存命中率(low buffer cache hit ratio(not sufficient in itself))

太長的運(yùn)行進(jìn)程隊列,但CPU卻空閑(large run queue with idle CPU)

4.?dāng)?shù)據(jù)庫服務(wù)器:

SQL Server數(shù)據(jù)庫:SQLServer資源監(jiān)控中指標(biāo)緩存點(diǎn)擊率(Cache Hit Ratio),該值越高越好。如果持續(xù)低于80%,應(yīng)考慮增加內(nèi)存。如果Full Scans/sec(全表掃描/秒)計數(shù)器顯示的值比1或2高,則應(yīng)分析你的查詢以確定是否確實需要全表掃描,以及SQL查詢是否可以被優(yōu)化。Number of Deadlocks/sec(死鎖的數(shù)量/秒):死鎖對應(yīng)用程序的可伸縮性非常有害,并且會導(dǎo)致惡劣的用戶體驗。該計數(shù)器的值必須為0。Lock Requests/sec(鎖請求/秒),通過優(yōu)化查詢來減少讀取次數(shù),可以減少該計數(shù)器的值。

Oracle數(shù)據(jù)庫:如果自由內(nèi)存接近于0而且?guī)炜齑婊驍?shù)據(jù)字典快存的命中率小于0.90,那么需要增加

SHARED_POOL_SIZE的大小。

快存(共享SQL區(qū))和數(shù)據(jù)字典快存的命中率:

select(sum(pins-reloads))/sum(pins)from v$librarycache;

select(sum(gets-getmisses))/sum(gets)from v$rowcache;

自由內(nèi)存:select * from v$sgastat where name=’free memory’;如果數(shù)據(jù)的緩存命中率小于0.90,那么需要加大DB_BLOCK_BUFFERS參數(shù)的值(單位:塊)。緩沖區(qū)高速緩存命中率:

select name,value from v$sysstat where name in('db block gets’,'consistent gets','physical reads');

Hit Ratio = 1-(physical reads /(db block gets + consistent gets))如果日志緩沖區(qū)申請的值較大,則應(yīng)加大LOG_BUFFER參數(shù)的值。

日志緩沖區(qū)的申請情況 :

select name,value from v$sysstat where name = 'redo log space requests';如果內(nèi)存排序命中率小于0.95,則應(yīng)加大SORT_AREA_SIZE以避免磁盤排序。

內(nèi)存排序命中率 :

select round((100*b.value)/decode((a.value+b.value), 0, 1,(a.value+b.value)), 2)from v$sysstat a, v$sysstat b where a.name='sorts(disk)' and b.name='sorts(memory)'

注:上述SQL Server和Oracle數(shù)據(jù)庫分析,只是一些簡單、基本的分析,特別是Oracle數(shù)據(jù)庫的分析和優(yōu)化,是一門專門的技術(shù),進(jìn)一步的分析可查相關(guān)資料。

說明:

以上只是個人的體會和部分資料的整理,并不代表專家之言。算拋磚引玉,有不同看法和更深入的分析的,希望大家勇要發(fā)言,以推動我們國內(nèi)的性能測試工作。

第二篇:LoadRunner測試SQL語句性能

本次通過loadRunner錄制SQLServer介紹一下如何測試一個sql語句或存儲過程的執(zhí)行性能。主要分如下幾個步驟完成:

第一步、測試準(zhǔn)備

第二步、配置ODBC數(shù)據(jù)源

第三步、錄制SQL語句在Sql Server查詢分析器中的運(yùn)行過程

第四步、優(yōu)化錄制腳本,設(shè)置事務(wù)

第五步、改變查詢數(shù)量級查看SQL語句的性能

第六步、在controller中運(yùn)行腳本

下面開始具體的介紹:

測試準(zhǔn)備階段我們首先要確認(rèn)測試數(shù)據(jù)庫服務(wù)器:我們可以在本地安裝SQL SERVER數(shù)據(jù)庫服務(wù)端及客戶端,也可以確定一臺裝好的SQL SERVER服務(wù)器。

接下來,準(zhǔn)備測試數(shù)據(jù):對數(shù)據(jù)庫測試時我們要考慮的不是SQL語句是否能夠正確執(zhí)行,而是在某數(shù)量級的情況下SQL語句的執(zhí)行效率及數(shù)據(jù)庫服務(wù)的運(yùn)行情況,所以我們分別準(zhǔn)備不同數(shù)量級的測試數(shù)據(jù),即根據(jù)實際的業(yè)務(wù)情況預(yù)估數(shù)據(jù)庫中的記錄數(shù),在本次講解中我們不考慮業(yè)務(wù)邏輯也不考慮數(shù)據(jù)表之間的關(guān)系,我們只建立一張表,并向此表中加入不同數(shù)量級的數(shù)據(jù),如分別加入1000條、10000條、50000條、100000條數(shù)據(jù)查看某SQL語句的執(zhí)行效率。在查詢分析器中運(yùn)行如下腳本:

--創(chuàng)建測試數(shù)據(jù)庫

create database loadrunner_test;

use loadrunner_test

--創(chuàng)建測試數(shù)據(jù)表

create table test_table

(username varchar(50),sex int,age int,address varchar(100),post int)

--通過一段程序插入不同數(shù)量級的記錄,具體的語法在這里就不多說了

declare@iint

set@i=0

while@i<1000//循環(huán)1000次,可以根據(jù)測試數(shù)據(jù)情況改變插入條數(shù)

begin

BEGIN TRAN T1

insert into test_table(username,sex,age,address,post)values('戶瑞海'+cast(@i as varchar),@i-1,@i+1,'北京市和平里'+cast(@i as varchar)+'號',123456);

IF @@ERROR <> 0

begin

rollback;

select @@error

end

else

begin

commit;

set@i=@i+1

end

end

好了,執(zhí)行完上述語句后,建立的數(shù)據(jù)表中已經(jīng)有1000條記錄了,下面進(jìn)行第二步的操作,配置ODBC數(shù)據(jù)源,為了能讓loadrunner能夠通過ODBC協(xié)議連接到我們建立的SQL SERVER數(shù)據(jù)路,我們需要在本機(jī)上建立ODBC數(shù)據(jù)源,建立方法如下:

控制面板—性能和維護(hù)—管理工具—數(shù)據(jù)源(ODBC)--添加,在列表中選擇SQL SERVER點(diǎn)擊完成,根據(jù)向?qū)л斎霐?shù)據(jù)源名稱,鏈接的服務(wù)器,下一步,輸入鏈接數(shù)據(jù)庫的用戶名和密碼,更改鏈接的數(shù)據(jù)庫,完成ODBC的配置,如果配置正確的話,在最后一步點(diǎn)擊“測試數(shù)據(jù)源”,會彈出測試成功的提示。

配置好ODBC數(shù)據(jù)源后就要錄制SQL語句在查詢分析器中的執(zhí)行過程了:

1、打開loadrunner,選擇ODBC協(xié)議

2、在start recording中的application type 選擇win32 application;program to record中錄入SQL SERVER查詢分析器的路徑“..安裝目錄isqlw.exe”

3、開始錄制,首先通過查詢分析器登錄SQL SERVER,在打開的查詢分析器窗口中輸入要測試的SQL語句,如“select * from test_table;”

4、在查詢分析器中執(zhí)行該語句,執(zhí)行完成后,結(jié)束錄制

好了,現(xiàn)在就可以看到loadrunner生成的腳本了(由于腳本過長,在這里就不粘貼了,有需要的朋友可以加我QQ,我把腳本發(fā)給你們),通過這些語句,我們可以看出,登錄數(shù)據(jù)庫的過程、執(zhí)行SQL語句的過程。

接下來,我們來優(yōu)化腳本,我們分別為數(shù)據(jù)庫登錄部分和執(zhí)行SQL語句的部分加一個事物,在增加一個double的變量獲取事務(wù)執(zhí)行時間,簡單內(nèi)容如下:

Action()

{double trans_time;//定義一個double型變量用來保存事務(wù)執(zhí)行時間

lr_start_transaction(“sqserver_login”);//設(shè)置登錄事務(wù)的開始

lrd_init(&InitInfo, DBTypeVersion);//初始化鏈接(下面的都是loadrunner生成的腳本了,大家可以通過幫助查到每個函數(shù)的意思)

lrd_open_context(&Ctx1, LRD_DBTYPE_ODBC, 0, 0, 0);

lrd_db_option(Ctx1, OT_ODBC_OV_ODBC3, 0, 0);

lrd_alloc_connection(&Con1, LRD_DBTYPE_ODBC, Ctx1, 0 /*Unused*/, 0);

………………

trans_time=lr_get_transaction_duration(“sqserver_login”);//獲得登錄數(shù)據(jù)庫的時間lr_output_message(“sqserver_login事務(wù)耗時 %f 秒”, trans_time);//輸出該時間

lr_end_transaction(“sqserver_login”, LR_AUTO);//結(jié)束登錄事務(wù)

lr_start_transaction(“start_select”);//開始查詢事務(wù)

lrd_cancel(0, Csr2, 0 /*Unused*/, 0);

lrd_stmt(Csr2, “select * from test_table;rn”,-1, 1, 0 /*None*/, 0);//此句為執(zhí)行的SQL lrd_bind_cols(Csr2, BCInfo_D42, 0);

lrd_fetch(Csr2,-10, 1, 0, PrintRow24, 0);

……………..trans_time=lr_get_transaction_duration(“start_select”);//獲得該SQL的執(zhí)行時間

lr_output_message(“start_select事務(wù)耗時 %f 秒”, trans_time);//輸出該時間

lr_end_transaction(“start_select”, LR_AUTO);//結(jié)束查詢事務(wù)

優(yōu)化后,在執(zhí)行上述腳本后,就可以得到登錄到數(shù)據(jù)庫的時間及運(yùn)行select * from test_table這條語句的時間了,當(dāng)然我們也可以根據(jù)實際情況對該條語句進(jìn)行參數(shù)化,可以測試多條語句的執(zhí)行時間,也可以將該語句改為調(diào)用存儲過程的語句來測試存儲過程的運(yùn)行時間。

接下來把該腳本在controller中運(yùn)行,設(shè)置虛擬用戶數(shù),設(shè)置集合點(diǎn),這些操作我就不說了,但是值得注意的是,沒有Mercury 授權(quán)的SQL SERVER用戶license,在運(yùn)行該腳本時回報錯,提示“You do not have a license for this Vuser type.Please contact Mercury Interactive to renew your license.”我們公司窮啊買不起loadrunner,所以我也無法繼續(xù)試驗,希望有l(wèi)icense朋友們監(jiān)控一下運(yùn)行結(jié)果!

最起碼在VUGen中運(yùn)行該腳本我們可以得到任意一個SQL語句及存儲過程的執(zhí)行時間,如果我們測試的B/S結(jié)構(gòu)的程序,我們也可以通過HTML協(xié)議錄制的腳本在CONTROLLER中監(jiān)控SQL SERVER服務(wù)器的性能情況,這樣兩方面結(jié)合起來就可以對數(shù)據(jù)庫性能做一個完整的監(jiān)控了。

第三篇:LoadRunner學(xué)習(xí)總結(jié)

LoadRunner學(xué)習(xí)小結(jié)

今年十月份我到北京跟張坤學(xué)習(xí)性能測試知識,共花了三個星期學(xué)習(xí)LoadRunner。以下是我的學(xué)習(xí)小結(jié)。

一. 什么是LoadRunner LoadRunner是一種預(yù)測系統(tǒng)行為和性能的工業(yè)標(biāo)準(zhǔn)級負(fù)載測試工具。通過以模擬多個用戶實施并發(fā)負(fù)載測試及實時性能檢測的方式來確認(rèn)和查找問題,能對整個企業(yè)架構(gòu)進(jìn)行測試。

二. LoadRunner的優(yōu)點(diǎn)

1.輕松創(chuàng)建虛擬用戶:通過記錄下業(yè)務(wù)流程轉(zhuǎn)為測試腳本,在機(jī)器上產(chǎn)生多個用戶訪問,減少負(fù)載測試需要的硬件和人力資源。

2.創(chuàng)建真實的負(fù)載:可以通過Controller設(shè)定負(fù)載方案,如定義用戶在什么時候訪問系統(tǒng)以產(chǎn)生負(fù)載,所有用戶同時執(zhí)行一個動作來模擬峰值負(fù)載情況等。3.實時監(jiān)測器:可以實時顯示交易性能數(shù)據(jù)(如響應(yīng)時間)和其他系統(tǒng)組件如數(shù)據(jù)庫,網(wǎng)絡(luò)等的實時性能。

4.分析結(jié)果以精確定位問題所在:LoadRunner能收集匯總所有測試數(shù)據(jù),提供高級的分析和報告工具。

三. LoadRunner的安裝與使用

1.安裝過程詳見上傳的LoadRunner使用手冊,在此不再詳細(xì)介紹。2.具體使用:

點(diǎn)擊File新建錄制文件,也可以點(diǎn)擊下面的NEW快捷鍵進(jìn)行新建。使用File新建,會彈出協(xié)議選擇窗口,選擇新的單協(xié)議腳本(New Single Protocol Script)的Web(HTTP/HTML)項,確定即可(選擇Web項是因為我們測試的是Web應(yīng)用)。接著會彈出開始錄制的設(shè)置項,需要寫入錄入系統(tǒng)的地址,點(diǎn)擊確定后就會根據(jù)錄入地址展現(xiàn)系統(tǒng)頁面,開始錄制腳本,出現(xiàn)小工具條:

第一個按鈕為錄制鍵 第二個為回放腳本鍵 第三個為停止錄制鍵 第四個為暫停錄制鍵 第五個為編譯腳本鍵

第六個為創(chuàng)建新的Action鍵。LR的錄制腳本分為三個部分,vuser_init、vuser_end和 Action。腳本循環(huán)執(zhí)行時,只執(zhí)行一次vuser_init和vuser_end,而多次循環(huán)Action部分。比如錄制投保業(yè)務(wù)時,登陸系統(tǒng)部分放入vuser_init,退出登陸放到vuser_end,中間的投保操作放到Action中,則循環(huán)執(zhí)行時就會登陸一次投保系統(tǒng)開始反復(fù)執(zhí)行投保操作直到結(jié)束退出系統(tǒng)。

第七個為用來改變錄制的options設(shè)置按鈕

第八個和第九個為插入事務(wù)的起始點(diǎn)和結(jié)束點(diǎn)鍵,結(jié)合起來構(gòu)成一個完整事物,用來衡量服務(wù)器的性能。比如錄制腳本過程中,投保系統(tǒng)的查詢投保單號操作,可以在輸入完查詢信息后點(diǎn)擊查詢按鈕前插入事務(wù)的起始點(diǎn),查詢出數(shù)據(jù)后插入事務(wù)的結(jié)束點(diǎn),這樣在運(yùn)行測試腳本時,Loadrunner在運(yùn)行到該事務(wù)時,便會計算出這個查詢操作所花時間,便于衡量服務(wù)器執(zhí)行查詢操作的性能。

第十個為插入集合點(diǎn)鍵,可用于衡量在加重負(fù)載的情況下服務(wù)器的性能。比如要驗證系統(tǒng)是否能承受100人同時進(jìn)行報案操作,便可在腳本錄入過程中,點(diǎn)擊報案確認(rèn)鍵操作前插入集合點(diǎn),這樣當(dāng)腳本運(yùn)行到集合點(diǎn)時,Loadrunner會讓100個虛擬用戶同時點(diǎn)擊報案確認(rèn)按鈕(如果有的用戶還沒運(yùn)行到集合點(diǎn),先到用戶要等未到用戶一起操作)進(jìn)行報案,從而達(dá)到測試目的。

最后一個為設(shè)置驗證點(diǎn)鍵,在創(chuàng)建事物后,設(shè)置一個驗證點(diǎn)可以用來確認(rèn)事物執(zhí)行是否成功。比如進(jìn)行查詢事務(wù)操作時,LR只要檢測到網(wǎng)頁的響應(yīng),就認(rèn)為事務(wù)pass,而不管顯示頁面內(nèi)容是否正確。因此為了檢查Web服務(wù)器返回的網(wǎng)頁是否正確,可以插入Text/Image檢查點(diǎn),驗證網(wǎng)頁上是否存在指定的Text或Image。

設(shè)置驗證點(diǎn)時,如果我們驗證的文本內(nèi)容是中文,有時會返回?zé)o法找到驗證內(nèi)容的報錯信息,而頁面顯示又是正確的,出現(xiàn)問題的原因可能是因為LR對中文的支持部好,盡量選擇驗證信息為數(shù)字或字母;也可能是設(shè)置問題,可以嘗試將Tools->Recording Options->HTTP Properties下的Advanced選項里設(shè)置支持UTF-8,再檢查開發(fā)人員有沒有設(shè)置支持中文。

錄制結(jié)束后,先點(diǎn)擊保存腳本,同時為腳本命名。然后編譯腳本,看是否存在語法錯誤,編譯成功后,即可回放,看錄制腳本是否成功。

LoadRunner錄制得到的腳本基本沒有錯誤,不像robot會有錄入數(shù)據(jù)的缺失,只是會錄入一些非錄入系統(tǒng)的網(wǎng)頁信息,根據(jù)地址可以識別并刪除掉。

四. LoadRunner腳本錄制學(xué)習(xí)小結(jié)

1.LoadRunner錄制腳本,主要是為了進(jìn)行壓力測試,所以跑流程時,跑了主要流程即可,也就是系統(tǒng)必須的信息錄入就可以了。2.LoadRunner的腳本運(yùn)行過程中,只能用于一次業(yè)務(wù)辦理的數(shù)據(jù)需要做參數(shù)化,如車輛車架號,車牌,報案號等,以免出現(xiàn)重復(fù)投保或報案無法立案現(xiàn)象,不能繼續(xù)進(jìn)行下去。參數(shù)化步驟:

1)將需要做參數(shù)化的數(shù)據(jù)右鍵點(diǎn)擊,選擇Replace with a parameter,進(jìn)行設(shè)置。2)在彈出編輯框里,設(shè)置易懂的參數(shù)名稱,再點(diǎn)擊Properties進(jìn)行屬性設(shè)置。3)點(diǎn)擊Create Table 按鈕,生成參數(shù)表格,再點(diǎn)擊Edit with Notepad按鈕,即可在記事本里添加新的參數(shù),添加完后再次回車(不回車可能最后條數(shù)據(jù)讀取不到)關(guān)閉,參數(shù)化操作完成。

4)使用Ctrl +H鍵可以找到替換同樣的需要參數(shù)化的數(shù)據(jù)。

3.腳本跑流程過程中,因為業(yè)務(wù)運(yùn)轉(zhuǎn),前面生成的投保單要接著進(jìn)行提交核保業(yè)務(wù),而每次生成的投保單號不一樣,用于進(jìn)行提交核保的單號也要與之前的保持一致,因此需要做關(guān)聯(lián)處理,讀取到生成的新投保單號給提交核保流程。關(guān)聯(lián)步驟:

1).查找關(guān)聯(lián)數(shù)據(jù)第一次出現(xiàn)的位置,判斷該數(shù)據(jù)是由什么函數(shù)返回的。

2).在樹形結(jié)構(gòu)里點(diǎn)擊返回該數(shù)據(jù)值的函數(shù),看它的Server Response信息,用復(fù)制的關(guān)聯(lián)數(shù)據(jù)進(jìn)行查找它的返回語句,找到區(qū)分度明顯的語句(不一定要是第一個返回語句),然后使用web_reg_save_param函數(shù)進(jìn)行關(guān)聯(lián)。

注:關(guān)聯(lián)函數(shù)一定要寫在第一個返回該數(shù)據(jù)值的函數(shù)前。

3).web_reg_save_param(const char *ParamName, , LAST);

函數(shù)的第一個參數(shù)是用來對關(guān)聯(lián)數(shù)據(jù)進(jìn)行定義的,取名最好可讀性強(qiáng);第二個參數(shù)是用來標(biāo)識關(guān)聯(lián)數(shù)據(jù)在返回語句里的具體位置的,寫出該數(shù)據(jù)的左右邊界,程序才能識別;LAST表示屬性列的結(jié)束。比如辦理理賠業(yè)務(wù)的流程號,在服務(wù)器的返回語句里是:

做關(guān)聯(lián)為:

web_reg_save_param(“LogFlowID”,“LB=name=flowID type=”hidden“ value=”,“RB=>”,LAST);定義的參數(shù)名就叫LogFlowID,表示流程號,易于明白;左邊界從name取就可以標(biāo)識了,也可取長點(diǎn)或短點(diǎn),只要能區(qū)分;右邊界只有>,寫上就好;最后寫上LAST。

在定義的左右邊界中,如果有雙引號,在腳本中是需要轉(zhuǎn)義的,因為雙引號在C中是有意義的,這里只要表示語句信息,加上右斜杠。尖括號直寫。

左右邊界也需要用雙引號括起來。定義好的參數(shù)寫在程序中,需要在加上單尖括號:swfLogFlowID={LogFlowID} 五. 腳本執(zhí)行過程中的報錯處理

1.vuser_init.c(3051): Error-26377: No match found for the requested parameter “proposalNo”.Check whether the requested boundaries exist in the response data.Also, if the data you want to save exceeds 256 bytes, use web_set_max_html_param_len to increase the parameter size [MsgId: MERR-26377] 2.vuser_init.c(3051): web_submit_data(“UIPrPoEnInputNext.jsp”)highest severity level was “ERROR”, 4312 body bytes, 258 header bytes [MsgId: MMSG-26388]

兩個錯誤一起出現(xiàn),出錯語句都是在關(guān)聯(lián)函數(shù)下的提交數(shù)據(jù)函數(shù)位置,但是具體出錯有可能是:

1).關(guān)聯(lián)函數(shù)左右邊界沒寫對,所有信息都要用字符輸入,不能是中文或其他。

2).在關(guān)聯(lián)函數(shù)確認(rèn)寫對的情況下,看提交數(shù)據(jù)函數(shù)中的業(yè)務(wù)設(shè)置,比如有可能是因為保單查詢語句,設(shè)置的查詢時間是過去的時間,新生成的投保單當(dāng)然查不到,這樣程序也會報這樣的錯。

3.loadrunner 執(zhí)行理賠的立案處理,錄制好腳本后,回放,報錯:

腳本日志信息提示:

1.Action.c(400): Error-26366: “Text=立案信息提交成功” not found for web_reg_find [MsgId: MERR-26366] 2.Action.c(400): web_submit_data(“claimSave.do”)highest severity level was “ERROR”, 4424 body bytes, 258 header bytes [MsgId: MMSG-26388] 腳本執(zhí)行過程停止在立案信息提交頁面,錯誤原因:數(shù)據(jù)問題,可能是有的應(yīng)該變化的信息沒有變。

在該流程中,一個報案號只能做一次立案,而初始腳本沒有設(shè)置參數(shù)、關(guān)聯(lián),使用保單號進(jìn)行查詢,錯誤被掩蓋。在立案系統(tǒng)中,一個保單號可以重復(fù)報案,但是一個報案號只能一次立案,要跑通流程,需要先將這一保單再重復(fù)報案,得到新的報案號。

六. 性能測試的場景設(shè)置

腳本錄制完畢后,接著準(zhǔn)備測試場景。1.首先準(zhǔn)備測試數(shù)據(jù)。比如車險投保,需要投保人和車架號信息來唯一標(biāo)識一輛被保車,因此就需要將投保人和車架號做參數(shù)化處理,編輯文本框錄入大量數(shù)據(jù)讓腳本唯一讀取:

1).錄入投保人參數(shù),車架號參數(shù),過程同腳本錄制的參數(shù)化處理

2).因為投保人和車架號一起生成一條投保數(shù)據(jù),可設(shè)置車架號隨投保人參數(shù)一起讀取,設(shè)置步驟為:

投保人文件存放路徑--File path

投保人參數(shù)數(shù)據(jù)讀取方式

腳本按列名讀取參數(shù),每行數(shù)據(jù)讀取一次,每次循環(huán)取一次新值。接著設(shè)置車架號參數(shù)信息:

車架號參數(shù)讀取文件路徑設(shè)為和投保人文件路徑一樣

腳本按列名讀取參數(shù),行號選擇和讀取的投保人數(shù)據(jù)同一行

這樣得到所需的投保單生成參數(shù)數(shù)據(jù)

2.設(shè)置測試場景

點(diǎn)擊Tools->Create Controller Scenarios,彈出場景類型選擇框:

錄入需要的虛擬用戶數(shù),選擇生成結(jié)果存放路徑和組名。確定后進(jìn)入具體設(shè)置頁面:

Quantity表示虛擬用戶個數(shù),group name為組名。

1).設(shè)置運(yùn)行時間選項Run – time Settings

選擇循環(huán)次數(shù)Run Logic->Iteration Count,設(shè)置循環(huán)10次,虛擬用戶數(shù)為之前設(shè)置的5人,則預(yù)計一共可生成50張投保單。

設(shè)置思考時間,思考時間通常是錄制腳本過程中,填寫頁面信息花費(fèi)的時間,選擇忽略項,節(jié)省跑腳本的時間。

設(shè)置網(wǎng)絡(luò)連接時間,點(diǎn)擊網(wǎng)絡(luò)協(xié)議項Internet Protocol 的Options鍵,將彈出頁面里的HTTP-request connect timeout和 HTTP-request receive timeout的數(shù)值改為1000。使得能在網(wǎng)絡(luò)狀況不太好的情況下向服務(wù)器發(fā)送接收數(shù)據(jù)。

2).設(shè)置Edit Schedule

選擇虛擬用戶加載方式:

可以一次加載所有用戶,也可以按需要設(shè)置,一秒加載一個用戶或其他。

選擇結(jié)束方式:

當(dāng)選擇一秒加載一個用戶時,結(jié)束設(shè)置為直到跑完所有腳本停止執(zhí)行。如果選擇選擇一次加載所有用戶可以選擇運(yùn)行多少時間后停止和不停止選項。

這些設(shè)置完成后,一次測試場景布置完成。可以進(jìn)行基線檢查或單點(diǎn)并發(fā)測試。

七. 性能測試步驟

一).除測試工具外性能測試必備的系統(tǒng)及業(yè)務(wù)知識

1、熟悉保險行業(yè)業(yè)務(wù)特點(diǎn),有助于與開發(fā)和客戶討論需求,制定測試用例;

2、熟悉系統(tǒng)的實現(xiàn)特點(diǎn),開發(fā)實現(xiàn)方式,有助于選擇程序處理復(fù)雜、消耗系統(tǒng)資源的用例點(diǎn);

3、熟悉數(shù)據(jù)結(jié)構(gòu),了解數(shù)據(jù)存儲規(guī)則,對腳本調(diào)試、數(shù)據(jù)準(zhǔn)備、測試執(zhí)行和監(jiān)視都有幫助;

4、熟悉系統(tǒng)所使用的數(shù)據(jù)庫、操作系統(tǒng)、中間件的監(jiān)視和性能問題查看,有助于測試監(jiān)視和發(fā)現(xiàn)問題;

5、熟悉系統(tǒng)架構(gòu)及系統(tǒng)集成方式,有助于分析及明確定位性能問題。

二)性能測試執(zhí)行過程 1.基線檢查

1).目的:驗證環(huán)境是否可用;

驗證腳本是否能在場景正常執(zhí)行。

2).方法:1個人單獨(dú)循環(huán)5次--沒有其他人干擾,干凈的環(huán)境

3).結(jié)果:一般一個事物的響應(yīng)時間超過3秒就可能存在問題,要提報開發(fā)人

2.單點(diǎn)并發(fā)

1).目的:為了快速的發(fā)現(xiàn)問題,如多進(jìn)程的鎖機(jī)制,看是否相互間有影響。2).方法:一般是10人或20人執(zhí)行10到15分鐘,執(zhí)行過程忽略思考時間。

忽略思考時間可以減少客戶端時間,加快向服務(wù)器傳送數(shù)據(jù)速度,很大程度上增大了服務(wù)器的壓力,20個人單點(diǎn)并發(fā)的壓力就相當(dāng)于200人正常執(zhí)行帶給服務(wù)器的壓力。

3).單點(diǎn)測試的數(shù)據(jù)可以用來進(jìn)行混發(fā)測試,但是有可能單點(diǎn)測試的數(shù)據(jù)不足以進(jìn)行混發(fā),需要自己再準(zhǔn)備足夠的數(shù)據(jù)。

3.方案測試--混發(fā)測試

1).目的:模擬生產(chǎn)環(huán)境

2).方法:執(zhí)行1小時左右,加上思考時間

八.資源監(jiān)控及調(diào)優(yōu)

性能測試執(zhí)行過程中,需要監(jiān)控系統(tǒng)各項資源,看是否能滿足用戶實際需要,如內(nèi)存使用,SQL SERVER等,結(jié)合LR生成的分析報告,分析系統(tǒng)哪里可能存在問題,需要改進(jìn),進(jìn)行調(diào)優(yōu),這也是我之后要接著進(jìn)行學(xué)習(xí)的地方。

1.學(xué)習(xí)使用weblogic,了解weblogic常配參數(shù)的意義。通過weblogic自身的監(jiān)控臺,可以了解到目前的JVM的大小、數(shù)據(jù)庫連接池的使用情況以及目前連接的客戶端數(shù)量以及請求狀況等等。

2.學(xué)習(xí)oracle使用,熟悉它的體系結(jié)構(gòu),尤其是oracle10里 的awr,awr能采集與統(tǒng)計數(shù)據(jù),并從那些統(tǒng)計數(shù)據(jù)中導(dǎo)出性能量度,以跟蹤潛在的問題。

3.需要繼續(xù)學(xué)習(xí)LR的理論知識和實際操作,參考書籍《Web性能測試實戰(zhàn)》、《軟件性能測試過程詳解與案例剖析》

第四篇:loadrunner計數(shù)器分析總結(jié)

Loadrunner性能計數(shù)器分析總結(jié)

2009-12-02 14:48

Memory: 內(nèi)存使用情況可能是系統(tǒng)性能中最重要的因素。如果系統(tǒng)“頁交換”頻繁,說明內(nèi)存不足。“頁交換”是使用稱為“頁面”的單位,將固定大小的代碼和數(shù)據(jù)塊從 RAM 移動到磁盤的過程,其目的是為了釋放內(nèi)存空間。盡管某些頁交換使 Windows 2000 能夠使用比實際更多的內(nèi)存,也是可以接受的,但頻繁的頁交換將降低系統(tǒng)性能。減少頁交換將顯著提高系統(tǒng)響應(yīng)速度。要監(jiān)視內(nèi)存不足的狀況,請從以下的對象計數(shù)器開始:

Available Mbytes:可用物理內(nèi)存數(shù).如果Available Mbytes的值很小(4 MB 或更小),則說明計算機(jī)上總的內(nèi)存可能不足,或某程序沒有釋放內(nèi)存。

page/sec: 表明由于硬件頁面錯誤而從磁盤取出的頁面數(shù),或由于頁面錯誤而寫入磁盤以釋放工作集空間的頁面數(shù)。一般如果pages/sec持續(xù)高于幾百,那么您應(yīng)該進(jìn)一步研究頁交換活動。有可能需要增加內(nèi)存,以減少換頁的需求(你可以把這個數(shù)字乘以4k就得到由此引起的硬盤數(shù)據(jù)流量)。Pages/sec 的值很大不一定表明內(nèi)存有問題,而可能是運(yùn)行使用內(nèi)存映射文件的程序所致。

page read/sec:頁的硬故障,page/sec的子集,為了解析對內(nèi)存的引用,必須讀取頁文件的次數(shù)。閾值為>5.越低越好。大數(shù)值表示磁盤讀而不是緩存讀。由于過多的頁交換要使用大量的硬盤空間,因此有可能將導(dǎo)致將頁交換內(nèi)存不足與導(dǎo)致頁交換的磁盤瓶徑混淆。因此,在研究內(nèi)存不足不太明顯的頁交換的原因時,您必須跟蹤如下的磁盤使用情況計數(shù)器和內(nèi)存計數(shù)器:

Physical Disk % Disk Time

Physical Disk Avg.Disk Queue Length

例如,包括 Page Reads/sec 和 % Disk Time 及 Avg.Disk Queue Length。如果頁面讀取操作速率很低,同時 % Disk Time 和 Avg.Disk Queue Length的值很高,則可能有磁盤瓶徑。但是,如果隊列長度增加的同時頁面讀取速率并未降低,則內(nèi)存不足。

要確定過多的頁交換對磁盤活動的影響,請將 Physical Disk Avg.Disk

sec/Transfer 和 Memory Pages/sec 計數(shù)器的值增大數(shù)倍。如果這些計數(shù)器的計數(shù)結(jié)果超過了 0.1,那么頁交換將花費(fèi)百分之十以上的磁盤訪問時間。如果長時間發(fā)生這種情況,那么您可能需要更多的內(nèi)存。

Page Faults/sec:每秒軟性頁面失效的數(shù)目(包括有些可以直接在內(nèi)存中滿足而有些需要從硬盤讀取)較page/sec只表明數(shù)據(jù)不能在內(nèi)存的指定工作集中立即使用。

Cache Bytes:文件系統(tǒng)緩存(File System Cache),默認(rèn)情況下為50%的可用物理內(nèi)存。如IIS5.0 運(yùn)行內(nèi)存不夠時,它會自動整理緩存。需要關(guān)注該計數(shù)器的趨勢變化

如果您懷疑有內(nèi)存泄露,請監(jiān)視 Memory Available Bytes 和 Memory

Committed Bytes,以觀察內(nèi)存行為,并監(jiān)視您認(rèn)為可能在泄露內(nèi)存的進(jìn)程的 ProcessPrivate Bytes、ProcessWorking Set 和ProcessHandle Count。如果您懷疑是內(nèi)核模式進(jìn)程導(dǎo)致了泄露,則還應(yīng)該監(jiān)視 MemoryPool Nonpaged Bytes、Memory Pool Nonpaged Allocs 和 Process(process_name)Pool Nonpaged Bytes。

Pages per second :每秒鐘檢索的頁數(shù)。該數(shù)字應(yīng)少于每秒一頁。

Process:

%Processor Time: 被處理器消耗的處理器時間數(shù)量。如果服務(wù)器專用于sql server,可接受的最大上限是80-85%

Page Faults/sec:將進(jìn)程產(chǎn)生的頁故障與系統(tǒng)產(chǎn)生的相比較,以判斷這個進(jìn)程對系統(tǒng)頁故障產(chǎn)生的影響。

Work set: 處理線程最近使用的內(nèi)存頁,反映了每一個進(jìn)程使用的內(nèi)存頁的數(shù)量。如果服務(wù)器有足夠的空閑內(nèi)存,頁就會被留在工作集中,當(dāng)自由內(nèi)存少于一個特定的閾值時,頁就會被清除出工作集。

Inetinfo:Private Bytes:此進(jìn)程所分配的無法與其它進(jìn)程共享的當(dāng)前字節(jié)數(shù)

量。如果系統(tǒng)性能隨著時間而降低,則此計數(shù)器可以是內(nèi)存泄漏的最佳指示器。Processor:監(jiān)視“處理器”和“系統(tǒng)”對象計數(shù)器可以提供關(guān)于處理器使用的有價值的信息,幫助您決定是否存在瓶頸。

%Processor Time:如果該值持續(xù)超過95%,表明瓶頸是CPU。可以考慮增加一個處理器或換一個更快的處理器。

%User Time:表示耗費(fèi)CPU的數(shù)據(jù)庫操作,如排序,執(zhí)行aggregate functions等。如果該值很高,可考慮增加索引,盡量使用簡單的表聯(lián)接,水平分割大表格等方法來降低該值。

%Privileged Time:(CPU內(nèi)核時間)是在特權(quán)模式下處理線程執(zhí)行代碼所花時間的百分比。如果該參數(shù)值和“Physical Disk”參數(shù)值一直很高,表明I/O有問題。可考慮更換更快的硬盤系統(tǒng)。另外設(shè)置Tempdb in RAM,減低“max async IO”,“max lazy writer IO”等措施都會降低該值。

此外,跟蹤計算機(jī)的服務(wù)器工作隊列當(dāng)前長度的 Server Work Queues Queue Length 計數(shù)器會顯示出處理器瓶頸。隊列長度持續(xù)大于 4 則表示可能出現(xiàn)處理器擁塞。此計數(shù)器是特定時間的值,而不是一段時間的平均值。

% DPC Time:越低越好。在多處理器系統(tǒng)中,如果這個值大于50%并且Processor:% Processor Time非常高,加入一個網(wǎng)卡可能會提高性能,提供的網(wǎng)絡(luò)已經(jīng)不飽和。

Thread

ContextSwitches/sec:(實例化inetinfo 和dllhost 進(jìn)程)如果你決定要增加線程字節(jié)池的大小,你應(yīng)該監(jiān)視這三個計數(shù)器(包括上面的一個)。增加線程數(shù)可能會增加上下文切換次數(shù),這樣性能不會上升反而會下降。如果十個實例的上下文切換值非常高,就應(yīng)該減小線程字節(jié)池的大小。

Physical Disk:

%Disk Time %:指所選磁盤驅(qū)動器忙于為讀或?qū)懭胝埱筇峁┓?wù)所用的時間的百分比。如果三個計數(shù)器都比較大,那么硬盤不是瓶頸。如果只有%Disk Time比較大,另外兩個都比較適中,硬盤可能會是瓶頸。在記錄該計數(shù)器之前,請在Windows 2000 的命令行窗口中運(yùn)行diskperf-yD。若數(shù)值持續(xù)超過80%,則可能是內(nèi)存泄漏。

Avg.Disk Queue Length:指讀取和寫入請求(為所選磁盤在實例間隔中列隊的)的平均數(shù)。該值應(yīng)不超過磁盤數(shù)的1.5~2 倍。要提高性能,可增加磁盤。注意:一個Raid Disk實際有多個磁盤。

Average Disk Read/Write Queue Length:指讀取(寫入)請求(列隊)的平均數(shù)。Disk Reads(Writes)/s: 物理磁盤上每秒鐘磁盤讀、寫的次數(shù)。兩者相加,應(yīng)小于磁盤設(shè)備最大容量。

Average Disksec/Read: 指以秒計算的在此盤上讀取數(shù)據(jù)的所需平均時間。Average Disk sec/Transfer:指以秒計算的在此盤上寫入數(shù)據(jù)的所需平均時間。Network Interface:

Bytes Total/sec :為發(fā)送和接收字節(jié)的速率,包括幀字符在內(nèi)。判斷網(wǎng)絡(luò)連接速度是否是瓶頸,可以用該計數(shù)器的值和目前網(wǎng)絡(luò)的帶寬比較

SQLServer性能計數(shù)器:

Access Methods(訪問方法)用于監(jiān)視訪問數(shù)據(jù)庫中的邏輯頁的方法。

.Full Scans/sec(全表掃描/秒)每秒不受限的完全掃描數(shù)。可以是基本表掃描或全索引掃描。如果這個計數(shù)器顯示的值比1或2高,應(yīng)該分析你的查詢以確定是否確實需要全表掃描,以及S Q L查詢是否可以被優(yōu)化。

.Page splits/sec(頁分割/秒)由于數(shù)據(jù)更新操作引起的每秒頁分割的數(shù)量。Buffer Manager(緩沖器管理器):監(jiān)視 Microsoft? SQL Server? 如何使用: 內(nèi)存存儲數(shù)據(jù)頁、內(nèi)部數(shù)據(jù)結(jié)構(gòu)和過程高速緩存;計數(shù)器在 SQL Server 從磁盤讀取數(shù)據(jù)庫頁和將數(shù)據(jù)庫頁寫入磁盤時監(jiān)視物理 I/O。監(jiān)視 SQL Server 所使用的內(nèi)存和計數(shù)器有助于確定: 是否由于缺少可用物理內(nèi)存存儲高速緩存中經(jīng)常訪問的數(shù)據(jù)而導(dǎo)致瓶頸存在。如果是這樣,SQL Server 必須從磁盤檢索數(shù)據(jù)。是否可通過添加更多內(nèi)存或使更多內(nèi)存可用于數(shù)據(jù)高速緩存或 SQL Server 內(nèi)部結(jié)構(gòu)來提高查詢性能。

SQL Server 需要從磁盤讀取數(shù)據(jù)的頻率。與其它操作相比,例如內(nèi)存訪問,物理 I/O 會耗費(fèi)大量時間。盡可能減少物理 I/O 可以提高查詢性能。

.Page Reads/sec:每秒發(fā)出的物理數(shù)據(jù)庫頁讀取數(shù)。這一統(tǒng)計信息顯示的是在所有數(shù)據(jù)庫間的物理頁讀取總數(shù)。由于物理 I/O 的開銷大,可以通過使用更大的數(shù)據(jù)高速緩存、智能索引、更高效的查詢或者改變數(shù)據(jù)庫設(shè)計等方法,使開銷減到最小。

.Page Writes/sec(.寫的頁/秒)每秒執(zhí)行的物理數(shù)據(jù)庫寫的頁數(shù)。

.Buffer Cache Hit Ratio.在“緩沖池”(Buffer Cache/Buffer Pool)中沒有被讀過的頁占整個緩沖池中所有頁的比率。可在高速緩存中找到而不需要從磁盤中讀取的頁的百分比。這一比率是高速緩存命中總數(shù)除以自 SQL Server 實例啟動后對高速緩存的查找總數(shù)。經(jīng)過很長時間后,這一比率的變化很小。由于從高速緩存中讀數(shù)據(jù)比從磁盤中讀數(shù)據(jù)的開銷要小得多,一般希望這一數(shù)值高一些。通常,可以通過增加 SQL Server 可用的內(nèi)存數(shù)量來提高高速緩存命中率。計數(shù)器值依應(yīng)用程序而定,但比率最好為90% 或更高。增加內(nèi)存直到這一數(shù)值持續(xù)高于90%,表示90% 以上的數(shù)據(jù)請求可以從數(shù)據(jù)緩沖區(qū)中獲得所需數(shù)據(jù)。.Lazy Writes/sec(惰性寫/秒)惰性寫進(jìn)程每秒寫的緩沖區(qū)的數(shù)量。值最好為0。Cache Manager(高速緩存管理器)對象提供計數(shù)器,用于監(jiān)視 Microsoft? SQL Server? 如何使用內(nèi)存存儲對象,如存儲過程、特殊和準(zhǔn)備好的 Transact-SQL 語句以及觸發(fā)器。

.Cache Hit Ratio(高速緩存命中率,所有Cache”的命中率。在SQL Server中,Cache可以包括Log Cache,Buffer Cache以及Procedure Cache,是一個總體的比率。)高速緩存命中次數(shù)和查找次數(shù)的比率。對于查看SQL Server高

速緩存對于你的系統(tǒng)如何有效,這是一個非常好的計數(shù)器。如果這個值很低,持續(xù)低于80%,就需要增加更多的內(nèi)存。

Latches(閂)用于監(jiān)視稱為閂鎖的內(nèi)部 SQL Server 資源鎖。監(jiān)視閂鎖以明確用戶活動和資源使用情況,有助于查明性能瓶頸。

.Average Latch Wait Ti m e(m s)(平均閂等待時間(毫秒))一個SQL Server線程必須等待一個閂的平均時間,以毫秒為單位。如果這個值很高,你可能正經(jīng)歷嚴(yán)重的競爭問題。

.Latch Waits/sec(閂等待/秒)在閂上每秒的等待數(shù)量。如果這個值很高,表明你正經(jīng)歷對資源的大量競爭。

Locks(鎖)提供有關(guān)個別資源類型上的 SQL Server 鎖的信息。鎖加在 SQL Server 資源上(如在一個事務(wù)中進(jìn)行的行讀取或修改),以防止多個事務(wù)并發(fā)使用資源。例如,如果一個排它(X)鎖被一個事務(wù)加在某一表的某一行上,在這個鎖被釋放前,其它事務(wù)都不可以修改這一行。盡可能少使用鎖可提高并發(fā)性,從而改善性能。可以同時監(jiān)視 Locks 對象的多個實例,每個實例代表一個資源類型上的一個鎖。

.Number of Deadlocks/sec(死鎖的數(shù)量/秒)導(dǎo)致死鎖的鎖請求的數(shù)量

.Average Wait Time(ms)(平均等待時間(毫秒))線程等待某種類型的鎖的平均等待時間

.Lock Requests/sec(鎖請求/秒)每秒鐘某種類型的鎖請求的數(shù)量。

Memory manager:用于監(jiān)視總體的服務(wù)器內(nèi)存使用情況,以估計用戶活動和資源使用,有助于查明性能瓶頸。監(jiān)視 SQL Server 實例所使用的內(nèi)存有助于確定:是否由于缺少可用物理內(nèi)存存儲高速緩存中經(jīng)常訪問的數(shù)據(jù)而導(dǎo)致瓶頸存在。如果是這樣,SQL Server 必須從磁盤檢索數(shù)據(jù)。

是否可以通過添加更多內(nèi)存或使更多內(nèi)存可用于數(shù)據(jù)高速緩存或 SQL Server 內(nèi)部結(jié)構(gòu)來提高查詢性能。

Lock blocks:服務(wù)器上鎖定塊的數(shù)量,鎖是在頁、行或者表這樣的資源上。不希望看到一個增長的值。

Total server memory:sql server服務(wù)器當(dāng)前正在使用的動態(tài)內(nèi)存總量.監(jiān)視IIS需要的一些計數(shù)器

Internet Information Services Global:

File Cache Hits %、File CacheFlushes、File Cache Hits

File Cache Hits %是全部緩存請求中緩存命中次數(shù)所占的比例,反映了IIS 的文件緩存設(shè)置的工作情況。對于一個大部分是靜態(tài)網(wǎng)頁組成的網(wǎng)站,該值應(yīng)該保持在80%左右。而File Cache Hits是文件緩存命中的具體值,F(xiàn)ile CacheFlushes 是自服務(wù)器啟動之后文件緩存刷新次數(shù),如果刷新太慢,會浪費(fèi)內(nèi)存;如果刷新太快,緩存中的對象會太頻繁的丟棄生成,起不到緩存的作用。通過比較File Cache Hits 和File Cache Flushes 可得出緩存命中率對緩存清空率的比率。通過觀察它兩個的值,可以得到一個適當(dāng)?shù)乃⑿轮担▍⒖糏IS 的設(shè)置

ObjectTTL、MemCacheSize、MaxCacheFileSize)

Web Service:

Bytes Total/sec:顯示W(wǎng)eb服務(wù)器發(fā)送和接受的總字節(jié)數(shù)。低數(shù)值表明該IIS正在以較低的速度進(jìn)行數(shù)據(jù)傳輸。

Connection Refused:數(shù)值越低越好。高數(shù)值表明網(wǎng)絡(luò)適配器或處理器存在瓶頸。

Not Found Errors:顯示由于被請求文件無法找到而無法由服務(wù)器滿足的請求數(shù)(HTTP狀態(tài)代碼404)

監(jiān)視內(nèi)存計數(shù)器(補(bǔ)充)

要監(jiān)視內(nèi)存不足的狀況,請從以下的對象計數(shù)器開始:

內(nèi)存信息:

Memory Available Bytes

Memory Pages/sec

Memory Available Bytes

如果您懷疑有內(nèi)存泄露,請監(jiān)視 MemoryAvailable Bytes 和 Memory

Committed Bytes,以觀察內(nèi)存行為,并監(jiān)視您認(rèn)為可能在泄露內(nèi)存的進(jìn)程的 Process Private Bytes、Process Working Set 和Process Handle Count。如果您懷疑是內(nèi)核模式進(jìn)程導(dǎo)致了泄露,則還應(yīng)該監(jiān)視 Memory Pool Nonpaged Bytes、Memory Pool Nonpaged Allocs 和 Process(process_name)Pool Nonpaged Bytes。

CPU信息:

Processor % Processor Time 獲得處理器使用情況。

也可以選擇監(jiān)視 Processor % User Time 和 % Privileged Time 以獲得詳細(xì)信息。

Server Work Queues Queue Length 計數(shù)器會顯示出處理器瓶頸。隊列長度持續(xù)大于 4 則表示可能出現(xiàn)處理器擁塞。

System Processor Queue Length 用于瓶頸檢測

通過使用 Process % Processor Time 和 Process Working Set

Process % Processor Time過程的所有線程在每個處理器上的處理器時間總和。

硬盤信息:

Physical Disk % Disk Time

Physical Disk Avg.Disk Queue Length

例如,包括 Page Reads/sec 和 % Disk Time 及 Avg.Disk Queue Length。如果頁面讀取操作速率很低,同時 % Disk Time 和 Avg.Disk Queue Length的值很高,則可能有磁盤瓶徑。但是,如果隊列長度增加的同時頁面讀取速率并未降低,則內(nèi)存不足。

Physical Disk % Disk Time

Physical Disk Avg.Disk Queue Length

例如,包括 Page Reads/sec 和 % Disk Time 及 Avg.Disk Queue Length。如果頁面讀取操作速率很低,同時 % Disk Time 和 Avg.Disk Queue Length的值很高,則可能有磁盤瓶徑。但是,如果隊列長度增加的同時頁面讀取速率并未降低,則內(nèi)存不足。

請觀察 Processor Interrupts/sec 計數(shù)器的值,該計數(shù)器測量來自輸入/輸出

(I/O)設(shè)備的服務(wù)請求的速度。如果此計數(shù)器的值明顯增加,而系統(tǒng)活動沒有相應(yīng)增加,則表明存在硬件問題。

Physical Disk Disk Reads/sec and Disk Writes/sec

Physical Disk Current Disk Queue Length

Physical Disk % Disk Time

LogicalDisk % Free Space

測試磁盤性能時,將性能數(shù)據(jù)記錄到另一個磁盤或計算機(jī),以便這些數(shù)據(jù)不會干擾您正在測試的磁盤。

可能需要觀察的附加計數(shù)器包括 Physical Disk Avg.Disk sec/Transfer、Avg.Disk Bytes/Transfer,和 Disk Bytes/sec。

Avg.Disk sec/Transfer 計數(shù)器反映磁盤完成請求所用的時間。較高的值表明磁盤控制器由于失敗而不斷重試該磁盤。這些故障會增加平均磁盤傳送時間。對于大多數(shù)磁盤,較高的磁盤平均傳送時間是大于 0.3 秒。

也可以查看 Avg.Disk Bytes/Transfer 的值。值大于 20 KB 表示該磁盤驅(qū)動器通常運(yùn)行良好;如果應(yīng)用程序正在訪問磁盤,則會產(chǎn)生較低的值。例如,隨機(jī)訪問磁盤的應(yīng)用程序會增加平均 Disk sec/Transfer 時間,因為隨機(jī)傳送需要增加搜索時間。

Disk Bytes/sec 提供磁盤系統(tǒng)的吞吐率。

決定工作負(fù)載的平衡

要平衡網(wǎng)絡(luò)服務(wù)器上的負(fù)載,需要了解服務(wù)器磁盤驅(qū)動器的繁忙程度。使用 Physical Disk % Disk Time 計數(shù)器,該計數(shù)器顯示驅(qū)動器活動時間的百分比。如果 % Disk Time 較高(超過 90%),請檢查 Physical Disk Current Disk Queue Length 計數(shù)器以查看正在等待磁盤訪問的系統(tǒng)請求數(shù)量。等待 I/O 請求的數(shù)量應(yīng)當(dāng)保持在不大于組成物理磁盤的主軸數(shù)的 1.5 到 2 倍。

盡管廉價磁盤冗余陣列(RAID)設(shè)備通常有多個主軸,大多數(shù)磁盤有一個主軸。硬件 RAID 設(shè)備在“系統(tǒng)監(jiān)視器”中顯示為一個物理磁盤;通過軟件創(chuàng)建的 RAID 設(shè)備顯示為多個驅(qū)動器(實例)。可以監(jiān)視每個物理驅(qū)動器(而不是 RAID)的 Physical Disk 計數(shù)器,也可以使用 _Total 實例來監(jiān)視所有計算機(jī)驅(qū)動器的數(shù)據(jù)。

使用 Current Disk Queue Length 和 % Disk Time 計數(shù)器來檢測磁盤子系統(tǒng)的瓶頸。如果 Current Disk Queue Length 和 % Disk Time 的值始終較高,可以考慮升級磁盤驅(qū)動器或?qū)⒛承┪募苿拥狡渌疟P或服務(wù)器。

第五篇:LoadRunner性能測試流程及測試標(biāo)準(zhǔn)

loadRunner性能測試 1.什么是性能測試

軟件的功能:對一個軟件基本功能能夠?qū)崿F(xiàn),比如:銀行卡能夠正常轉(zhuǎn)賬成功(用戶數(shù)=1)軟件的性能:要求軟件性能更好,一般關(guān)注多用戶的使用情況,軟件的響應(yīng)時間。響應(yīng)時間例子:登錄一個軟件,點(diǎn)擊“登錄”按鈕時,多久能夠顯示成功登錄的頁面。

性能問題: 1. 每秒平均瀏覽量:2200次/秒

瀏覽量(PV,Page View):即頁面訪問量或點(diǎn)擊量,用戶每次刷新即被計算一次 購票申請:20萬張/秒以上

自身設(shè)計瀏覽量100萬次/小時 ?瀏覽量280次/秒

2.響應(yīng)時間的358原則:

3秒之內(nèi),客戶比較滿意 5秒之內(nèi),客戶可以接受 8秒之內(nèi),客戶可以忍受 大于8秒,無法忍受

3.一般進(jìn)行性能測試之前,要對系統(tǒng)尤其是數(shù)據(jù)庫進(jìn)行備份

負(fù)載測試是一種

正常 的測試(在正常測試的指標(biāo)下測出最大的負(fù)載量)

指標(biāo)或者某種資源達(dá)到某種指標(biāo),比如響應(yīng)時間達(dá)到多少,比如CPU負(fù)載100%等

壓力測試和負(fù)載測試二者的區(qū)別:

負(fù)載測試強(qiáng)調(diào)系統(tǒng)在正常工作情況下的性能指標(biāo)

壓力測試的目的是發(fā)現(xiàn)在什么條件下系統(tǒng)的性能變得不可接受,發(fā)現(xiàn)應(yīng)用程序性能下降的拐點(diǎn)

影響系統(tǒng)性能的主要因素

(1)硬件: CPU,內(nèi)存,硬盤,網(wǎng)卡及其他網(wǎng)絡(luò)設(shè)備【最好解決】(2)操作系統(tǒng)(3)網(wǎng)絡(luò)

(4)中間件(又叫應(yīng)用服務(wù)器),web服務(wù)器(5)數(shù)據(jù)庫服務(wù)器(6)客戶端

(7)變成語言,程序?qū)崿F(xiàn)方式,算法【最難解決】

客戶端=?服務(wù)端(Web服務(wù)器)=?應(yīng)用服務(wù)器=?數(shù)據(jù)庫服務(wù)器

性能測試主要關(guān)心兩個部分:web服務(wù)器和應(yīng)用服務(wù)器。客戶端向服務(wù)器發(fā)送請求

服務(wù)器端向客戶端返回應(yīng)答(響應(yīng)response)

性能測試的常用術(shù)語: 并發(fā)(Concurrency):所有用戶在同一時刻(一個時間點(diǎn),可以精確到毫秒級)做同一件事情或操作,一般針對同一類型的業(yè)務(wù)

例如:在信用卡審批業(yè)務(wù)中,一定數(shù)目的用戶在同一時刻對已經(jīng)完成的審批業(yè)務(wù)進(jìn)行提交 做并發(fā)的測試就稱為“并發(fā)測試”。【發(fā)測試不包含睡眠時間】 在線(OnLine):多用戶在一段時間內(nèi)對系統(tǒng)執(zhí)行操作【包含睡眠時間】

并發(fā)測試與在線測試對系統(tǒng)的壓力不同,一般來講并發(fā)測試的壓力和在線測試的壓力的比值是10:1。例如:200用戶并發(fā)測試相當(dāng)于2000用戶在線測試。

并發(fā)測試一定是多用戶。

請求響應(yīng)時間

指從客戶端發(fā)送一個請求開始計時,到客戶端接到從服務(wù)器端返回的響應(yīng)結(jié)果計時結(jié)束。在一些工具中,請求響應(yīng)時間通常被稱為TTLB 即“Time to Last Byte”,意思是從開始發(fā)送第一個請求開始,到客戶端收到最后一個字節(jié)的響應(yīng)為止所耗費(fèi)的時間。請求響應(yīng)時間的單位一般為“秒”或者“毫秒”

再復(fù)雜的響應(yīng)時間都可以分為3段:請求的響應(yīng)時間=客戶端的響應(yīng)時間+網(wǎng)絡(luò)的響應(yīng)時間+服務(wù)器的響應(yīng)時間

一般測試放在內(nèi)網(wǎng)里,帶寬,網(wǎng)絡(luò)不會成為瓶頸。只用分析客戶端的響應(yīng)問題和服務(wù)器的響應(yīng)問題。一般客戶端的響應(yīng)很少有問題,一般只分析服務(wù)器響應(yīng)問題即可。

事務(wù)響應(yīng)時間:用戶完成某個具體事務(wù)(如跨行取款事務(wù))所需要的時間。事務(wù)可能包含多個請求。比如點(diǎn)擊“登錄”按鈕,到登錄進(jìn)頁面。

事務(wù)的響應(yīng)時間和請求響應(yīng)時間的區(qū)別?

一個事務(wù)包含一個或多個請求(一般,一個請求指的是一個http請求)。

點(diǎn)擊率:

每秒鐘用戶向web服務(wù)器提交的http請求數(shù)。---點(diǎn)擊率越大,對服務(wù)器的壓力也越大

---注意:點(diǎn)擊不是指鼠標(biāo)的一次“單擊”操作。因為在一次“單擊”操作中,客戶端可能向服務(wù)器發(fā)出多個HTTP請求(比如跳轉(zhuǎn)頁面需要更新展示圖片等)。

點(diǎn)擊量的計算:假如單擊“登錄”按鈕,請求一個頁面登錄后的歡迎頁面中包含3個圖片,則每個圖片都需要重新發(fā)送一個http請求,所以,單擊鼠標(biāo)一次產(chǎn)生的http請求總數(shù)為4=1(登錄請求)+3(圖片請求)點(diǎn)擊率=點(diǎn)擊量/時間

吞吐量:

用戶在任意給定一秒從服務(wù)器端獲得的全部數(shù)據(jù)量,單位是字節(jié) 吞吐量/傳輸時間=吞吐率

吞吐率很重要,反應(yīng)了服務(wù)器的處理速度和性能,也是衡量網(wǎng)絡(luò)性能的重要指標(biāo)。TPS(事務(wù)數(shù)/秒)

在性能測試過程中,要監(jiān)控服務(wù)器系統(tǒng)的各項資源情況,比如:CPU,內(nèi)存,磁盤及網(wǎng)絡(luò)等情況。

吞吐率和點(diǎn)擊率的區(qū)別:

吞吐率:指服務(wù)器每秒處理的數(shù)據(jù)量。反應(yīng)了服務(wù)器的處理能力,吞吐率越大,服務(wù)器處理能力越強(qiáng)。

點(diǎn)擊率:客戶端每秒向服務(wù)器發(fā)送請求的數(shù)量。反應(yīng)了服務(wù)器的壓力,點(diǎn)擊率越大,服務(wù)器的壓力越大

吞吐率受點(diǎn)擊率影響,也受服務(wù)器性能的限制。

完美的吞吐率是:在帶寬充足的情況下,吞吐率隨著點(diǎn)擊率的增加而增加。

資源利用率

指對不同的資源系統(tǒng)的使用程度,包括web服務(wù)器,操作系統(tǒng),數(shù)據(jù)庫服務(wù)器,網(wǎng)絡(luò),硬件,是測試和分析瓶頸的主要參數(shù)

-如:服務(wù)器cpu利用率,磁盤利用率等

它是分析系統(tǒng)性能指標(biāo)進(jìn)而改善性能的主要依據(jù),因此是web性能測試工作的重點(diǎn)。

性能測試的策略(即方法):重點(diǎn)測試方法:基準(zhǔn)測試,并發(fā)測試,綜合場景測試,疲勞強(qiáng)度測試,極限測試,遞增測試

基準(zhǔn)測試:一般做的是單用戶測試(Benchmark Testing)

----指測試環(huán)境確定以后,對業(yè)務(wù)模型中涉及的重要業(yè)務(wù)做單獨(dú)的測試。

----目的是獲取單用戶執(zhí)行時的各項性能指標(biāo),為多用戶并發(fā)和綜合場景等性能測試分析提供參考依據(jù)。

并發(fā)測試:就是多用戶的并發(fā)測試某個測試點(diǎn)。并發(fā)測試對系統(tǒng)要求比較嚴(yán)格,因為要模擬一個瞬間壓力。并且要忽略系統(tǒng)的睡眠時間(思考時間)。

遞增測試:

A)指每隔一定時間段(如5秒,10秒)加載不同數(shù)目的虛擬用戶執(zhí)行測試點(diǎn)操作,對測試點(diǎn)進(jìn)行遞增用戶壓力加載測試。原因:所有用戶(5000)共同登陸可能會導(dǎo)致系統(tǒng)壓力過大,進(jìn)而影響到后面關(guān)心的測試點(diǎn)(buy)的性能,導(dǎo)致關(guān)心的測試點(diǎn)結(jié)果不準(zhǔn)確,所以采取遞增,分散一下前面的壓力,使系統(tǒng)關(guān)心的測試點(diǎn)能夠正常的測試。(這里是遞增著登陸)B)測試一個測試點(diǎn)(如:購票),先測試單用戶,再測試20用戶,40用戶等情況,有利于分析,也稱為遞增測試。(這里是遞增著全套測試)

綜合場景測試【重難點(diǎn)】:

通過對系統(tǒng)結(jié)構(gòu)和功能的分析,對用戶的分布和使用頻率的分析,來構(gòu)造系統(tǒng)綜合場景的測試模型,模擬不同用戶執(zhí)行不同操作。

如10%的用戶執(zhí)行瀏覽首頁,50%的用戶執(zhí)行查詢訂單,40%的用戶執(zhí)行訂購機(jī)票,最大限度地模擬系統(tǒng)的真實場景,使用戶預(yù)知系統(tǒng)投入使用后的性能水平。沒特別指明的話,一般都是指在線的。

Login不適合放在綜合場景中運(yùn)行。

綜合場景:號稱能最真實的模擬實際的生產(chǎn)環(huán)境。如測試時間為50分鐘,則綜合場景中的每個腳本都是在循環(huán)執(zhí)行。所以綜合場景中不宜加入login測試點(diǎn),因為不能真實模擬實際的生產(chǎn)環(huán)境。

疲勞強(qiáng)度測試:是一種特殊的強(qiáng)度測試(壓力測試)。指在一定的壓力下(如:相同的用戶數(shù))長時間(疲勞)對系統(tǒng)進(jìn)行測試,并監(jiān)控服務(wù)器的各項資源情況。如:7x24小時,24小時(如移動電信銀行的服務(wù)器)。測試其服務(wù)器的穩(wěn)定性:指長時間的運(yùn)行過程中,系統(tǒng)的各項資源及時間等指標(biāo)表現(xiàn)是否正常。

內(nèi)存泄露:系統(tǒng)的服務(wù)器內(nèi)存都被占用,而沒有釋放。導(dǎo)致系統(tǒng)沒有可用內(nèi)存。

內(nèi)存泄露測試:通過LR監(jiān)控時查看具體的幾項指標(biāo),或者通過其它的專門內(nèi)存泄露檢測工具測試。

數(shù)據(jù)容量測試:查看系統(tǒng)服務(wù)器能否實現(xiàn)大數(shù)量下使用情況,系統(tǒng)的各項資源表現(xiàn)情況。如:200G,或者3個T。

極限測試:也叫“摸高測試”,測試系統(tǒng)的極限,如系統(tǒng)最大能承受的用戶數(shù),吞吐量等。

虛擬用戶:Virtual Users 控制臺:Controller 分析工具:Analysis

LoadRunner的三大組件:

虛擬用戶腳本生成器(Virtual User Generator)---Creat/Edit Scripts【Generator:生成器】 壓力調(diào)度控制臺(Controller)---Run Load Tests 壓力結(jié)果分析器(Analysis)---Analyze Test Results

QTP(功能自動化的工具)和LR(性能測試工具)的區(qū)別: QTP關(guān)心的是功能方面,LR關(guān)心的是性能方面。

QTP關(guān)心界面的控件屬性(對象,對象的屬性,屬性值等)等,LR關(guān)心的是客戶端和服務(wù)器之間往來的數(shù)據(jù)包。

LR的工作原理:

錄制時,LR記錄客戶端和服務(wù)器二者之間的所有對話(數(shù)據(jù)包),形成腳本,回放時,LR模擬真實的客戶端,向服務(wù)器發(fā)送請求。并驗證服務(wù)器的響應(yīng)。

LR是怎么記錄下數(shù)據(jù)包的:(1)基于局域網(wǎng)的廣播原理。【這種用的很少】(2)基于一種嗅探原理sniffer。【目前在用的方式】

虛擬用戶腳本生成器:是用來生成腳本的

LR的常用術(shù)語:

虛擬用戶(Virtual User 【簡稱VU】):在場景中,loadRUnner用VU代替實際用戶。Vuser模擬實際用戶執(zhí)行操作。一個場景可以包含幾十,幾百甚至幾千個Vuser。(每個虛擬用戶是一個進(jìn)程或者線程,一般用的是線程)

Vuser腳本(Virtual User Script):用于描述VU在場景中執(zhí)行的操作。(記錄的客戶端發(fā)送的請求。)

事物(Transaction):為度量服務(wù)器的性能,需要定義事務(wù)。事務(wù)表示要度量的最終用戶業(yè)務(wù)流程或操作。

為何要定義事務(wù):因為腳本中將關(guān)心的操作(如購票)定義為一個事務(wù),則結(jié)果報告中(analysis)就會返回事務(wù)的響應(yīng)時間。不關(guān)心的操作就不需要定義成事務(wù)。

場景(Scenario):場景是一種文件,用于根據(jù)性能要求定義在每一個測試回話運(yùn)行期間發(fā)生的事件。模擬真實環(huán)境中,用戶運(yùn)行的情況。【將腳本放到控制臺去運(yùn)行(包括設(shè)置各種參數(shù))】

綜合場景:將不同的腳本,至少3個放到控制臺去共同運(yùn)行一段時間。具體定義見PPT。

測試注意:

----設(shè)置IE(清楚瀏覽器緩存):進(jìn)入工具?Internet選項?常規(guī)?設(shè)置?每次訪問此頁面時檢查

----LR中修改參數(shù):進(jìn)入Controller?Run?Time Setting?Tnternet Protocol ?Proxy,選擇No Proxy。

Jojo /bean

LR基本測試流程:

制定性能測試計劃(部分)?創(chuàng)建測試腳本?編譯,運(yùn)行測試腳本【VUG】?創(chuàng)建場景?運(yùn)行,監(jiān)控場景,收集數(shù)據(jù)【Con 控制臺】?生成測試報告,分析測試結(jié)果【analysis】

最好用英文命名

小技巧: 彈出結(jié)果

日志文件

Transaction 事務(wù)

將一個操作設(shè)置成事務(wù)的目的:獲取操作的響應(yīng)時間(在analysis報告里)

在帶寬充足的情況下,完美的吞吐率應(yīng)該隨著點(diǎn)擊率的升高而升高。反過來,當(dāng)服務(wù)器壓力過大服務(wù)器處理能力不足時,吞吐率會隨著點(diǎn)擊率的增高而保持恒定或者降低,那么點(diǎn)擊率也會受到相應(yīng)影響而變慢。

即吞吐率和點(diǎn)擊率是相互影響的。

腳本生成器可以模擬1個用戶,多用戶一定要用控制臺來實現(xiàn)。(控制臺就是來生成管理多用戶的。)

基準(zhǔn)測試是單用戶測試,可用腳本生成器(生成的調(diào)試結(jié)果是沒有響應(yīng)時間的),但是也還是需要控制臺。因為結(jié)果要寫到報告里。(結(jié)果生成器analysis得出單用戶測試的結(jié)果,比如響應(yīng)時間等等)

疲勞測試和綜合場景測試的區(qū)別就是時間的長短,疲勞測試運(yùn)行的時間會長一些。

只要業(yè)務(wù)邏輯不變(操作不變),則不需要重新調(diào)試腳本,回歸測試中可以直接利用原來腳本。

調(diào)試腳本時請頻繁保存副本,因為LR回退鍵效果不是很好。

腳本必須現(xiàn)在腳本生成器進(jìn)行運(yùn)行,執(zhí)行通過?將腳本放入控制臺,在控制臺執(zhí)行完畢后?生成結(jié)果報告

總的吞吐率

服務(wù)水平等級協(xié)議

報告中事務(wù)響應(yīng)時間的標(biāo)準(zhǔn)方差值:越趨近于0,說明系統(tǒng)越穩(wěn)定(每一項事務(wù)的響應(yīng)時間非常相似)

90percent:表示90%的事務(wù)都可以在該響應(yīng)時間內(nèi)完成。代表一個大多數(shù)情況。

HTTP狀態(tài)碼: 200表示成功

4XX表示客戶端的失敗 5XX表示服務(wù)器的失敗

當(dāng)場景設(shè)定的duration時間結(jié)束時,所有的虛擬用戶需要運(yùn)行完當(dāng)前的transaction以及action再結(jié)束。

基準(zhǔn)測試執(zhí)行方法

單用戶執(zhí)行腳本操作1分鐘 單用戶執(zhí)行腳本操作5次

B/S腳本必須要有登陸,有退出(否則假退出其實鏈接還沒斷開,會影響測試結(jié)果)

Replay log:腳本執(zhí)行日志 Recording log:錄制時的日志

Generation log:所有客戶端和服務(wù)器二者之間的對話

快捷鍵:

ctrl+G

Go to Line 跳到某一行

跳到對應(yīng)的日志

基準(zhǔn)測試:單用戶測試。3.4 1.7 1.8 1.6 為了規(guī)避第一次測試的不準(zhǔn)確性,則有兩種測試方法:(1)設(shè)置循環(huán)5次(N次)

Run-time Setting 循環(huán)5次,或者持續(xù)運(yùn)行1分鐘。(取平均值)Run logic:循環(huán)次數(shù)----設(shè)置為5 Pacing:兩次循環(huán)之間的步長值(時間間隔)----隨機(jī)值2-4秒 Think time:ignore(忽略思考時間),因為對結(jié)果沒什么影響

Pacing:步長值,為了更真實的模擬環(huán)境(斷開連接,釋放資源),一般選隨機(jī)值

基準(zhǔn)測試單用戶對服務(wù)器壓力不大,一般可以ignore think time。

監(jiān)控資源:監(jiān)控服務(wù)器的資源

客戶端的資源:自己隨時把握一下,不要成為測試的瓶頸即可。

(2)持續(xù)運(yùn)行1分鐘

當(dāng)duration和run_time setting中循環(huán)(run logic)都有值的話,duration的優(yōu)先級比較高【二者循環(huán)的位置都為action】 Run logic:循環(huán)次數(shù)----設(shè)置為1

Pacing:步長值,為了更真實的模擬環(huán)境(斷開連接,釋放資源),一般選隨機(jī)值 基準(zhǔn)測試單用戶對服務(wù)器壓力不大,一般可以ignore think time。監(jiān)控資源:監(jiān)控服務(wù)器的資源

客戶端的資源:自己隨時把握一下,不要成為測試的瓶頸即可。

并發(fā)測試執(zhí)行方法: 腳本添加集合點(diǎn)

在控制臺設(shè)置并發(fā)策略

注意:refresh中有兩個選擇,看情況使用。

腳本和控制臺的run-time setting都設(shè)置的話,哪個優(yōu)先級高??控制臺的優(yōu)先級高!腳本中的run-time setting 何時使用??運(yùn)行腳本的時候使用

并發(fā)測試有兩個步驟:

1)腳本中加并發(fā)點(diǎn)(即集合點(diǎn))

2)在控制臺設(shè)置:5個虛擬用戶(VU),可以設(shè)置遞增(不設(shè)也可),設(shè)置并發(fā)策略。

Run-time Setting---忽略休息時間,因為需要瞬間壓力。

下載LoadRunner測試總結(jié)word格式文檔
下載LoadRunner測試總結(jié).doc
將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
點(diǎn)此處下載文檔

文檔為doc格式


聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報,并提供相關(guān)證據(jù),工作人員會在5個工作日內(nèi)聯(lián)系你,一經(jīng)查實,本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

相關(guān)范文推薦

    LoadRunner測試工具教學(xué)存在問題及解決方法大全

    LoadRunner測試工具教學(xué)存在問題及解決方法 摘要:LoadRunner作為業(yè)內(nèi)主流的負(fù)載測試工具在軟件測試教學(xué)中被大量采用,同時在實際的項目性能測試中也被廣泛使用。本文主要對高......

    loadrunner使用cookie模擬

    loadrunner使用cookie模擬自己的工作總結(jié),大家討論討論 1為什么要使用cookie模擬 從日常項目測試過程中的問題說起。 比如要進(jìn)行論壇中的文件下載功能的測試。我們都知道只有......

    LoadRunner檢查點(diǎn)使用小結(jié)

    LoadRunner檢查點(diǎn)使用小結(jié) LR中檢查點(diǎn)有兩種:圖片和文字。這兩種檢查點(diǎn)可用以下三個函數(shù)實現(xiàn):web_find()、web_reg_find()和web_image_check() 下面分別介紹三種函數(shù)的用法 1......

    LoadRunner檢查點(diǎn)使用小結(jié)

    LR中檢查點(diǎn)有兩種:圖片和文字。 常用檢查點(diǎn)函數(shù)如下: 1)web_find()函數(shù)用于從 HTML 頁中搜索指定的文本字符串; 2)web_reg_find()函數(shù)注冊一個請求,以在下一個操作函數(shù)(如 web_url)......

    Loadrunner中參數(shù)設(shè)置詳細(xì)分析

    Loadrunner中參數(shù)設(shè)置詳細(xì)分析 做負(fù)載或者壓力測試時,很多人選擇使用了Loadrunner測試工具。該工具的基本流程是先將用戶的實際操作錄制成腳本,然后產(chǎn)生數(shù)千個虛擬用戶運(yùn)行腳......

    loadRunner預(yù)研報告(一)

    loadRunner預(yù)研報告(一)1 預(yù)研目的 ? 掌握如何使用LoadRunner進(jìn)行壓力測試; ? 掌握如何通過LoadRunner的測試結(jié)果和分析報告來指導(dǎo)代碼優(yōu)化工作; 2 預(yù)研內(nèi)容 ? LoadRunner概況; ? L......

    測試年度總結(jié)(合集五篇)

    測試年度總結(jié)總結(jié)是把一定階段內(nèi)的有關(guān)情況分析研究,做出有指導(dǎo)性結(jié)論的書面材料,它能幫我們理順知識結(jié)構(gòu),突出重點(diǎn),突破難點(diǎn),不妨讓我們認(rèn)真地完成總結(jié)吧。那么總結(jié)要注意有什么......

    測試思路總結(jié)

    測試思路及用例設(shè)計 測試,是針對某一功能模塊的質(zhì)量評估,旨在通過各種測試方法盡可能多的發(fā)現(xiàn)待測功能存在的缺陷或漏洞。要想測試做的盡善盡美,那么測試思路及測試用例設(shè)計就......

主站蜘蛛池模板: 97久久草草超级碰碰碰| 日韩高清亚洲日韩精品一区二区| 日日拍夜夜嗷嗷叫国产| 夜夜高潮夜夜爽夜夜爱| 一边捏奶头一边高潮视频| 午夜宅男在线永久免费观看网| 久久久噜噜噜久久熟女aa片| 国产精品三级在线观看无码| 88久久精品无码一区二区毛片| 中文字幕久久久人妻无码| 亚洲—本道 在线无码av发| 日日噜噜夜夜爽爽| 国产超碰人人爽人人做| av永久天堂一区二区三区| 国产成人av一区二区三区无码| 在线观看无码av网址| 国产成人亚洲精品无码青| 性一交一乱一伦a片| 国产草草影院ccyycom| 国产在线观看免费视频软件| 精品久久久久久无码中文字幕| 亚洲美腿丝袜 欧美另类| 国产精品久久久久久2021| 伊人久久综合成人网| 99久久超碰中文字幕伊人| 中国少妇初尝黑人巨高清| 国产一区二区三区不卡在线观看| 久久乐国产精品亚洲综合| 色先锋资源久久综合5566| 人妻无码久久一区二区三区免费| 国产新婚夫妇叫床声不断| 亚洲国产精品线路久久| 国产看黄网站又黄又爽又色| 久久久精品日本一区二区三区| 粗大的内捧猛烈进出小视频| 99国产精品久久久久久久成人| 丰满巨乳淫巨大爆乳| 亚洲一卡一卡二新区无人区| 大色综合色综合网站| 亚洲欧洲日产国产av无码| 国产精品美女久久久久久|