日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

总结——LR学习总结

發(fā)布時間:2025/6/16 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 总结——LR学习总结 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.


2.1??? web_submit_data

頁面提交數(shù)據(jù)項。輸入框輸入。使用用戶名和密碼進行登錄用web_submit_data()函數(shù)提交表單數(shù)據(jù):HTTP POST 請求,最常見的參數(shù)形式; Web_submit_form差不多。

1)? EXTRARES:在開始錄制選項中,Toos—Recording Option—Recording選項中,有一個Advanced HTML選項,可以設置是否錄制非HTML資源。只有選擇了“Record within the current script step”時,List of Resource Attributes才會被錄制到(EXTRARES下面的URL才會出現(xiàn))。非HTML資源(如:gifjpg等圖象文件,javascriptVBScriptactivex、小程序)

2)? Snapshot:顧名思義,就是快照,代表當前的stepSnapshot顯示了客戶端在執(zhí)行完當前step后的樣子。在Tree Ciew右側(cè)的frame中可以查看Snapshot,在LoadRunner 8.0中,Snapshot包含Page ViewClient RequestServer ResponseSnapshot有兩種生成方式,一種是在record的時候生成,另一種是在replay的時候生成。你可以對比兩種方式生成的Snapshot,以發(fā)現(xiàn)哪些是動態(tài)值,需要參數(shù)化。

?

2.2??? web_url

根據(jù)url獲取圖片;web_url()函數(shù)訪問數(shù)據(jù);請求方式:HTTP GET 請求;加載指定的Web頁面(GET請求)?

2.3??? web_custom_request()

將終端信息提交到服務端進行保存;用web_custom_request()函數(shù)提交數(shù)據(jù):HTTP POST 請求,請求參數(shù)為json格式;

2.4??? bfDeleteRoles

刪除前的校驗。deleteRoles刪除。程序里寫的兩個向服務器提交數(shù)據(jù)的方法。不是重復錄制。

2.5??? 數(shù)據(jù)量大小

數(shù)據(jù)庫中1w條記錄與7w條,查詢響應時間應該

?

2.6??? top

2.7??? free

2.8??? iostat

2.9??? 錄制腳本時,lr不能打開瀏覽器。

?? 解決辦法:關(guān)閉所有lr,任務管理器中結(jié)束ie瀏覽器的進程,執(zhí)行"C:\Program Files (x86)\HP\LoadRunner\bin\register_vugen.bat",然后再重新錄制。 如果還是不可以,需要重啟電腦。

2.10? 參數(shù)設置

腳本設置完參數(shù)化,腳本運行的每一遍所取的參數(shù)化的值都不一樣,那么這個值按照個什么情況來取呢?會有很多種方式

Select?next?row【選擇下一行】:

順序(Sequential:按照參數(shù)化的數(shù)據(jù)順序,一個一個的來取。

隨機(Random:參數(shù)化中的數(shù)據(jù),每次隨機的從中抽取數(shù)據(jù)。

唯一(Unique:為每個虛擬用戶分配一條唯一的數(shù)據(jù)

?

Update?value?on【更新時的值】:?

每次迭代(Each?iteration)?:每次迭代時取新的值,假如50個用戶都取第一條數(shù)據(jù),稱為一次迭代;完了50個用戶都取第二條數(shù)據(jù),后面以此類推。

每次出現(xiàn)(Each?occurrence):每次參數(shù)時取新的值,這里強調(diào)前后兩次取值不能相同。

只取一次(once)?:參數(shù)化中的數(shù)據(jù),一條數(shù)據(jù)只能被抽取一次。(如果數(shù)據(jù)輪次完,腳本還在運行將會報錯)

?

上面兩個選項都有三種情況,如果將他們進行組合,將產(chǎn)生九種取值方式。

Select?Next?Row

【選擇下一行】

Update?Value?On

【更新時的值】

Replay?Result

【結(jié)果】

順序(Sequential

每次迭代(Each?iteration)

結(jié)果:分別將15條數(shù)據(jù)寫入數(shù)據(jù)表中

功能說明:每迭代一次取一行值,從第一行開始取。當所有的值取完后,再從第一行開始取

如:如果參數(shù)化文件中有15條數(shù)據(jù),而迭代設置為16次,那執(zhí)行結(jié)果中,參數(shù)化文件第一行的數(shù)據(jù)有兩條

順序(Sequential

每次出現(xiàn)(Each?occurrence)

結(jié)果:分別將15條數(shù)據(jù)寫入數(shù)據(jù)表中

功能說明:每迭代一次取一行值,從第一行開始取。當所有的值取完后,再從第一行開始取

如:如果參數(shù)化文件中有15條數(shù)據(jù),而迭代設置為16次,那執(zhí)行結(jié)果中,參數(shù)化文件第一行的數(shù)據(jù)有兩條

順序(Sequential

只取一次(once)

結(jié)果:表中寫入15條一模一樣的數(shù)據(jù)。

功能說明:每次迭代都取參數(shù)化文件中第一行的數(shù)據(jù)。

隨機(Random

每次迭代(Each?iteration)

結(jié)果:表中寫入15條數(shù)據(jù),但可能有重復數(shù)據(jù)出現(xiàn)

功能說明:每次從參數(shù)化文件中隨機選擇一行數(shù)據(jù)進行賦值

隨機(Random

每次出現(xiàn)(Each?occurrence)

結(jié)果:表中寫入15條數(shù)據(jù),但可能有重復數(shù)據(jù)出現(xiàn)

功能說明:每次從參數(shù)化文件中隨機選擇一行數(shù)據(jù)進行賦值

隨機(Random

只取一次(once)

結(jié)果:表中寫入15條相同數(shù)據(jù)

功能說明:第一次迭代時隨機從參數(shù)化文件中取一行數(shù)據(jù),后面每次迭代都用第一次迭代的數(shù)據(jù)。

唯一(Unique

每次迭代(Each?iteration)

自動分配塊大小

結(jié)果:分別將15條數(shù)據(jù)寫入數(shù)據(jù)表中

功能說明:第一次迭代取參數(shù)化文件中的第一條數(shù)據(jù),第二次迭代取第二條數(shù)據(jù),以此類推。

注:如果設置迭代次數(shù)為16次。結(jié)果:在執(zhí)行第16次迭代時會拋異常,異常日志可在LoadRunner的回放日志(replayLog)中看到。

唯一(Unique

每次出現(xiàn)(Each?occurrence)

步長為1

結(jié)果:分別將15條數(shù)據(jù)寫入數(shù)據(jù)表中

功能說明:第一次迭代取參數(shù)化文件中的第一條數(shù)據(jù),第二次迭代取第二條數(shù)據(jù),以此類推。

注:如果設置迭代次數(shù)為16次,而參數(shù)化文件中只有15條數(shù)據(jù),明顯數(shù)據(jù)不夠。此時可以設置“when?out?of?values”屬性來判斷當數(shù)據(jù)不夠時的處理方式

Abort?Vuser:中斷虛擬用戶

Countinue?in?a?cylic?manage:循環(huán)取參數(shù)化文件中的值,即:當參數(shù)化文件中的值取完后又從參數(shù)化文件的第一行開始取值。

Countinue?with?last?value:繼續(xù)用最后一條數(shù)據(jù)

唯一(Unique

只取一次(once)

結(jié)果:表中寫入15條相同數(shù)據(jù)

功能說明:每次都取參數(shù)文件中的第一條數(shù)據(jù)進行賦值

?

?

總結(jié)性:

Unique Each?iteration? ? Countinue?in?a?cylic?manage

?

2.11? 關(guān)聯(lián)

int web_reg_save_param (const char *mpszParamName, <List of Attributes>, LAST);

ParamName:存放動態(tài)數(shù)據(jù)的參數(shù)名稱。

list of Attributes:其他屬性,包含 Notfound”、“LB”、“RB”、“RelFrameID”、“Search”、“ORD”、“SaveOffset”、“Convert”以及“SaveLen”。

下面將詳細說明每個屬性值的意義:

1Notfound:指定當找不到要找的動態(tài)數(shù)據(jù)時該怎么處理。當指定Notfound=error時,表示著找不到動態(tài)數(shù)據(jù)時,就發(fā)出一個錯誤消息。此為該屬性的默認值。當指定Notfound=warning時,表示當找不到動態(tài)數(shù)據(jù)時,不發(fā)出錯誤消息,只發(fā)出警告,腳本也會繼續(xù)執(zhí)行下去不會中斷。在對腳本出錯時,可以如此設置。

2LB:動態(tài)數(shù)據(jù)的左邊界字符串。此屬性是必須要有的,而且區(qū)分大小寫。

3RB:動態(tài)數(shù)據(jù)的右邊界字符串。此屬性是必須要有的,而且區(qū)分大小寫。

4RelFrameID:相對于URL而言,欲搜尋的網(wǎng)頁的Frame。此屬性可以是All或是數(shù)字,而且可有可無。

5Search:搜尋的范圍,其值可以是Headers(只搜尋headers)、Body(只搜尋body部分,不搜尋header)、Noresource(只搜尋body部分,不搜尋headerresource)或是All(搜尋全部范圍,此為默認值),此屬性可有可無。

6ORD:指明從第幾次出現(xiàn)的左邊界開始才是要擷取的數(shù)據(jù),默認值是1。假如該屬性值為All,則所有找到符合的數(shù)據(jù)會存儲在數(shù)組中。此屬性可有可無。

7SaveOffset:當找到符合的動態(tài)數(shù)據(jù)時,從第幾個字符開始才開始存儲到參數(shù)中。此屬性值不可為負數(shù),其默認值為0

8Convert:轉(zhuǎn)換數(shù)據(jù)格式。當指定該屬性值為HTML_TO_URL時,意味著將HTML-encoded數(shù)據(jù)轉(zhuǎn)成URL-encoded數(shù)據(jù)格式。如果是HTML_TO_TEXT,表示將HTML-encoded數(shù)據(jù)轉(zhuǎn)成純文字數(shù)據(jù)格式。

9SaveLen:當找到匹配項后,偏移量之后的幾個字元存儲到參數(shù)中。此參數(shù)可有可無,默認值是-1,表示一直到結(jié)尾的整個字符串都存入?yún)?shù)中.


怎么插入關(guān)聯(lián)函數(shù)呢?
根據(jù)我的經(jīng)驗,當找到兩個腳本的差異后,在對應區(qū)域插入關(guān)聯(lián)函數(shù),單擊回車鍵,顯示一行為空,在此行可以手動輸入關(guān)聯(lián)函數(shù)web_reg_save_param"參數(shù)名稱","左邊界","右邊界","查詢區(qū)域",LAST;或單擊鼠標右鍵單擊【insert>net step...>add step界面,step type中選擇services>web_reg_save_param,單擊【ok】鍵,彈出如下圖所示:

單擊【OK】鍵,顯示如下信息:

web_reg_save_param("lt",
??"LB/IC=name=\"lt\" value=\"",
??"RB/IC=\"",
??"Ord=1",
??"Search=Body",
??LAST);

對腳本中需要參數(shù)化進行替代,如下圖所示:

?

對于確定參數(shù)的左右邊界,我個人建議是在找到腳本中差異性的地方【LT-68750-afrD2frlzMHDQ1wwDsjlNugZgY0mxw】后復制,然后在Generation Log日志中通過ctrl+F組合鍵查找,如下圖所示:

?對于引號需要使用【\】作轉(zhuǎn)義,例如上面的左邊界可以寫成name\"lt\"? value=\"?? ,右邊界可以寫成\"?

?

第五步:驗證關(guān)聯(lián)函數(shù)是否正確。

首先設置一下輸出日志,在VuGen的工具欄運行時設置【Run-time Settings>log>勾選Enable logging>Always send messages>Extended log>勾選Parameter substitution。個人觀念,在負載測試時不需要輸出參數(shù)日志,改為Standard log日志即可,因為輸出參數(shù)日志也需要時間。如下圖所示:

?回放腳本時,會在Replay Log日志中可以顯示關(guān)聯(lián)參數(shù)的相應值,此值是動態(tài)變化的,每一次執(zhí)行后,顯示的值都不一樣。如下圖所示:

?

2?????? 環(huán)境配置

2.1??? cpu

4cpu8核。 (之前是2cup ,后來調(diào)到8cpuCpu 都是2的次冪形式。)看nmonsys_summ 圖的%比。

?

2.2??? 內(nèi)存

10g內(nèi)存。(之前是6g內(nèi)存)。看nmonmem圖中memfree? memtotal ,剩余空間和總空間。

?

2.3??? 線程數(shù)

java線程數(shù):來一個用戶會占用一個線程,用完隨即釋放。 我們測試的只是登陸退出,所以退出后線程立馬釋放。在weblogic 控制臺中會顯示出線程活動數(shù)和空閑數(shù),如果有等待的線程數(shù)說明這個線程數(shù)不夠用。根據(jù)處理業(yè)務的大小判斷,一個cpu可處理25-30個線程。

# 調(diào)整java進程數(shù)。

export JAVA_OPTIONS="${JAVA_OPTIONS} -Dweblogic.threadpool.MinPoolSize=100"

export JAVA_OPTIONS="${JAVA_OPTIONS} -Dweblogic.threadpool.MaxPoolSize=550"

?

?

linux下系統(tǒng)對用戶的默認線程數(shù)做了限制,可以通過:

ulimit?-a

命令進行查看:

core?file?size??????????(blocks,?-c)?0

data?seg?size???????????(kbytes,?-d)?unlimited

scheduling?priority?????????????(-e)?0

file?size???????????????(blocks,?-f)?unlimited

pending?signals?????????????????(-i)?515223

max?locked?memory???????(kbytes,?-l)?64

max?memory?size?????????(kbytes,?-m)?unlimited

open?files??????????????????????(-n)?1024

pipe?size????????????(512?bytes,?-p)?8

POSIX?message?queues?????(bytes,?-q)?819200

real-time?priority??????????????(-r)?0

stack?size??????????????(kbytes,?-s)?10240

cpu?time???????????????(seconds,?-t)?unlimited

max?user?processes??????????????(-u)?1024

virtual?memory??????????(kbytes,?-v)?unlimited

file?locks??????????????????????(-x)?unlimited

其中

max?user?processes??????????????(-u)?1024

表示當前系統(tǒng)允許的最大線程數(shù),可以把此參數(shù)設大一些。

ulimit?-u?5000

設置當前系統(tǒng)用戶最大允許的線程數(shù),只對本次會話有效,如果想要永久生效,可以通過修改:

$?cat?/etc/security/limits.d/90-nproc.conf?

#?Default?limit?for?number?of?user's?processes?to?prevent

#?accidental?fork?bombs.

#?See?rhbz?#432903?for?reasoning.

?

*??????????soft????nproc????1024

只需要將1024改成你需要的值即可,設置完需要重啟系統(tǒng)已生效。

?

?

?

?

2.4??? ??Stuck?Thread?MaxTime

堵塞線程時間,超過這個時間沒有返回的執(zhí)行線程,系統(tǒng)將認為是堵塞線程如果weblogic認為某個隊列中的所有的線程全部堵塞的話,weblogic將會增加執(zhí)行線程的數(shù)量。注意:執(zhí)行線程的數(shù)量一旦增加目前weblogic不會去減少他,如果增加了一些線程以后再次出現(xiàn)overflow的警告,weblogic會繼續(xù)增加執(zhí)行線程的數(shù)量,一直到達到上限為止。

?

例如可以改成:默認600?改成1200?

?

?

?

2.5??? weblogic連接數(shù)

weblogic連接數(shù):50-450 ,最大值比線程數(shù)多點就行了。

?

2.6??? JTA

JTA 3000

?

2.7??? 數(shù)據(jù)庫session連接數(shù)

數(shù)據(jù)庫session連接數(shù):4000 硬件提升后,發(fā)現(xiàn)壓不上去,而且打開瀏覽器登陸時,包數(shù)據(jù)庫連接池pool 問題。 經(jīng)查看是連接數(shù)過多,因為登陸后有好幾條sql語句,每一條占用一個session連接數(shù)。

?

?

2.8??? 網(wǎng)絡

網(wǎng)絡是:1000M 開始是100M的。 壓不上去了后來看了一下網(wǎng)絡拓撲圖,發(fā)現(xiàn)連的是100M交換機的。 nmonnet圖,1000M / 8 =120 MB/S ,所以圖的上行和下行各占60MB/S ,如果超過了,說明網(wǎng)絡有問題。

?

?

?

2.9??? 壓力機所能承受的用戶數(shù)

壓力機所能承受的用戶數(shù):400左右。 如果過多的話,壓力機的內(nèi)存和cup 和網(wǎng)絡就承受不住。

?

?

?

2.10? io讀寫

io讀寫:如果數(shù)據(jù)交互特別多的話,io讀寫就耗費大。 Nmon上的線合并在一起,就說明磁盤不夠用的了,讀寫后沒有及時釋放。

?

?

?

2.11? 集群環(huán)境配置參數(shù):

4cpu 8核。

?? ?平臺jvm最大內(nèi)存8G

JDBC池最大600

JAVA進程池最大600最小400

網(wǎng)絡是:1000M

數(shù)據(jù)庫session連接數(shù),4000

JTA 3000

粘滯超長時間:216000

2.12??????? 確定響應時間正確:

? 正在并發(fā)時,在ie瀏覽器中做一次操作,看一下響應時間是否與LR分析出來的差不多。

?

2.13? sql分析

?? 當軟硬件配置都沒什么問題時,響應時間過長或是通過事物數(shù)折線圖不正確時,需要看一下awr報告中數(shù)據(jù)庫的sql腳步執(zhí)行時間。

?

?

2.14? 通過事物數(shù)與并發(fā)數(shù)成正比。

?

2.15? 硬件配置

Nginx要單獨裝一臺機器,不然會影響應用服務器的性能。各節(jié)點要分開到虛擬機上。反向代理。

?

?

2.16? 數(shù)據(jù)庫優(yōu)化(oracle)

目前可以調(diào)整的主要是數(shù)據(jù)庫內(nèi)存配置和最大連接數(shù)的基本配置,提高并發(fā)處理效率。

在進行測試時監(jiān)測會話及連接等信息

Select?*?from?v$session

Select?*?from?v$session?where?status=ACTIVE;

Select?*?from?v$process;?

Select?*?from?v$locked_object;?

?

建議調(diào)整

SGA參數(shù)Data?buffer,將其盡可能的調(diào)大些。避免重復查詢的磁盤I/O操作。

?

調(diào)整PGA參數(shù)設置原則:

SGA+PGA+OS使用內(nèi)存<總物理RAM在調(diào)試過程中可以觀察PGA緩存設置命中率:

select?value?from?v$sysstat?where?name?='physical?reads';?

SQL>?select?value?from?v$sysstat?where?name?='physical?reads?direct';?

SQL>?select?value?from?v$sysstat?where?name?='physical?reads?direct?(lob)';?

SQL>?select?value?from?v$sysstat?where?name?='consistent?gets';?

SQL>?select?value?from?v$sysstat?where?name?=?'db?block?gets';?

?

?

?

?

3?????? LR問題集

4.1????????????? 另一個程序正在運行

也許大家遇到過這樣的問題,如圖:

解決方法:打開任務管理器:找到這個進程:ThumbProcess.exe,關(guān)掉這個進程即可解決。

?

4.2????????????? 事物響應時間一直處于直線狀態(tài)。

解決方法:參數(shù)化設置成Unique

腳步中去掉EXTRARES下面的URL下載;

場景運行時設置忽略思考時間和log日志時間。

?

?

4.3????????????? 運行時,有部分用戶一直結(jié)束不了

? 換個LR 試試。 或者是卸載了重新裝一個英文版的, 中文版的好出這種問題。

?

4.4????????????? 腳本中產(chǎn)生多次請求

1.??? 使用loadrunner進行錄制腳本之后,可以看到的在腳本有一個請求,會產(chǎn)生兩次

2.??? 進行點擊錄制的按鈕,進入到錄制選項中,進行點擊option按鈕。

3.??? 進行點擊列表中的port mapping中選項按鈕。

4.??? 然后在network port mapping中已經(jīng)被選擇為了socket level and winnet data,進行點擊

5.??? 彈出了下拉菜單中進行選擇為socket level data的選項。

6.??? 6

在此重新錄制腳本之后可以看到的在腳本只有一個請求的腳本的。

?

4?????? LR 實例分析

4.1????????????? 查詢數(shù)據(jù)庫的進程數(shù)。

現(xiàn)在已經(jīng)超載了,所以weblogic建連接池建不了。程序報錯。

Show parameter process;

Select count(*) from v$process;

?

?

?

5?????? 數(shù)據(jù)庫分析

?

?

6?????? 完成一個腳本時間

1)? 錄制腳本:去掉驗證碼、錄制腳本、參數(shù)化、關(guān)聯(lián)、事物、檢查點、調(diào)試。一個簡單的登陸15分鐘。復雜的就看情況而定。

2)? 場景運行:10個運行一次6分鐘,50并發(fā)運行一次7分鐘。100并發(fā)運行3次,24分鐘。一切順利的話,一個小時完成。因為腳本稍微中間要暫停幾分鐘,釋放一下資源。

3)? 分析結(jié)果:nmon報告、awr報告、lr分析結(jié)果。

4)? 總結(jié)就是一個簡單的登陸,順利的話1個小時左右就完成了。

?

?

?

7?????? 性能調(diào)優(yōu)

需要現(xiàn)場提供的測試數(shù)據(jù)

?

7.1????????????? 服務器本身

機器的種類,內(nèi)存,swap空間,和CPU的數(shù)量(核心數(shù)),

調(diào)整系統(tǒng)socket打開數(shù),建議將open?file?size?也調(diào)大一些。

?測試系統(tǒng)I/0?是否存在I/O問題。

?

7.2????????????? Jvm?參數(shù)優(yōu)化(weblogic啟動jvm內(nèi)存設置)

?啟動weblogic時設置jvm參數(shù)大小

?set?JAVA_OPTS=-Xms4096m?Xmx8192m?

需要確定當前系統(tǒng)物理內(nèi)存和jdk版本及位(64?or?32

,

如果當前內(nèi)存配置大于上述配置可先忽略。

?

7.3????????????? weblogic

調(diào)優(yōu)參數(shù)對Weblogic的調(diào)優(yōu)主要從SEVERExecuteQueueJDBC等幾個方面的相關(guān)參數(shù)進行調(diào)優(yōu):

?一、SERVER

?mydomain->Servers->myserver->Configuration->Tuning->Enable?Native?IO”中:

?1Native?IOEnabled? TRUE,表示該Server使用本地I/O?

2SocketReaders?設置在執(zhí)行線程中專用做Socket?Readers的百分比

3Maximum?Open?Sockets?最大打開Socket數(shù)

?4Stuck?Thread?MaxTime

?堵塞線程時間,超過這個時間沒有返回的執(zhí)行線程,系統(tǒng)將認為是堵塞線程。如果weblogic認為某個隊列中的所有的線程全部堵塞的話,weblogic將會增加執(zhí)行線程的數(shù)量。注意:執(zhí)行線程的數(shù)量一旦增加,目前weblogic不會去減少他,如果增加了一些線程以后再次出現(xiàn)

overflow的警告,weblogic會繼續(xù)增加執(zhí)行線程的數(shù)量,一直到達到上限為止。

?例如可以改成:默認600?改成1200?

5Stuck?Thread?Timer?Interval?

系統(tǒng)檢查堵塞線程的時間間隔

6Low?Memory?GC?Threshold?

當可用內(nèi)存小于該百分比時,垃圾回收啟動

7Low?Memory?Granularity?Level?

當兩次檢測的可用內(nèi)存變化超過該百分比時,垃圾回收啟動

8Low?Memory?Sample?Size?

在一次檢測中的取樣次數(shù)

?9Low?Memory?Time?Interval?

檢測間隔時間

10Accept?Backlog?

等待隊列中最多可以有多少TCP連接等待處理,如果在許多客戶端連接被拒絕,而在服務器端沒有錯誤顯示,說明該值設得過低。如果連接時收到connection?refused消息,說明應提高該值,每次增加25

?

7.4????????????? ExecuteQueue

?mydomain->Servers->myserver?->Monitoring->Monitor?all?Active?Queues...?

->Configuration->weblogic.kernel.Default->?

?

1ThreadCount?

服務器初始創(chuàng)建的執(zhí)行線程的數(shù)量,設置原則:

增大機器的最大并發(fā)線程數(shù)使處理器利用率達到最大,并發(fā)線程數(shù)理論上等于,夠用即可,過大會降低系統(tǒng)性能。建議:查看當前配置,確定當前系統(tǒng)cpu核心數(shù),可按每核心支持

20線程數(shù)進行配置。11g可能需要通過修改xml配置文件進行設置。

?2QueueLength?

在等待隊列里的請求數(shù),理想狀態(tài)下是0?

?3QueueLength?Threshold?Percent?

一個百分數(shù),當request的數(shù)量達到隊列長度的這個比例的時候,weblogic會發(fā)出overflow

的標志信息

?4ThreadsIncrease?

如果weblogic發(fā)出overflow的標志信息,weblogic會嘗試增加這個數(shù)量的執(zhí)行線程,以解決

處理矛盾

?5ThreadsMaximum?

最大執(zhí)行線程數(shù)

?6Threads?Minimum?

最小執(zhí)行線程數(shù)

7ThreadPriority?

線程優(yōu)先級

?

7.5????????????? JDBC

service->JDBC->?JDBC?Connection?Pools->Configuration->name->Connections?

1Initial?Capacity?

初始數(shù)據(jù)庫物理連接數(shù)

?建議設置為15-20之間

?2MaxCapacity?

最大數(shù)據(jù)庫物理連接數(shù)

?根據(jù)數(shù)據(jù)庫本身所支持的最大連接數(shù)進行設置,建議設置為數(shù)據(jù)庫最大連接數(shù)的80%

?3Capacity?Increment?

每次數(shù)據(jù)庫物理連接增加數(shù)

?4Statement?Cache?Type?

prepared?statements緩存的策略,LRU算法在有新的語句到來時,將最不經(jīng)常被用得語

句調(diào)整出緩存。FIXED算法為先進先出的算法

?5TestConnectionsOnReserve?

?TestConnectionsOnReserve設置為false(缺省設置)。如果此參數(shù)設置為真(

true),則在連接被分配給調(diào)用者之前,都要經(jīng)過測試,這會額外要求與數(shù)據(jù)庫的反復連接

?6Statement?Cache?Size?

宏語句設定的靜態(tài)緩存,大小由JDBC連接池配置時指定,調(diào)整這個數(shù)值的大小,有利于提高系統(tǒng)的效率調(diào)整緩存大小:

?7Login?Delay?

創(chuàng)建數(shù)據(jù)庫物理連接時的延時時間

?

7.6????????????? ?監(jiān)控日志

?1server?log?

系統(tǒng)啟動及運行過程中的日志,可在weblogic管理端中進行配置。

?2access?log?

7.7????????????? ?數(shù)據(jù)庫優(yōu)化(oracle

?目前可以調(diào)整的主要是數(shù)據(jù)庫內(nèi)存配置和最大連接數(shù)的基本配置,提高并發(fā)處理效率。?在進行測試時監(jiān)測會話及連接等信息

?Select?*?from?v$session

?Select?*?from?v$session?where?status=ACTIVE;

?Select?*?from?v$process;?

Select?*?from?v$locked_object;?

?

建議調(diào)整SGA參數(shù)Data?buffer,將其盡可能的調(diào)大些。避免重復查詢的磁盤I/O操作。

?調(diào)整PGA參數(shù)設置原則:SGA+PGA+OS使用內(nèi)存<總物理RAM

?在調(diào)試過程中可以觀察PGA緩存設置命中率:

?select?value?from?v$sysstat?where?name?='physical?reads';?

SQL>?select?value?from?v$sysstat?where?name?='physical?reads?direct';?

SQL>?select?value?from?v$sysstat?where?name?='physical?reads?direct?(lob)';?

SQL>?select?value?from?v$sysstat?where?name?='consistent?gets';?

SQL>?select?value?from?v$sysstat?where?name?=?'db?block?gets';

?

?

8?????? 錯誤日志總結(jié)

7.1????????????? 錯誤-27727

Action.c(13):錯誤-27727: Step download timeout (120 seconds) has expired when downloading resource(s). Set the "Step Timeout caused by resources is a warning" Run-Time Setting to Yes/No to have this message as a warning/error, respectively

解決方案:修改“運行時設置-HTTP請求連接超時、HTTP請求接收超時”的值為600s或者更長時間

7.2????????????? 錯誤-27796

Action.c(39):錯誤-27796:連接服務器“test0105.s1.diy.com:80”失敗: [10061] Connection refused

有可能是服務器有太多的數(shù)據(jù)庫連接,提示連接被拒絕

解決方案:

可以讓開發(fā)嘗試調(diào)整:

1.數(shù)據(jù)庫最大連接數(shù);

2. tomcat的最大并發(fā)數(shù)限制

7.3????????????? 錯誤-27791

Action.c(9):錯誤-27791:服務器“test0105*.s1.diy.com”已過早關(guān)閉連接

訪問時已經(jīng)下載不到資源了,有可能是已經(jīng)達到服務器資源的瓶頸了,可以查看服務器資源如CPU、負載等

4. Error -27791
Action.c(7): Error -27791:Server"10.10.0.88" has shut down the connection prematurely
借鑒51Testing網(wǎng)友提供的解決方案:
1)、應用服務器死掉。小用戶時程序上的問題,程序上處理數(shù)據(jù)庫的問題
2)、應用服務沒有死。應用服務參數(shù)設置問題。例如:在許多客戶端weblogic應用服務器被拒絕,而在服務器端沒有錯誤顯示,則有可能是weblogic中的server元素的acceptbacklog屬性值設得過低。如果連接時收到connection refused消息,說明應提高該值,每次增加25%
3)、數(shù)據(jù)庫的連接
在應用服務的性能參數(shù)可能太小了
數(shù)據(jù)庫啟動的最大連接數(shù)(跟硬件的內(nèi)存有關(guān))
4)、有時關(guān)閉防火墻如卡巴斯基也會解決如上問題

?

7.4????????????? ? Error -27727

Step download timeout (120 seconds)has ? expired when downloading resource(s). Set the“Resource Page Timeout is a ? Warning” Run-Time Setting to Yes/No to have this message as a warning/error, ? respectively

處理方法:
? Run-Time Setting ------ Internet Protocol ------ Preferences ------Option ? ------ Step download timeout(sec)改為32000

A、應用服務參數(shù)設置太大導致服務器的瓶頸
B、頁面中圖片太多
C、在程序處理表的時候檢查字段太大或多

?

7.5????????????? Error -27728

?Step download timeout (120 seconds)has expired when downloading non-resource(s)

錯誤分析:對于HTTP協(xié)議,默認的超時時間是120秒(可以在LoadRunner中修改),客戶端發(fā)送一個請求到服務器端,如果超過120秒服務器端還沒有返回結(jié)果,則出現(xiàn)超時錯誤。

解決辦法:首先在運行環(huán)境中對超時進行設置,默認的超時時間可以設置長一些,再設置多次迭代運行,如果還有超時現(xiàn)象,需要在"Runtime Setting">"Internet ProtocolPreferences">"Advanced"區(qū)域中設置一個"winlnet replay instead of sockets"選項,再回放是否成功。

?

7.6????????????? Error -27791

Server“192.168.1.77″ has shut down the connection prematurely

解決方案如下:
1、應用服務器死掉。小用戶時程序上的問題,程序上處理數(shù)據(jù)庫的問題
2、應用服務沒有死。應用服務參數(shù)設置問題。例如:在許多客戶端weblogic應用服務器被拒絕,而在服務器端沒有錯誤顯示,則有可能是weblogic中的server元素的acceptbacklog屬性值設得過低。如果連接時收到connection refused消息,說明應提高該值,每次增加25%
3、數(shù)據(jù)庫的連接在應用服務的性能參數(shù)可能太小了,數(shù)據(jù)庫啟動的最大連接數(shù)(跟硬件的內(nèi)存有關(guān))
4、有時關(guān)閉卡巴斯基也會解決如上問題
  1)觀察response time 是否 超出默認的120
  2)檢查服務器日志是否有異常以及負載是否過高
  3 web_set_timeout 設置更長的超時超時上限
  如
  web.set_timeout(”CONNECT”, “360″);
  web.set_timeout(”RECEIVE”, “360″);
web.set_timeout(”STEP”, “360″))觀察response time 是否 超出默認的120秒這個問題,要詳細分析了。應該不會是LR自身造成的問題。把時間調(diào)長,就是為了,定位問題在什么地方,而不是為了繞過這個錯誤的出現(xiàn)。

?

7.7????????????? Error -27492

"HttpSendRequest" failed, Windows error code=12002 andretry limit (0) exceeded for URL
runtime setting中的preferences-->options-->http-request connect timeout(sec)的值設為999

?

7.8????????????? Error -27498

Timed out while processing

URL=http://172.18.20.70:7001/workflow/bjtel/leasedline/querystat/subOrderQuery.do

錯誤分析:這種錯誤常常是因為并發(fā)壓力過大,服務器端太繁忙,無法及時響應客戶端的請求而造成的,所以這個錯誤是正常現(xiàn)象,是壓力過大造成的。

如果壓力很小就出現(xiàn)這個問題,可能是腳本某個地方有錯誤,要仔細查看腳本,提示的錯誤信息會定位某個具體問題發(fā)生的位置。

解決辦法:例如上面的錯誤現(xiàn)象問題定位在某個URL上,需要再次運行一下場景,同時在其他機器上訪問此URL。如果不能訪問或時間過長,可能是服務器或者此應用不能支撐如此之大的負載。分析一下服務器,最好對其性能進行優(yōu)化。

如果再次運行場景后還有超時現(xiàn)象,就要在各種圖形中分析一下原因,例如可以查看是否服務器、DNS、網(wǎng)絡等方面存在問題。

最后,增加一下運行時的超時設置,在"Run-Time Settings">"InternetProtocol:Preferences"中,單擊"options",增加"HTTP-request connect timeout" 或者"HTTP-requestreceive"的值。

7.9????????????? Error -26612

HTTP Status-Code=500 (Internal Server Error)

?forhttp://192.168.0.8:10001/logonConsole.do;jsessionid={JSESSIONID2}

造成HTTP500錯誤,有朋友告訴我如下幾個可能:

1、運行的用戶數(shù)過多,對服務器造成的壓力過大,服務器無法響應,則報HTTP500錯誤。減小用戶數(shù)或者場景持續(xù)時間,問題得到解決。

2、該做關(guān)聯(lián)的地方?jīng)]有去做關(guān)聯(lián),則報HTTP500錯誤。進行手工或者自動關(guān)聯(lián),問題得到解決。

3、錄制時請求的頁面、圖片等,在回放的時候服務器找不到,則報HTTP500錯誤,若該頁面無關(guān)緊要,則可以在腳本中注釋掉,問題將會得到解決。例如:有驗證碼的情況下,盡管測試時已經(jīng)屏蔽了,但是錄制的時候提交了請求,但回放的時候不存在響應。

4、參數(shù)化時的取值有問題,則報HTTP500錯誤。可將參數(shù)化列表中的數(shù)值,拿到實際應用系統(tǒng)中進行測試,可排除問題。

5、更換了應用服務器(中間件的更換,如tomcatwebspherejboss等),還是利用原先錄制的腳本去運行,則很可能報HTTP500錯誤。因為各種應用服務器處理的機制不一樣,所錄制的腳本也不一樣,解決辦法只有重新錄制腳本。

6Windows xp2 ISS組件不兼容,則有可能導致HTTP500錯誤。對ISS組件進行調(diào)整后問題解決。

7、系統(tǒng)開發(fā)程序?qū)懙挠袉栴},則報HTTP500錯誤。例如有些指針問題沒有處理好的,有空指針情況的存在。修改程序后問題解決。

查找后臺日志發(fā)現(xiàn)報了很多0ra-01000錯誤,這是Oracle達到最大游標參數(shù)值,google了下,最大原因可能是JDBC連接沒關(guān)閉。最后查找weblogic連接池出了問題,很多連接沒關(guān)閉。

?

7.10??????? Error -27496

內(nèi)部錯誤(呼叫客戶服務): _eStat (7) !=LRW_ITEM_STAT_ENUM_UNHANDLED for HandledTask at 048E180C

?

7.11??????? Error -27995

Requested link ("Text=計劃管理") not found [MsgId: MERR-27995]

方法:在IE中的工具—>Internet選項—>高級—>HTML設置中選擇第二個腳本類型.

?

7.12??????? Error -27279

內(nèi)部錯誤(呼叫客戶服務):Report initialization failed , error code =-2147467259 [MsgId : MERR-27279 ]

建議重裝一下LR.這種問題有可能和你安裝有關(guān).dll文件出錯不是說寫的程序就能修改的.

?

7.13??????? Error -27796

Failed to connect to server 'hostname';port_ld': 'reason'.10048.

成功的解決方法:
在注冊表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters里,有如下兩個鍵值:
TcpTimedWaitDelay
MaxUserPort
1,這里的TcpTimedWaitDelay默認值應該中是30s,所以這里,把這個值調(diào)小為5s(按需要調(diào)整)。
2,也可以把MaxUserPort調(diào)大(如果這個值不是最大值的話)。

?

7.14??????? Error -10489

Exception was raised when calling per-thread-terminate function

在用Loadrunner實施性能測試時,采用Goal模式加壓,存在如果持續(xù)長時加壓時LoadRunnerController會報 Error -10489 : Exception wasraised when calling per-thread-terminate function錯誤;

問題產(chǎn)生原因:
Unlike the earlier Windows versions, Windows 2000 and Windows XP have thedefault environment set to C:\Document and Settings\<user-name>\LocalSettings\Temp instead of C:\Windows\temp. This long path with a space can causeseveral problems for LoadRunner. To resolve the issue, change to a directorywithout empty spaces.

解決方法:
C盤(或是其它盤均可以)新建TEMP文件夾(為了后續(xù)設置臨時文件準備)
右鍵"我的電腦"->高級->環(huán)境變量->編輯修改TEMP變量目錄,指身上面新建的目錄,如我的指向C:\TEMP->保存即可^_^

1> 問題描述Connection reset by peer. Error code : 10054

設置下載等的超時

VuGen錄制腳本后,回放或者加壓的時候,可能會出現(xiàn)錯誤信息“Action.c(65): Error : socket6 - Connection reset by peer. Errorcode : 10054”

這是因為,下載的速度慢,導致超時,所以,需要調(diào)整一下超時時間,方法如下:

Run-timesetting窗口中的‘Internet Protocol’‘Preferences’設置set advanced options(設置高級選項),,重新設置一下“HTTP-requestconnect timeoutsec

2> 問題描述:

ErrorFailed to connect to server“192.168.2.192”[10060]Connection

Errortimed out ErrorServer“192.168.2.192”hasshut down the connection prematurely

原因:

1> 應用訪問死掉

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

2> 應用服務沒有死

應用服務參數(shù)設置問題

例如:

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

Java連接池的大小設置,或JVM的設置等

3> 數(shù)據(jù)庫的連接

在應用服務的性能參數(shù)可能太小了

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

3> 問題描述

ErrorPage download timeout120secondshas expired

分析原因:

應用服務參數(shù)設置太大導致服務器的瓶頸

頁面中圖片太多

在程序處理表的時候檢查字段太多

?

7.15??????? Error -27492

"HttpSendRequest" failed, Windows error code=12002 andretry limit (0) exceeded for URL
runtime setting中的preferences-->options-->http-request connect timeout(sec)的值設為999
Runtime Setting>Preferences>Advanced區(qū)域中設置一個winlnet replay instead of sockets選項(不勾選此項報Error -27727

?

7.16??????? Error -27279

內(nèi)部錯誤(呼叫客戶服務):Report initialization failed , error code =-2147467259 [MsgId : MERR-27279 ]
警告:擴展 LrXml.dll報告在調(diào)用函數(shù)ExtPerThreadInitialize時出現(xiàn)錯誤 -1
錯誤: Vuser初始化擴展 LrXml.dll失敗。
Vuser Terminated.

建議你重裝一下LR.
這種問題有可能和你安裝有關(guān).dll文件出錯不是說寫的程序就能修改的.

?

7.17??????? Error -10061

Connection refused

在用loadrunner進行并發(fā)測試時,[10061]Connection refused,是服務器拒絕,一種方案是調(diào)整服務器的請求數(shù)。但是,有時候是服務器拒絕對同一個ip的多次請求,這時調(diào)整服務器不好實現(xiàn),可以財用ip欺騙來防止10061的產(chǎn)生,這也是本文討論的主題。

Ip欺騙的步驟:

1。添加ip2種方法:1種方法是使用loadrunnerIp Wizard進行----打開ipwizard后按提示進行操作,沒什么問題,只是需要重起下機器(小技巧:如果你在使用前,把loadrunner關(guān)閉,把agent關(guān)閉,把網(wǎng)卡禁用,然后使用Ip wizard后再去啟動網(wǎng)卡、agent,則可以不重起機器);還一種方法是自己手動添加,打開本地連接,打開Tcp/ip設置(我相信能看到這的人是打開這些是不成問題的),打開高級,然后添加ip

2。在Controller里設置ip欺騙:在Controller中點擊菜單scenario,選擇"Enable Ip Spoofer",這就打開了Ip欺騙,對于Ip欺騙的設置,先在菜單Tools下選上"Expert Mode"選項用于打開專家模式(感覺沒有什么特殊,無非就是是后面的Options彈出的對話框多了幾個選項卡),然后選擇Tools下的Options,打開對話框,找到General,這時可以選擇Ip欺騙的方式:為每個Process還是Thread產(chǎn)生ip

3。設置場景時,多設計幾組VUser(可以是針對一個叫本,每組Vuser使用一個ip,這樣又多少組就是用多少組ip)。

Ok,運行場景吧,這時發(fā)出去的包是進行Ip欺騙的,想要驗證的話,不妨把下面的代碼放入你的叫本任意位置(當然是要能執(zhí)行到的位置,不妨放在Action的開始部分,對腳本的運行沒有影響)

char *ip=lr_get_vuser_ip();
if(ip){
lr_log_message("The ip address is %s",ip);
}else{
lr_log_message("IP spoofing disabled");
}

然后在運行場景前,選擇幾組Vuser,在后邊點擊"Run-TimeSetting"進行設置,這里要設置的是General--Log下,選中Enable LoggingAlways send messages,這樣運行場景后你可以查看Vuser使用的Ip(在運行場景后,點擊"Vusers...",打開Vuser信息,在彈出框左上找到Log日志按鈕,然后可以看到該組Vuser的運行信息,在里面可以看到使用的ip信息)。

補充:這么做是在發(fā)包時進行欺騙,但是網(wǎng)卡的MAC地址不會變,如果發(fā)出去的包經(jīng)過DHCP(動態(tài)路由)時,欺騙就被揭發(fā)了--總之就是不成功了,因為DHCP服務器 會根據(jù)package來自的mac地址在dhcp路由器中的ip影射表里找到網(wǎng)卡的真實ip然后轉(zhuǎn)發(fā)出去(含有個人推測,若有錯誤,請糾正),因此如果被測試的服務器在外網(wǎng)而你所在的網(wǎng)段使用了DHCP路由,我也沒脾氣了(暫時不知道怎么處理),但是如果被測服務器和你在同一個網(wǎng)內(nèi),ok,可以解決,思路:把服務器的網(wǎng)關(guān)地址指向你的測試機器,然后使用不同于局域網(wǎng)中的網(wǎng)段,例如:公司使用的是DHCP,并且使用192.168.0.X的網(wǎng),可以把測試機器ip改成192.168.10.1,掩碼255.255.255.0,網(wǎng)關(guān)指向自己192.168.10.1,然后把被測服務器ip改成:ip192.168.10.250,掩碼255.255.255.0,網(wǎng)關(guān)192.168.10.1ok,在測試機器上添加ip,使用192.18.10.X,然后開始測試吧。

?

7.18??????? LoadRunner腳本中出現(xiàn)亂碼

在錄制Web協(xié)議腳本時出現(xiàn)中文亂碼,在回放腳本時會使回放停止在亂碼位置,腳本無法運行。

錯誤現(xiàn)象:某個鏈接或者圖片名稱為中文亂碼,腳本運行無法通過。

錯誤分析:腳本錄制可能采用的是URL-based script方式,如果程序定義的字符集合采用的是國際標準,腳本就會出現(xiàn)亂碼現(xiàn)象。

解決辦法:重新錄制腳本,在錄制腳本前,打開錄制選項配置對話框進行設置,在"Recording Options""Advanced"選項里先將"Surport Charset"選中,然后選中支持"UTF-8"的選項。

?

7.19??????? LoadRunner HTTP服務器狀態(tài)代碼

在錄制Web協(xié)議腳本回放腳本的過程中,會出現(xiàn)HTTP服務器狀態(tài)代碼,例如常見的頁面-404錯誤提示、-500錯誤提示。

錯誤現(xiàn)象1-404 Not Found服務器沒有找到與請求URI相符的資源,但還可以繼續(xù)運行直到結(jié)束。

錯誤分析:此處與請求URI相符的資源在錄制腳本時已經(jīng)被提交過一次,回放時不可再重復提交同樣的資源,而需要更改提交資源的內(nèi)容,每次回放一次腳本都要改變提交的數(shù)據(jù),保證模擬實際環(huán)境,造成一定的負載壓力。

解決辦法:在出現(xiàn)錯誤的位置進行腳本關(guān)聯(lián),在必要時插入相應的函數(shù)。

錯誤現(xiàn)象2-500 Internal Server Error服務器內(nèi)部錯誤,腳本運行停止。

錯誤分析:服務器碰到了意外情況,使其無法繼續(xù)回應請求。

解決辦法:出現(xiàn)此錯誤是致命的,說明問題很嚴重,需要從問題的出現(xiàn)位置進行檢查,此時需要此程序的開發(fā)人員配合來解決,而且產(chǎn)生的原因根據(jù)實際情況來定,測試人員無法單獨解決問題,而且應該盡快解決,以便于后面的測試。

?

7.20??????? LoadRunner請求無法找到

在錄制Web協(xié)議腳本回放腳本的過程中,會出現(xiàn)請求無法找到的現(xiàn)象,而導致腳本運行停止。

錯誤現(xiàn)象:Action.c(41):Error -27979: Requested form not found [MsgId: MERR-27979]

Action.c(41): web_submit_formhighest severity level was "ERROR",0 body bytes, 0 header bytes[MsgId: MMSG-27178]"

這時在tree view中看不到此組件的相關(guān)URL

錯誤分析:所選擇的錄制腳本模式不正確,通常情況下,基于瀏覽器的Web應用會使用"HTML-based script"模式來錄制腳本;而沒有基于瀏覽器的Web應用、Web應用中包含了與服務器進行交互的Java?Applet、基于瀏覽器的應用中包含了向服務器進行通信的JavaScript/VBScript代碼、基于瀏覽器的應用中使用HTTPS安全協(xié)議,這 時則使用"URL-based script"模式進行錄制。

解決辦法:打開錄制選項配置對話框進行設置,在"Recording Options""InternetProtocol"選項里的"Recording"中選擇"Recording Level""HTML-basedscript",單擊"HTML Advanced",選擇"Script Type""A scriptcontaining explicit"。然后再選擇使用"URL-basedscript"模式來錄制腳本。

?

7.21??????? LoadRunner不執(zhí)行檢查方法

在錄制Web協(xié)議腳本中添加了檢查方法Web_find,但是在腳本回放的過程中并沒有執(zhí)行。

錯誤現(xiàn)象:在腳本中插入函數(shù)Web_find,在腳本中設置文本以及圖像的檢查點,但是在回放過程中并沒有對設置的檢查點進行檢查,即Web_find失效。

錯誤分析:由于檢查功能會消耗一定的資源,因此LoadRunner默認關(guān)閉了對文本以及圖像的檢查,所以在設置檢查點后,需要開啟檢查功能。

解決辦法:打開運行環(huán)境設置對話框進行設置,在"Run-time Settings""InternetProtocol"選項里的"Perference"中勾選"Check"下的"Enable Image andtext check"選項。

?

7.22??????? LoadRunner回放Web Services協(xié)議腳本錯誤

LoadRunner 8.0版本在錄制Web Services協(xié)議的腳本時正常,但在回放時會出現(xiàn)錯誤,提示停止腳本運行。

錯誤現(xiàn)象:利用LoadRunner8.0版本來錄制Web Services協(xié)議的腳本沒有任何錯誤提示,回放腳本時會出現(xiàn)如下錯誤提示"Errorserver returned an incorrectlyformatted SOAP response"

錯誤分析:出現(xiàn)此錯誤的原因是LoadRunner8.0在錄制Web Services協(xié)議的腳本時存在一個缺陷:如果服務器的操作系統(tǒng)是中文的,VuGen會自動將WSDL文件的頭改為<?xmlversion="1.0"encoding="zh_cn" ?>,所以才會有此錯誤提示。

解決辦法:下載兩個補丁,分別為"LR80WebServicesFPI_setup.exe""lrunner_web_services_patch_1.exe"安裝上即可。

http://wenku.baidu.com/view/a576eb0a79563c1ec5da71c8.html

?

7.23??????? 業(yè)務

進入借款單(顯示借款單列表),新建借款單,新建后顯示借款單列表(新建的借款單在此列表中有顯示)
我是錄制的腳本,可運行時,提示 Action.c(112):錯誤-26627:對于“http://192.168.1.105:8080/T3/fee/feeLoanList.action”HTTP狀態(tài)代碼=404 (Not Found)

解決:

說兩點:
1.手動正常未必就真正常,LR加壓的時候可能連接數(shù)占滿了,所以出404
2.還有一種情況,腳本里有檢查語句,叫什么lr_check還是什么的,就是一個腳本內(nèi)部檢查是否有該資源用的,不見著他我拼不出來,如果有,注釋掉看看

?

7.24??????? Controller里運行腳本,運行一段時間以后出現(xiàn)如下error messages

1. Code -60990 Error: Two Way Communication Error: Function two_way_comm_post_message /two_way_comm_post_message_ex failed.

2. Code -29739 Error: Service client with id=1 failed to post a message, reason -communication error.

3. Code -16895 Error: Failed to post xdr buffers data array by post_ex.

4. Code -10343 Error: Communication error: Cannot send the message since reached theshared memory buffer max size.

問題誘因1

共享內(nèi)存緩存溢出,造成ControllerLoad Generator之間通訊出現(xiàn)問題。

解決方案:

修改兩個配置文件。

1.$installation folder$\dat\channel_configure.dat

2. $installationfolder$\launch_service\dat\channel_configure.dat

在這兩個文件中的[general]部分下添加如下配置。

shared_memory_max_size=100(修改共享內(nèi)存為100MB,默認是50MB)

重新啟動Controller,問題解決。

問題誘因2

打開 controller中的 diagnostics菜單,點掉復選框..步驟如下圖

2. 點掉 Enable the following diagnostics


轉(zhuǎn)載于:https://blog.51cto.com/13693838/2095928

《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的总结——LR学习总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。