sckOutOfMemory 7 內存不足
sckInvalidPropertyValue 380 屬性值不效
sckGetNotSupported 394 屬性不可讀
sckGetNotSupported 383 屬性是隻讀的
sckBadState 40006 所請求的事務或請求自己的錯誤協議或者錯誤鏈接狀態
sckInvalidArg 40014 傳遞給函數的參數格式不肯定,或者不在指定範圍內
sckSuccess 40017 成功
sckUnsupported 40018 不支持的變量類型
sckInvalidOp 40020 在當前狀態下的無效操做
sckOutOfRange 40021 參數越界
sckWrongProtocol 40026 所請求的事務或請求自己的錯誤協議
sckOpCanceled 10004 取消操做
sckInvalidArgument 10014 所請求的地址是廣播地址,但未設置標記
sckWouldBlock 10035 套接字不成塊,而指定操做將使之成塊
sckInProgress 10036 製造塊的Winsock操做在進行之中
sckAlreadyComplete 10037 完成操做。未進行製做塊的操做
sckNotSocket 10038 描述符不是套接字
sckMsgTooBig 10040 數據太大,不適於緩衝區的要求,於是被截斷
sckPortNotSupported 10043 不支持指定的端口
sckAddressInUse 10048 地址在使用中
sckAddressNotAvailable 10049 來自本地機器的不可用地址
sckNetworkSubsystemFailed 10050 網絡子系統失敗
sckNetworkUnreachable 10051 當前不能從主機到達網絡
sckNetReset 10052 在設置SO_KEEPALIVE時鏈接超時
sckConnectAborted 10053 因爲超時或者其它失敗而停止接連
sckConnectionReset 10054 經過遠端從新設置鏈接
sckNoBufferSpace 10055 沒有可用的緩存空間
sckAlreadyConnected 10056 已鏈接的套接字
sckNotConnected 10057 未接連套接字
sckSockedShutdown 10058 已關閉套接字
sckTimedout 10060 套接字超時
sckConnectionRefused 10061 強行拒絕鏈接
sckNotInitialized 10093 套接字沒有初始化
sckHostNotFound 11001 受權應答:未找到主機
sckHostNotFoundTryAgain 11002 非受權應答:未找到主機,重試
sckNonRecoverableError 11003 不可恢復的錯誤
sckNoData 11004 無效名,對所請求的類型無數據記錄html
問題描述 :lr11 BUG?Failed to send data by channels - post message failed.java
解決方法 :http://bbs.51testing.com/thread-527804-1-1.htmlnode
http://stackoverflow.com/questions/26457896/error-failed-to-send-data-by-channels-post-message-failed-in-loadrunnerios
HTTP協議的,windows server 2008+lr11+IE7 應該沒啥特殊操做,也不是每次跑都出現這個錯誤,以前也跑過8小時疲勞也正常出結果。
網上搜了一圈,看到個建議把controller中的Diagnotics-configure-Web Page Diagnotics默認的Enable關掉,從新試了幾回卻是正常了,如今也不肯定是否是真的沒問題了。
估計是兼容性的問題吧web
解決LR在進行壓力測試過程當中報Error: Failed to send data by channels - post message failed.ajax
http://blog.163.com/pengjintaogz@126/blog/static/162299068201462423636779/sql
解決辦法1: 在LR的controller負載生成器的菜單欄,單擊【Diagnostics】》configuration》Web Page Diagnostics【Max Vuser Sampling 10%】設置爲【Eenable】。shell
解決辦法2:直接去掉勾選Enable the following diagnostics便可。數據庫
以下圖所示:windows
![](http://static.javashuo.com/static/loading.gif)
問題描述 :Error -27257: Pending web_reg_save_param/reg_find/create_html_param[_ex] request(s) detected and reset at the end of iteration number 1
http://www.mianwww.com/html/2011/11/11898.html
解決方法: web_reg_save_param位置放錯了,應該放到請求頁面前面。
問題描述 :
項目1異常:Action.c(19): Error -27796: Failed to connect to server "preprice1.s*****.cn:80": [10048] Address already in use
項目2異常:Action.c(12): Error -27796: Failed to connect to server "wjhxxsit.cns*****.com:80": [10048] Address already in use Try changing the registry value HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\tcpip\Parameters\TcpTimedWaitDelay to 30 and HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\tcpip\Parameters\MaxUserPort to 65534 and rebooting the machine See the readme.doc file for more information
解決方法一: Try changing the registry vlue
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\tcpip\Parameters\TcpTimedWaitDelay to 30
and HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\tcpip\Parameters\MaxUserPort to 65534
and rebooting the machine
http://blog.csdn.net/alix_zhou/article/details/4488809
二、HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/tcpip/Parameters/TcpTimedWaitDelay to 30
and HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/tcpip/Parameters/MaxUserPort to 65534
將TcpTimedWaitDelay to 30設置爲5s或者其它,同時增長了think time,須要重啓機器。
解決方法二:多用幾臺loadrunner agent 測試機,不要用localhost 做爲agent機器,異常復現以下
![點擊查看原始大小圖片](http://static.javashuo.com/static/loading.gif)
LoadRunner錯誤及解決方法總結
http://wenku.baidu.com/view/2879ff4e2b160b4e767fcf2f.html?from=rec&pos=0&weight=3&lastweight=1&count=5
LoadRunner SHUNRA\CloudServices
http://dax9527.blog.163.com/blog/static/3764789520100136832542/
在某次重啓之後忽然發現公司的機器不能上網了,主要症狀是沒法獲取IP,手動指定IP也不起做用,域用戶下也無法聯網.域防火牆沒法鏈接.系統設備中有一個網卡帶歎號,不能正常工做也無法卸載掉.
通過半天折騰,結果無心中發現本地鏈接屬性中有一個叫SHUNRA\Cloud WAN Emulator的服務是勾選狀態.
嘿,這東西跟那個帶歎號的網卡是一個名字啊,後來明白這是由於我安裝了LoadRunner8.0工業級壓力測試軟件的緣由,LR自動安裝並啓用了這個服務,不過倒是個閹割的東西,致使不能接入到局域網.去掉勾選,完美解決.
LoadRunner小技巧集錦
http://www.cnblogs.com/preftest/archive/2010/08/02/1790569.html
一、錄製腳本中包含中文,出現亂碼怎麼辦?
把錄製選項中的Support charset選中UTF-8
錄製腳本後,切換到樹視圖中,打開相應的腳本頁面。在右側的PageView中錄製的腳本呈現中文版式,可是當切換到Server Response中,全部的中文所有換成的亂碼,如「勌縗仫訆」。
緣由是服務器端沒有把響應的編碼設置爲gb2312
在IIS中找到Web.Config文件,在<system.web>….</system.web>節加 入<globalization requestEncoding="gb2312" responseEncoding="gb2312" fileEncoding="gb2312"/>後再次錄製腳本,亂碼變中文。
二、錄製到的腳本是空白的
有多是因爲錄製的URL地址採用的是localhost的問題,改爲分配的IP地址或127.0.0.1試試。
三、插入文本檢查點步驟時,使用web_reg_find,一般TextPfx和TextSfx中會包含雙引號,須要進行轉義(用斜槓),例如:
web_reg_find("Search=Body",
"SaveCount=Welcome",
"TextPfx=歡迎<a class=\"drop\" id=\"viewpro\" onMouseOver=\"showMenu(this.id)\">",
"TextSfx=</a>",
LAST);
四、使用web_image_check插入圖片檢查點時須要主要設置Run-Time Setting中的Enable Image and text check選項:
使用web_find函數插入文本檢查點也同樣要作此設置
五、性能測試每每須要準備大批量的數據,大批量數據的生成方法有不少種,常見的有:
(1)編寫SQL語句來插入數據
(2)使用DataFactory等專業的數據生成工具
(3)經過LoadRunner錄製回放的方式重複執行生成大批量數據
Tips:
使用DataFactory插入nchar數據類型的數據時會出現空值的狀況,能夠先修改數據庫的數據類型設置,插完數據後再改回來
六、在錄製腳本的過程當中插入註釋,錄製後查看和理解腳本會更加方便。
七、LoadRunner回放腳本時,在瀏覽器顯示的中文是亂碼
解決辦法(1):
首先設置Run-Time Settings – Browser – Browser Emulation – User-Agent
而後設置IE:
查看-編碼-鉤上「自動選擇」和Unicode(UTF-8)。
解決辦法(2):
使用lr_convert_string_encoding函數來轉換編碼
下面是一個使用的例子:
lr_convert_string_encoding(lr_eval_string("{ReplyContents}"),LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"ReplyMessage");
web_submit_data("postreply.aspx_2",
"Action=http://127.0.0.1/postreply.aspx?infloat=1&topicid=2&&inajax=1",
"Method=POST",
"EncType=multipart/form-data",
"RecContentType=text/xml",
"Referer=http://127.0.0.1/showtopic-2.aspx",
"Snapshot=t9.inf",
"Mode=HTML",
ITEMDATA,
"Name=iconid", "Value=0", ENDITEM,
"Name=title", "Value=", ENDITEM,
"Name=wysiwyg", "Value=0", ENDITEM,
"Name=checkbox", "Value=0", ENDITEM,
"Name=message", "Value=[localimg=180,112]1[/localimg]\r\n\r\n{ReplyMessage}", ENDITEM,
"Name=e_mediatyperadio", "Value=on", ENDITEM,
"Name=sl_attachdesc", "Value=", ENDITEM,
"Name=attachid", "Value=", ENDITEM,
"Name=attachdesc", "Value=", ENDITEM,
"Name=localid", "Value=", ENDITEM,
"Name=attachdesc", "Value=", ENDITEM,
"Name=localid", "Value=1", ENDITEM,
"Name=attachdesc", "Value=", ENDITEM,
"Name=localid", "Value=2", ENDITEM,
"Name=emailnotify", "Value=on", ENDITEM,
"Name=postreplynotice", "Value=on", ENDITEM,
"Name=postfile", "Value=", "File=Yes", ENDITEM,
"Name=postfile", "Value=D:\\\\圖片收集\\\\It's about time.JPG", "File=Yes", ENDITEM,
"Name=postfile", "Value=", "File=Yes", ENDITEM,
"Name=uploadallowmax", "Value=10", ENDITEM,
"Name=uploadallowtype", "Value=jpg,gif", ENDITEM,
"Name=thumbwidth", "Value=300", ENDITEM,
"Name=thumbheight", "Value=250", ENDITEM,
"Name=noinsert", "Value=0", ENDITEM,
LAST);
八、能夠在LR測試腳本的目錄中找到參數文件,直接修改參數文件
The parameter file is stored in the script directory as .dat file extension. It can be opened with a simple text editor like Notepad as it is stored in pure text format. Therefore, you can manipulate the files via the Notepad. You can also use office applications such as Microsoft Excel or OpenOffice.org Calc to work on the file. This greatly the amount of work required for maintaining a long list of data.
九、LR9.x啓動VUGen時提示"Failed to connect to server"
After upgrading to LoadRunner 9.x I started getting a window popup which said "Failed to connect to server" every time I opened virtual user generator (vugen.exe).
The solution to this was to close virtual user generator and delete the [vugen.ini] file.
vugen.ini is found in the %systemroot% folder on your Windows PC (usually C:\WINDOWS or C:\WINNT).
Once you've deleted the file, virtual user generator will open without any issues and create a new vugen.ini file automatically.
十、怎樣抓取有相同左右邊界的動態value?
怎樣抓取有相同左右邊界的動態value?例如:
stateID="d7lg0ehmjkkm6uin3s4boei7oq">
stateID="cvopakp46ftsf8mh6l37ti3ubm">
stateID="bv9mja8gtgr39ddibm5t9163re">
web_reg_save_param裏的ORD應該怎樣設置?
ORD: Indicates the ordinal position or instance of the match. The default instance is 1. If you specify "All," it saves the parameter values in an array.
例子:
char outFlightParam[50]; // The name of the parameter for correlation
char outFlightParamVal[50]; // The formatted value of outFlightParam
web_reg_save_param("outFlightVal",
"LB=outboundFlight value=", "RB=>",
"ORD=ALL",
"SaveLen=18",
LAST);
web_submit_form("reservations.pl",
"Snapshot=t4.inf",
ITEMDATA,
"Name=depart", "Value=London", ENDITEM,
"Name=departDate", "Value=11/20/2003", ENDITEM,
"Name=arrive", "Value=New York", ENDITEM,
"Name=returnDate", "Value=11/21/2003", ENDITEM,
"Name=numPassengers", "Value=1", ENDITEM,
"Name=roundtrip", "Value=<OFF>", ENDITEM,
"Name=seatPref", "Value=None", ENDITEM,
"Name=seatType", "Value=Coach", ENDITEM,
"Name=findFlights.x", "Value=83", ENDITEM,
"Name=findFlights.y", "Value=16", ENDITEM,
LAST);
sprintf(outFlightParam, "{outFlightVal_%s}",
lr_eval_string("{outFlightVal_count}"));
sprintf(outFlightParamVal, "Value=%s",
lr_eval_string(outFlightParam));
lr_message("The value argument is : %s", outFlightParamVal);
web_submit_form("reservations.pl_2",
"Snapshot=t5.inf",
ITEMDATA,
"Name=outboundFlight",outFlightParamVal, ENDITEM,
"Name=reserveFlights.x", "Value=92", ENDITEM,
"Name=reserveFlights.y", "Value=10", ENDITEM,
LAST);
十一、運行場景時提示「Step download timeout (120 seconds) has expired when downloading resource(s)」
vuser_init.c(12): Error -27728: Step download timeout (120 seconds) has expired when downloading non-resource(s)(出現個別,能夠忽略)
vuser_init.c(12): Error -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
若是以爲下載一個頁面超過2分鐘不是錯誤的話,能夠在Run-Time設置中選擇Preferences->Options,修改Step download timeout(sec)的時間
或者把「Step timeout caused by resources is a warning」設置爲Yes,這樣下載資源超時也只是做爲警告,不做爲錯誤提示,可是對於非資源的下載超時,則老是會提示錯誤的
十二、用strtok函數分割字符串
須要在loadrunner裏面得到「15」(下面紅色高亮的部分),並作成關聯參數。
//Body response 內容: <BODY><; PRE>//OK[8,7,5,15,6,5,0,4,0,3,0,3,2,0,0,0,1
用web_reg_save_param取出「8,7,5,15,6,5,0,4,0,3,0,3,2,0,0,0,1」這一段,而後用strtok函數切割出一個個數字,第四個數字就是要找的值
例如:
extern char * strtok(char * string, const char * delimiters ); // Explicit declaration
char separators[] = ",";
char * token;
lr_save_string("1,2,3,4,5,6","str");
token = (char *)strtok(lr_eval_string("{str}"), separators); // Get the first token
if (!token) {
lr_output_message ("No tokens found in string!");
return( -1 );
}
while (token != NULL ) { // While valid tokens are returned
lr_output_message ("%s", token );
token = (char *)strtok(NULL, separators); // Get the next token
}
1三、LoadRunner沒有購買webservice協議的license,只有http的,可不能夠徹底用http協議模擬webservice?
能夠,參考:
http://blog.testsautomation.com/2009/01/web-services-performance-using-loadrunner/
http://blog.testsautomation.com/2009/05/validating-web-service-response-with-xpath/
1四、在場景設置中不忽略思考時間,可是在查看響應時間的時候怎樣讓LR自動在響應時間裏減去思考時間?
在analysis中找到了設置是否在報告中包含思考時間的地方作相應的設置便可:
1五、LoadRunner在運行過程當中停掉1半虛擬用戶
Another issue that I’m facing from time to time is that LoadRunner stops 50% of running users without any notification, issue, error message etc. I’ve find out that it happens only when running with log level set to ‘always send a message’. Because of that, I suggest to run with log level set to ‘Send message only when error occur’.
1六、LoadRunner錄製不了任何東西
Sometimes LoadRunner is not recording anything while browsing using IE. I have no idea why but the fastest solution is to restart whole LR. Maybe some of you have good explanation for that?
1七、測試RTMP協議應該在LoadRunner選擇什麼協議來錄製?
用flex協議
有這幾個函數可用:
flex_rtmp_connect Connects a client to an RTMP server and sets connection options.
flex_rtmp_disconnect Disconnects a client from an RTMP server.
flex_rtmp_send Sends messages to an RTMP server.
flex_rtmp_receive Receives responses from an RTMP server
Flex can record and replay scripts involving RTMP (Real Time Messaging Protocol). In order to enable RTMP simulation, you must configure the recording options for the Flex protocol.
To enable RTMP:
1 Open the Recording Options dialog box by selecting Tools > Recording Options or clicking the Options button in the Start Recording dialog box.
2 In the Network > Port Mapping node click Options.
3 Set the Send-Receive buffer size threshold to 1500.
1八、如何在LoadRunner中運行QTP腳本?
一、運行準備:
1)勾選QTP的Tools--Options--Run的"Alow other Mercury products to run tests and components"
2)錄製須要在lr中運行的QTP腳本,而且在QTP腳本中設置事務,Services.StartTransaction "start"與Services.EndTransaction "start"
二、運行QTP腳本
在LR中運行時選擇QTP腳本,爲QTP腳本存放目錄下文件擴展名爲.usr的文件。
注:LR中運行QTP腳本時,只能有一個Vuser,不然將報錯:
The load generator is currently running the maximum number of Vusers of this type
1九、在LR中如何忽略Socket接收數據的驗證
在LR中對Socket進行性能測試時,LR會本身判斷lrs_receive回來的數據的長度,而若是長度不符的話會有時間延遲的狀況(這是性能測試徹底不能接受的事情),若是作到這一點呢,通過反覆嘗試,發現一種簡單的方法(用*代替具體的長度):
相似於將:
recv buf1 12
"Hello, Denny"
改成:
recv buf1 *
"Hello, Denny"
一切OK。
20、LoadRunner9.5的Controller中不能添加Apache的監控
在C:\Program Files\HP\LoadRunner\dat\online_graphs中找到online_resource_graphs.rmd文件,修改[Apache]部分中的EnableInUI爲1
參考:
http://forums11.itrc.hp.com/service/forums/questionanswer.do?admit=109447626+1274450165814+28353475&threadId=1229523
2一、VB Vuser開發ADO腳本,提示「user-defined type not defined」
想在VB Vuser寫入模擬數據操做的過程,而後在VB Vuser裏定義了這個全局變量
Private m_Conn As ADODB.Connection '鏈接對象
Private m_Reco As ADODB.Recordset '結果集
可是在VB Vuser中不識別這個對象,報出user-defined type not defined
須要在Run-Time 設置中的VBA部分把ADO的庫選上
若是用VB Script虛擬用戶來開發就不要,直接用CreateObject來建立ADO對象便可
2二、loadrunner9.5錄製腳本時出現c:\PROGRA~1\MICROS~1\office12\Grooveutil.DLL時出錯內存位置訪問無效
Office2007的問題,IE加載項禁用Groove GFSBrowser Helper 組件
2三、LR自帶的例子端口號怎麼修改?
LR自帶的例子端口號是1080,我怎麼樣把這個端口設置我本身想用的端口號8088,在什麼地方設置
在LR安裝目錄下,找到Xitami.config文件,找到portbase,能夠修改它(默認是1000);
默認的端口號是portbase+80;
要把端口號改爲8088,就把portionbase改成8008,保存以後就是了(8088=8008+80)。
2四、用Web_reg_find查找中文字符串時查找不到
腳本文件裏有個default.cfg ,裏面有個參數是 UTF8InputOutput ,將其值改成0
2五、替代IP Wizard的腳本
http://hi.baidu.com/higkoo/blog/item/39bbb21bc33d76dcac6e751c.html
LoadRunner自帶的「IP Wizard」用起來很是麻煩,要不停的點,重要的是最後還必須重啓系統生效。
因而乎寫個腳本替代之:
1. 假設客戶端IP爲 192.168.10.31
2. 假設服務端IP爲 192.168.10.10
3. 須要模擬的IP爲 110.119.120.122
那麼,客戶端提供添加虛擬IP的BAT腳本:
netsh interface ip add address 本地鏈接 110.119.120.122 255.255.0.0
對應的刪除設置爲:
netsh interface ip del address 本地鏈接 110.119.120.122
對應服務器添加虛擬路由的Shell腳本:
route add -host 110.119.120.122 gw 192.168.10.31
刪除路由的腳本:
route del -host 110.119.120.122 gw 192.168.10.31
這樣就很是方便了,不用重啓任何機器,執行腳本就生效,再執行腳本就取消。
2六、如何從命令行調用LoadRunner腳本?
Here is the command line that you need to execute to run a VuGen script from the command prompt:
<LoadRunner>\bin\mmdrv.exe -usr <path to usr file>
Note:
In order to get all the other options that go with the command, run mmdrv.exe from the command prompt without any options.
2七、請問"int64這個類型,在LR中怎麼表示"。我將一段C的代碼放在LR中,LR不認int64這個類型,怎麼解決?
把那段C代碼作成DLL,而後在LR中調用
2八、LoadRunner監控遠程機器Windows資源,提示「net use failed」
解決辦法 :
在被監控機器上更改本地賬戶的共享和安全模式爲經典模式。控制面板->管理工具->本地安全策略->網絡訪問:本地賬戶的共享和安全模式->經典模式。
監視鏈接前的準備工做 :
首先保證被監視的windows系統開啓如下二個服務Remote Procedure Call(RPC) 和Remote Registry Service
被監視的WINDOWS機器:右擊個人電腦,選擇管理->共享文件夾->共享 在這裏面要有C$這個共享文件夾,(要是沒有本身手動加)
而後保證在安裝LR的機器上使用運行.輸入\\被監視機器IP\C$ 而後輸入管理員賬號和密碼,若是能看到被監視機器的C盤了,就說明你獲得了那臺機器的管理員權限,可使用LR去鏈接了
Analysislog.log
Analysis Error log: <2012-11-1 9:26:41>
沒法更新;當前被鎖定。
SQL: Insert into Breakdown_meter select * FROM [Text; database=C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\1\].101179031Breakdown_meter.txt;
loadrunner收集結果失敗
loadrunner 11.0 32位 + JDK 1.7 32位 環境異常問題解決
- Notify: Found jdk version: 1.7.0. [MsgId: MMSG-22986]
- Warning: Warning: Failed to find Classes.zip entry in Classpath.
- [MsgId: MWAR-22986]
- Notify: classpath=D:\TestCase\20121025_wuliu\WuLiu_TC_01_GPSCollecter\;c:\program files\hp\loadrunner\classes\srv;c:\program files\hp\loadrunner\classes;;.;C:\Program Files\Java\jdk1.7.0_10\jre\lib\rt.jar;C:\Program Files\HP\LoadRunner\classes\snf-data-cache-aio-1.1.0.jar;;;c:\program files\hp\loadrunner\lib\xstream-1.3.jar;c:\program files\hp\loadrunner\lib\xpp3-1.1.4c.jar [MsgId: MMSG-22986]
- Notify: Path=C:\PROGRA~1\HP\LOADRU~1\bin;C:\PROGRA~1\HP\LOADRU~1\bin\gecko;C:\PROGRA~1\HP\LOADRU~1\bin\tulip\bin;.;C:\Program Files\Java\jdk1.7.0_10\bin;C:\Program Files\Common Files\NetSarang;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\strawberry\c\bin;C:\strawberry\perl\bin;C:\Documents and Settings\Administrator\WINDOWS; [MsgId: MMSG-22986]
- Notify: VM Params: . [MsgId: MMSG-22986]
- Error: Java VM internal error:Error Loading javai.dll.
- . [MsgId: MERR-22995]
- Warning: Extension java_int.dll reports error -1 on call to function ExtPerProcessInitialize [MsgId: MWAR-10485]
- Error: Thread Context: Call to service of the driver failed, reason - thread context wasn't initialized on this thread. [MsgId: MERR-10176]
http://bbs.51testing.com/thread-882681-1-1.html
解決方案:LoadRunner11不支持JDK1.7.0,換成1.6的就好了
LoadRunner與JDK的安裝問題
http://www.cnblogs.com/xiaochuncha/archive/2008/07/22/1248599.html
Louis-KB-20080722-T001
我在安裝LoadRunner9.1版本的時候,取得的license是Java協議,須要在服務器上安裝JDK。首先服務器是Microsoft Windows Server 2003 R2 Enterprise Edition Service Pack2(x64),安裝的LoadRunner9.1默認是在C盤的Program Files中,按照這樣來講,就須要安裝64爲的JDK,我即安裝jdk-1_5_0_16-windows-amd64.exe,可是在安裝成功後,運行寫好的Java協議腳本,會出現以下的錯誤:
- Error: Failed to find javac.exe Java Compiler in Path and JDK installation folder in registry. [MsgId: MERR-22981]
- Error: Failed to find java.exe.
- Please add the <JDK>\bin to the path and try again. [MsgId: MERR-22968]
- Warning: Extension java_int.dll reports error -1 on call to function ExtPerProcessInitialize [MsgId: MWAR-10485]
- Error: Thread Context: Call to service of the driver failed, reason - thread context wasn't initialized on this thread. [MsgId: MERR-10176]
在檢測JDK安裝是否成功時,JDK可以正常運行,LoadRunner的安裝也沒有任何問題,這樣的問題就定位到兩者的結合的問題上,首先在Vuser->Run-Time Setting中的Java Environment Settings->ClassPath中可以識別環境變量中的ClassPath,可是仍是會報以上的錯誤。
在找問題所在的時候,我發現LoadRunner9.1沒有任何說明此版本是64位軟件,如何沒有任何說明,則默認應該是32位軟件,而對應的JDK應該也是32位的JDK,64位操做系統是兼容32位軟件,我立刻安裝了32位的JDK,重啓server,刪除Vuser->Run-Time Setting中的Java Environment Settings->ClassPath中全部變量,從新運行腳本,發現錯誤消失。
寫此文章就是想告訴你們,32位的軟件和64位軟件仍是有不少不兼容,出現的報錯信息也是五花八門,但願能對你們有幫助。
---------------------------------------------------------------------------
Louis Yan
Beijing, China
Mail:xiaochuncha@gmail.com
MSN:xiaochuncha@gmail.com
loadrunner 8.0 / 8.1 + JDK 1.5 環境異常
問題:Failed to find Classes.zip entry in Classpath.
http://blog.sina.com.cn/s/blog_69735aa50100vgtn.html
今天寫了一個JavaUser的LR的測試腳本,
編譯時報錯:Failed to find Classes.zip entry in Classpath.
解決:
http://download.csdn.net/download/foreignli/2560453
LR8.0或者8.1+JDK1.5版須要打一個補丁名字叫作:java_protocol_fixes_Feb_05,打上以後重啓機器就ok了。
LoadRunner11-遇到問題及解決辦法
http://4951507.blog.51cto.com/4941507/1108733
一、LoadRunner超時錯誤:在錄製Web服務器端,若是超過120秒服務器協議腳本回放時超時狀況常常出現,產生錯誤的緣由也有不少,解決的方法也不一樣。
錯誤現象1:Action.c(16): Error -27728: Step download timeout (120 seconds) has expired when downloading non-resource(s)。
錯誤分析:對於HTTP協議,默認的超時時間是120秒(能夠在LoadRunner中修改),客戶端發送一個請求到端尚未返回結果,則出現超時錯誤。
解決辦法:首先在運行環境中對超時進行設置,默認的超時時間能夠設置長一些,再設置屢次迭代運行,若是還有超時現象,須要在「Runtime Setting」>「Internet Protocol:Preferences」>「Advanced」區域中設置一個「winlnet replay instead of sockets」選項,再回放是否成功。
2
.LoadRunner腳本中出現亂碼:在錄製Web協議腳本時出現中文亂碼,在回放腳本時會使回放中止在亂碼位置,腳本沒法運行。
錯誤現象:某個連接或者圖片名稱爲中文亂碼,腳本運行沒法經過。
錯誤分析:腳本錄製可能採用的是URL-based script方式,若是程序定義的字符集合採用的是國際標準,腳本就會出現亂碼現象。
解決辦法:從新錄製腳本,在錄製腳本前,打開錄製選項配置對話框進行設置,在「Recording Options」的「Advanced」選項裏先將「Surport Charset」選中,而後選中支持「UTF-8」的選項。
3
.LoadRunner HTTP服務器狀態代碼:在錄製Web協議腳本回放腳本的過程當中,會出現HTTP服務器狀態代碼,例如常見的頁面-404錯誤提示、-500錯誤提示。
錯誤現象1:-404 Not Found服務器沒有找到與請求URI相符的資源,但還能夠繼續運行直到結束。
錯誤分析:此處與請求URI相符的資源在錄製腳本時已經被提交過一次,回放時不可再重複提交一樣的資源,而須要更改提交資源的內容,每次回放一次腳本都要改變提交的數據,保證模擬實際環境,形成必定的負載壓力。
解決辦法:在出現錯誤的位置進行腳本關聯,在必要時插入相應的函數。
錯誤現象2:-500 Internal Server Error服務器內部錯誤,腳本運行中止。
錯誤分析:服務器碰到了意外狀況,使其沒法繼續迴應請求。
解決辦法:出現此錯誤是致命的,說明問題很嚴重,須要從問題的出現位置進行檢查,此時須要此程序的開發人員配合來解決,並且產生的緣由根據實際狀況來定,測試人員沒法單獨解決問題,並且應該儘快解決,以便於後面的測試。
4
.LoadRunner請求沒法找到:在錄製Web協議腳本回放腳本的過程當中,會出現請求沒法找到的現象,而致使腳本運行中止。
錯誤現象:Action.c(41): Error -27979: Requested form. not found [MsgId: MERR-27979]
Action.c(41): web_submit_form. highest severity level was "ERROR",0 body bytes, 0 header bytes [MsgId: MMSG-27178]"
這時在tree view中看不到此組件的相關URL。
錯誤分析:所選擇的錄製腳本模式不正確,一般狀況下,基於瀏覽器的Web應用會使用「HTML-based script」模式來錄製腳本;而沒有基於瀏覽器的Web應用、Web應用中包含了與服務器進行交互的
代碼、基於瀏覽器的應用中使用HTTPS
Java Applet、基於瀏覽器的應用中包含了向服務器進行通訊的
JavaScript/VBScript
安全協議,這時則使用「URL-based script」模式進行錄製。
解決辦法:打開錄製選項配置對話框進行設置,在「Recording Options」的「Internet Protocol」選項裏的「Recording」中選擇「Recording Level」爲「HTML-based script」,單擊「HTML Advanced」,選擇「Script. Type」爲「A script. containing explicit」。而後再選擇使用「URL-based script」模式來錄製腳本。
http://kaixin322.blog.sohu.com/115621323.html
花了一天半的時間,終於搞定了這個問題。
總結下:主要仍是關聯沒有作好,並且由於某些組件沒有下載,致使lr自動關聯不到
解決辦法參考Zee的:
對LR回放中highest severity level was"ERROR"的解決方法
在LR中錄製腳本時有以下問題:
在錄製時一切正常,而回放時提示相似以下錯誤:
Action.c(41): Error -27979: Requested form not found [MsgId: MERR-27979]
Action.c(41): web_submit_form highest severity level was "ERROR", 0 body bytes, 0 header bytes [MsgId: MMSG-27178]"
這時在tree view中看不到此組件的相關URL。
處理方法以下:
1, 打開recording options,在internet protocol下的recording中選擇recording level爲HTML-based script,點擊HTML Advanced,選擇script type爲A script containing explicit.便可。
2, 選擇使用URL_based script錄製。
對LR回放中highest severity level was"ERROR"的第二個解決方法
3.取消選中run time settings-browser emulation-download non-html resources.解決 。
本次解決是用第二個辦法解決的。
而後執行腳本,就能夠看到須要關聯的其餘字段了。關聯後,運行成功。
5. Abnormal termination, caused by mdrv process termination
解決:修改LR中的D:\Program Files\Mercury\LoadRunner\dat\protocols 中的http.lrp信息,在[Vugen]下面新加一條MaxThreadPerProcess=要設置的vuser數量 。
6
.LoadRunner錄製腳本時爲何不彈出IE瀏覽器?
答:啓動瀏覽器,打開Internet選項對話框,切換到高級標籤,去掉「啓用第三方瀏覽器擴展(須要重啓動)」的勾選,而後再次運行VuGen便可解決問題;
7.LoadRunner
錄製腳本時提示默認瀏覽器不支持解決方法?
答:在Recording Options->Browser->修改瀏覽器設置->改成IE瀏覽器訪問,從新啓動LoadRunner錄製腳本就ok;
8.LR
錄製Web腳本時,生成的腳本中存在亂碼該如何解決?
答:錄製腳本前,打開錄製選項配置對話框Record-Options,進入到Advanced標籤,先勾選「Support charset」,選擇支持UTF-8。從新錄製,就不會出現中文亂碼問題了。
9.HTML-based script
與URL-based script的腳本有什麼區別?
答:使用「HTML-based script」的模式錄製腳本,VuGen爲用戶的每一個HTML操做生成單獨的步驟,這種腳本看上去比較直觀;使用「URL-based script」模式錄製腳本時,VuGen能夠捕獲全部做爲用戶操做結果而發送到服務器的HTTP請求,而後爲用戶的每一個請求分別生成對應方法。一般,基於瀏覽器的Web應用會使用「HTML-based script」模式來錄製腳本;而沒有基於瀏覽器的Web應用、Web應用中包含了與服務器進行交互的Java Applet、基於瀏覽器的應用中包含了向服務器進行通訊的JavaScript/VBScript代碼、基於瀏覽器的應用中使用了HTTPS安全協議,這時使用「URL-based script」模式進行錄製。
10.
爲何腳本中添加了檢查方法Web-find,可是腳本回放時卻沒有執行?
答:LoadRunner默認關閉了對文本及圖像的檢查。進入「Run-time Setting」對話框,依次進入「Internet Protocol→Preferences」,勾選Checks下的「Enable Image and text check」選項便可。
備註:推薦web_reg_find函數針對文本及圖像的檢查。
11.
運行時的Pacing設置主要影響什麼?
答:Pacing主要用來設置重複迭代腳本的間隔時間。共有三種方法:上次迭代結束後馬上開始、上次迭代結束後等待固定時間、按固定或隨機的時間間隔開始執行新的迭代。根據實際須要設置迭代便可。一般,沒有時間間隔會產生更大的壓力。
12.
運行時設置Log標籤中,若是沒有勾選「Enable logging」,則手工消息能夠發送嗎?
答:Enable logging選項僅影響自動日誌記錄和經過lr_log_message發送的消息。即便沒有勾選,虛擬用戶腳本中若是使用lr_message、lr_output_message、lr_error_message,仍然會記錄其發出的消息。
13.LoadRunner
如何在IE7+Win2003環境下錄製腳本?
答: 方法一: 巧借IE6內核錄製腳本
在系統安裝目錄下C:\WINDOWS\ie7\iexplore.exe,而後在Recording Options->Browser,指定Ie6內核;設置完成確認後,便可以用LoadRunner錄製腳本;
方法二 查看了下官方提供LoadRunner解決方法:
安裝LoadRunner 8.1 Feature Pack 4->而後安裝:Internet Explorer 7 (IE 7) support for LoadRunner 8.1 Feature Pack 4;
14.LoadRunner 8.0
版本的VuGen在錄製Web Services協議的腳本時一切正常,但回放時報錯誤「Error:server returned an incorrectly formatted SOAP response」?
答:緣由是LoadRunner 8.0的VuGen在錄製Web Service協議的腳本時存在一個缺陷:若是服務器的操做系統是中文的,VuGen會自動將WSDL文件的頭改成<?xml version=」1.0」 encoding=」zh_cn」?>,所以會有上面的錯誤提示。
因此須要打上補丁:「LR80WebservicesFPI_setup.exe」和「lrunner_web_sevices_path_1.exe」。
15.VuGen
支持Netscape的客戶證書嗎?
答:不支持。目前的VuGen 8.0版本中僅支持Internet Explorer的客戶端證書。錄製腳本時能夠先從Netscape中導出所需的證書,而後將其導入到Internet Explorer中,並確保以相同的順序導出和導入這些證書。並且,在每臺將要錄製或運行須要證書的Web Vuser腳本的計算機上都要重複執行前面的過程。
16. LoadRunner
場景執行時第1次報錯 error:missing newline in d:\test\test1.dat,第2次場景執行時不報錯?
答:Loadruner參數設置test1.dat文本時,須要在最後一個參數後回車確認一下。
17.LoadRunner
場景執行時出現錯誤:「load generator is currently running the maximum number of vuser of this type」
答:Loadruuner默認場景併發最大用戶數=1000,因此須要設置load generator->Details->Vuser limits->Other Vusers更換參數值便可,如10000;固然須要你的序列號是支持,目前最大支持6.2w的序列號。
18.VuGen
會修改錄製瀏覽器中的代理服務器設置嗎?
答:會修改。在開始錄製基於瀏覽器的Web Vuser腳本時,VuGen首先會啓動指定的瀏覽器。而後,VuGen會指示瀏覽器訪問VuGen代理服務器。爲此,VuGen會修改錄製瀏覽器上的代理服務器設置。默認狀況下,VuGen會當即將代理服務器設置更改成Localhost:7777。錄製以後,VuGen會將原始代理服務器設置還原到該錄製瀏覽器中。所以,在VuGen進行錄製的過程當中,不能夠更改代理服務器設置,不然將沒法正常進行。
19.
在LoadRunner腳本如何輸出當前系統時間?
答:LoadRunner提供了char *ctime(const time_t *time)函數,調用參數爲一個Long型的整數指針,用於存放返回時間的數值表示。
20.Loadruner
在一些Web虛擬用戶腳本錄製後馬上回放沒有任何問題,可是當設置迭代次數大於1時,若是進行回放則只能成功迭代一次。從第二次迭代開始發生錯誤?
答:「Run-time Setting」的「Browse Emulation」的設置中,勾選了「Simulate a new user on each iteration」及其下面的選項「Clear cache on each iteration」這兩個選項的含義是每次迭代時模擬一個新的用戶及每次迭代時清除緩存。
21.LoadRunner
中「Run-time Setting」中的線程和進程運行方式的區別?
答:若是選擇「Run Vuser as a process」,則場景運行時會爲每個虛擬用戶建立一個進程;選擇「Run Vuser as a thread」則將每一個虛擬用戶做爲一個線程來運行,在任務管理器中只看到一個mmdrv.exe,這種方式的運行效率更高,能形成更大的壓力,時默認選項。另外,若是啓用了IP欺騙功能,則先在Controller中選中Tools菜單下的「Expert Mode」,而後將Tools菜單下的「Options>General」標籤頁中的IP地址分配方式也設置爲與Vuser運行方式一致,同爲線程或進程方式。
22.
在Controller中運行Web相關測試場景時,常常會有不少超時錯誤提示,如何處理這類問題?
答:這主要有腳本的默認超時設置引發。當回放Web腳本時,有時候因爲服務器響應時間較長,會產生超時的錯誤。這時須要修改腳本的運行時配置。進入「Run-time Setting」對話框後,依次進入「Internet Protocol→Preference」。而後點擊「Options…」按鈕,進入高級設置對話框,能夠修改各種超時設置的默認值。
23.
爲何Windows系統中的CPU、內存等資源仍然充足,可是模擬的用戶數量卻上不去?
答:在Windows計算機的標準設置下,操做系統的默認限制只能使用幾百個Vuser,這個限制與CPU或內存無關,主要是操做系統自己規定了默認的最大線程數所致使。要想突破Windows這個限制,須修改Windows註冊表。以Windows XP Professional爲例。
(1)打開註冊表後,進入註冊表項HKEY_LOCAL_MACHINE中的下列關鍵字:System\CurrentControlSet\Control\Session Manager\SubSystems。
(2)找到Windows關鍵字,Windows關鍵字以下所示:
%SystemRoot%\system32\csrss.exe bjectDirectory=\Windows
SharedSection=1024,3072,512 Windows=On SubSystemType=Windows ServerDll=basesrv,1
ServerDll=winsrv:UserServerDllInitialization,3 ServerDll=winsrv:ConServerDllInitialization,2
ProfileControl=Off MaxRequestThreads=16
SharedSection=1024,3072,512關鍵字的格式爲xxxx,yyyy,zzz。其中,xxxx定義了系統範圍堆的最大值(以KB爲單位),yyyy定義每一個桌面堆得大小。
(3)將yyyy的設置從3072更改成8192(即8MB),增長SharedSection參數值。
經過對註冊表的更改,系統將容許運行更多的線程,於是能夠在計算機上運行更多的Vuser。這意味着可以模擬的最大併發用戶數量將不受Windows操做系統的限制,而只受硬件和內部可伸縮性限制的約束。
24.Controller
中設置了用戶併發數量,可是運行時爲什麼初始化的用戶數量少於實際數量?
答:主要時設置問題。在Tools→options→Run-time setting中能夠設置每次最多初始化的虛擬用戶。若是須要100個併發用戶,則將該值設置爲大於100的數值。另外,注意LoadRunner相關協議License的更新,確保使用的License可以容許所須要的併發用戶數量。
25.
如何讓場景的用戶執行發生錯誤繼續運行,以保證不間斷進行壓力測試?
答:用VuGen打開虛擬用戶腳本後,進入「Run-time Settings」對話框後,依次進入「General→Miscellaneous」,能夠看到Miscellaneous設置中關於「Error Handling」的配置。勾選「Continue on error」便可讓虛擬用戶發生錯誤繼續運行。
26.
爲何.NET虛擬用戶有時不能在遠程主機執行?
答:主要時LoadRunner的版本問題。根據筆者的經驗,若是是Microsoft Visual Studio 2005開發的虛擬用戶,同時LoadRunner客戶端的版本低於8.1,執行Controller的主機將會發生錯誤。
所以要想正確的運行Microsoft Visual Studio 2005開發的.NET虛擬用戶,客戶端最好裝8.1以上的版本,Controller的主機則安裝8.0和8.1兩個版本都可。此外,產生壓力的LoadRunner客戶端上預先應該安裝.NET運行環境,若是Microsoft Visual Studio 2005開發的是.NET虛擬用戶,則應該安裝Microsoft .NET Framework SDK v2.0。
27.
測試分析結果中會統計Action時間,而實際上可能並不需要這些數據,如何只顯示本身定義的用戶事務?
答:進入腳本的運行時設置,依次進入General→Miscellaneous。默認狀況下,自動事務配置「Automatic Transactions」下有兩個選項:第一個是把腳本的Action部分定義爲一個事務;第二個時把腳本的每一部分定義爲一個事務。去掉這兩個勾選後,測試結果將會只顯示本身定義的用戶事務。
28.
測試結果中,Summary和平均事務響應時間圖裏的各個事務的最大值、平均值、最小值爲何顯示不同?
答:主要是受採樣時間的影響。Summary裏的事務平均響應時間是根據整個場景執行過程獲得的數據計算所得,最大值與最小值也是從整個場景中獲得的。平均事務響應時間圖主要時按照LoadRunner分析出來的採樣頻率來獲取事務響應時間的最大值與最小值,而後計算平均值。能夠經過「Set Granularity」來修改平均事務響應時間圖的採樣頻率。若是把「Granularity」設爲場景執行時間,則統計結果將會一致。
29.
統計結果中的總點擊量Total Hits時用戶的鼠標點擊次數嗎?
答:Total Hits不時按照用戶的鼠標點擊次數來計算的,而是按照各個虛擬客戶端向後臺發起的總的請求數來進行統計的。例如在向服務器請求的一個頁面中,若是該頁面包含5個圖片,用戶只要單擊鼠標就能夠訪問該頁面,而單個虛擬用戶在LoadRunner訪問的點擊量爲1+5=6次。
30.
有些Web測試結果分析圖(例如每秒返回頁面數)在測試結果分析圖中沒法看到,如何進行配置?
答:用VuGen打開虛擬用戶腳本後,進入「Run-time Settings」對話框後,依次進入「Internet Protocol>Preference」,能夠看到一些Web性能圖配置。勾選上面得選項後,Controller將會在測試執行過程當中生成數據,而後可在Analysis中查看相應的性能結果分析圖。
、Step download timeout (120 seconds)
解決辦法:
一、修改run time setting中的請求超時時間,增長到600s,其中有三項的參數能夠一次都修改了,HTTP-request connect timeout,HTTP-request receieve timeout,Step download timeout,分別建議修改成600、600、5000;run time setting設置完了後記住還須要在control組件的option的run time setting中設置相應的參數;
二、辦法一不能解決的狀況下,解決辦法以下:
設置runt time setting中的internet protocol-preferences中的advaced區域有一個winlnet replay instead of sockets選項,選項後再回放就成功了。切記此法只對windows系統起做用,此法來自zee的資料。
31.
問題描述Connection reset by peer
這個問題很少碰見,通常是因爲下載的速度慢,致使超時,因此,須要調整一下超時時間
解決辦法:Run-time setting窗口中的‘Internet Protocol’-‘Preferences’設置set advanced options(設置高級選項),從新設置一下「HTTP-request connect timeout(sec),能夠稍微設大一些」;
32.
問題描述connection refused
這個的錯誤的緣由比較複雜,也可能很簡單也可能須要查看好幾個地方,解決起來不一樣的操做系統方式也不一樣;
一、首先檢查是否是鏈接weblogic服務過大部分被拒絕,須要監控weblogic的鏈接等待狀況,此時須要增長acceptBacklog,每次增長25%來提升看是否解決,同時還須要增長鏈接池和調整執行線程數,(鏈接池數*Statement Cache Size)的值應該小於等於oracle數據庫鏈接數最大值;
二、若是方法一操做後沒有變化,此時須要去查看服務器操做系統中是否對鏈接數作了限制,AIX下能夠直接vi文件limits修改其中的鏈接限制數,還有tcp鏈接等待時間間隔大小,wiodows相似,只不過wendows修改註冊表,具體修改方法查手冊,註冊表中有TcpDelayTime項;
33.
問題描述open many files
答:問題通常都在壓力較大的時候出現,因爲服務器或者應用中間件自己對於打開的文件數有最大值限制形成,解決辦法:
一、修改操做系統的文件數限制,aix下面修改limits下的nofiles限制條件,增大或者設置爲沒有限制,儘可能對涉及到的服務器都做修改;
二、方法一解決不了狀況下再去查看應用服務器weblogic的commonEnv.sh文件,修改其中的nofiles文件max-nofiles數增大,應該就能夠經過了,具體就是查找到nofiles方法,修改其中else條件的執行體,把文件打開數調大;修改前記住備份此文件,防止修改出錯;
34.
問題描述has shut down the connection prematurely
通常是在訪問應用服務器時出現,大用戶量和小用戶量均會出現;
來自網上的解釋:
1> 應用訪問死掉。小用戶時:程序上的問題。程序上存在數據庫的問題
2> 應用服務沒有死
應用服務參數設置問題
例如:
在許多客戶端鏈接Weblogic應用服務器被拒絕,而在服務器端沒有錯誤顯示,則有多是Weblogic中的server元素的AcceptBacklog屬性值設得太低。若是鏈接時收到connection refused消息,說明應提升該值,每次增長25%
Java鏈接池的大小設置,或JVM的設置等
3> 數據庫的鏈接
在應用服務的性能參數可能過小了
數據庫啓動的最大鏈接數(跟硬件的內存有關)
以上信息有必定的參考價值,實際狀況能夠參考此類調試。
若是是以上所說的小用戶時:程序上的問題。程序上存在數據庫的問題,那就必須採用更加專業的工具來抓取出現問題的程序,主要是程序中執行效率很低的sql語句,weblogic能夠採用introscope定位,期間能夠注意觀察一下jvm的垃圾回收狀況看是否正常,我在實踐中併發500用戶和600用戶時曾出現過jvm鋸齒型的變化,上升降低都很快,這應該是不太正常的。
35.
問題描述Failed to connect to server
這個問題通常是客戶端連接到服務失敗,緣由有兩個客戶端鏈接限制(也就是壓力負載機器),一個網絡延遲嚴重,解決辦法:
一、修改負載機器的tcpdelaytime註冊表鍵值,改小;
二、檢查網絡延遲狀況,看問題出在什麼環節;
建議爲了減小這種狀況,辦法一最好測試前就完成了,保證乾淨的網絡環境,每一個負載機器的壓力測試用戶數不易過大,儘可能平均每臺負載器的用戶數,這樣以上問題出現的機率就很小了。
36.
問題描述:Overlapped transmission of request to ... WSA_IO_PENDING
解決方法:
一、方法一,在腳本前加入web_set_sockets_option("OVERLAPPED_SEND", "0"),禁用TTFB細分,問題便可解決,可是TTFB細分圖將不能再使用,附圖。
二、方法二,能夠經過增長鏈接池和應用系統的內存,每次增長25%。
37.
問題描述:Deleted the current transaction ... since response time is not accurate
這個問題很少碰見,通常出如今壓力機器上發生ping值爲負數(AMD雙核CPU),能夠從新啓動pc機或者打補丁,附圖。
38.
問題描述:HTTP Status-Code=500 (Internal Server Error) for
一、應用服務當掉,從新啓動應用服務。
二、當應用系統處於的可用內存處於閥值如下時,出現HTTP Status-Code=500的機率很是高,此時只要增長應用系統的內存,問題便可解決。
39.
問題描述:Failed to transmit data to network: [10057] Socket is not connected
這個錯誤是由網絡緣由形成的,PC1 和PC2上面都裝了相同的loadrunner 9.0,且以相同數量的虛擬用戶數運行相同的業務(機器上的其餘條件都相同),PC1上面有少部分用戶報錯,PC2上的用戶所有執行經過。
40.
問題描述:Error -27257: Pending web_reg_save_param/reg_find/create_html_param[_ex] request(s) detected and reset at the end of iteration number 1
解決方法:web_reg_save_param位置放錯了,應該放到請求頁面前面。
41.
問題描述:經過Controler調用遠程代理時報錯,Error: CCI security error:You are running under secure mode and the function system is not allowed in this mode.
解決方法:在代理開啓的時候,去掉勾選防火牆選項。
42.Error -27796: Failed to connect to server "10.102.8.201:80": [10048] Address already in use
Try changing the registry value
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\tcpip\Parameters\TcpTimedWaitDelay to 30and HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\tcpip\Parameters\MaxUserPort to 65534 and rebooting the machine
See the readme.doc file for more information
解決辦法:由於負載生成器的性能太好,發數據包特別快,服務器也響應特別快,從而致使負載生成器的機器的端口在沒有timeout以前就所有佔滿了。在所有佔滿後,就會出現上面的錯誤。執行netstat –na命令,能夠看到打開了不少端口。因此就調整TCP的time out。即在最後一個端口尚未用到時,前面已經有端口在釋放了。
1. 打開LoadRunner負載機所在機器的註冊表,將HKEY_LOCAL_MACHINESystemCurrentControlSetServicestcpipParameters項中的TcpTimedWaitDelay值設置爲5s或者其它(按須要調整)也能夠把MaxUserPort值調大(若是這個值不是最大值的話),同時增長腳本的think time,再重啓機器。
2.取消勾選controller的run-setting-times-browser-browser emulation 「simulate a new user on each iteration」項。
43.Action.c(6): Error -27792: Failed to transmit data to network: [10054] Connection reset by peer
解決辦法:腳本和場景迭代延遲時間設置要相同
44.Files transfer error: C:\Documents and Settings\Administrator.SCMCC\Local Settings\Temp\brr_YAR.313\netdir\e\
測試組\生產環境\UUC接口\uuc_shell\綜合場景2\results\res\10.101.11.82_2073.eve
Write failure on machine 10.101.11.82. Check the available disk space.
All Vusers on this machine will stop running
Error: Failed to write data to the .eve file. Check that the remote host has enough disk space: system error -
磁盤空間不足
Error: Failed returning to the last proper record in the .eve file: "C:\Documents and Settings\Administrator.SCMCC\Local Settings\Temp\brr_YAR.313\netdir\e\
測試組\生產環境\UUC接口\uuc_shell\綜合場景2\results\res\10.101.11.82_2073.eve".
解決辦法:壓力機磁盤空間不足形成的。
45.Action.c(38): Error -27492: "HttpSendRequest" failed, Windows
error
code=12002 and retry limit (0) exceeded for URL
解決辦法:在runtime setting中的preferences- ->options-->http-request connect timeout(sec)的值設爲999。
46.Action.c(6): Error -26612: HTTP Status-Code=500 (Internal Server Error) for http://192.168.0.8:10001/logonConsole.do;jsessionid={JSESSIONID2}
解決辦法:形成HTTP-500錯誤以下幾個可能:
一、運行的用戶數過多,對服務器形成的壓力過大,服務器沒法響應,則報HTTP500錯誤。減少用戶數或者場景持續時間,問題獲得解決。
二、該作關聯的地方沒有去作關聯,則報HTTP500錯誤。進行手工或者自動關聯,問題獲得解決。
三、錄製時請求的頁面、圖片等,在回放的時候服務器找不到,則報HTTP500錯誤,若該頁面可有可無,則能夠在腳本中註釋掉,問題將會獲得解決。例如:有驗證碼的狀況下,儘管測試時已經屏蔽了,可是錄製的時候提交了請求,但回放的時候不存在響應。
四、參數化時的取值有問題,則報HTTP500錯誤。可將參數化列表中的數值,拿到實際應用系統中進行測試,可排除問題。
五、更換了應用服務器(中間件的更換,如tomcat、websphere、jboss等),仍是利用原先錄製的腳本去運行,則極可能報HTTP500錯誤。由於各類應用服務器處理的機制不同,所錄製的腳本也不同,解決辦法只有從新錄製腳本。
六、Windows xp2 與ISS組件不兼容,則有可能致使HTTP500錯誤。對ISS組件進行調整後問題解決。
七、系統開發程序寫的有問題,則報HTTP500錯誤。例若有些指針問題沒有處理好的,有空指針狀況的存在。修改程序後問題解決。
47.Action.c(15):
錯誤-27496: 內部錯誤(呼叫客戶服務): _eStat (7) != LRW_ITEM_STAT_ENUM_UNHANDLED for HandledTask at 048E180C
Action.c(56): Error -27995: Requested link ("Text=
計劃
管理
") not found [MsgId: MERR-27995]
解決方法:在IE中的工具—>Internet選項—>高級—>HTML設置中選擇第二個腳本類型。
48.
錯誤 -27279:內部錯誤(呼叫客戶服務):Report initialization failed ,
error
code = -2147467259 [MsgId : MERR-27279 ]
解決辦法:建議重裝一下LR。這種問題有可能和你安裝有關.dll文件出錯不是說寫的程序就能修改的。
49. Error -10489 : Exception was raised when calling per-thread-terminate function
在用Loadrunner實施性能測試時,採用Goal模式加壓,存在若是持續長時加壓時LoadRunner的Controller會報 Error -10489 : Exception was raised when calling per-thread-terminate function錯誤;
產生緣由:
Unlike the earlier Windows versions, Windows 2000 and Windows XP have the default environment set to C:\Document and Settings\<user-name>\Local Settings\Temp instead of C:\Windows\temp. This long path with a space can cause several problems for LoadRunner. To resolve the issue, change to a directory without empty spaces。
解決方法:在C盤(或是其它盤都可以)新建TEMP文件夾(爲了後續設置臨時文件準備),右鍵"個人電腦"->高級->環境變量->編輯修改TEMP變量目錄,指身上面新建的目錄,如個人指向C:\TEMP->保存便可。
50.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、應用服務參數設置太大致使服務器的瓶頸
B、頁面中圖片太多
C、在程序處理表的時候檢查字段太大或多
51.Action.c(16): Error -27728: Step download timeout (120 seconds) has expired when downloading non-resource(s)
。
錯誤分析:對於HTTP協議,默認的超時時間是120秒(能夠在LoadRunner中修改),客戶端發送一個請求到服務器端,若是超過120秒服務器端尚未返回結果,則出現超時錯誤。
解決辦法:首先在運行環境中對超時進行設置,默認的超時時間能夠設置長一些,再設置屢次迭代運行,若是還有超時現象,須要在"Runtime Setting">"Internet Protocol:Preferences">"Advanced"區域中設置一個"winlnet replay instead of sockets"選項,再回放是否成功。
52
、Action.c(38): Error -27492: "HttpSendRequest" failed, Windows
error
code=12002 and retry limit (0) exceeded for URL
解決辦法:在runtime setting中的preferences- ->options-->http-request connect timeout(sec)的值設爲999。
53
、Action.c(81):Continuing after Error -27498: Timed out while processing URL=http://172.18.20.70:7001/workflow/bjtel/leasedline/ querystat/ subOrderQuery.do
錯誤分析:這種錯誤經常是由於併發壓力過大,服務器端太繁忙,沒法及時響應客戶端的請求而形成的,因此這個錯誤是正常現象,是壓力過大形成的。若是壓力很小就出現這個問題,多是腳本某個地方有錯誤,要仔細查看腳本,提示的錯誤信息會定位某個具體問題發生的位置。
解決辦法:例如上面的錯誤現象問題定位在某個URL上,須要再次運行一下場景,同時在其餘機器上訪問此URL。若是不能訪問或時間過長,多是服務器或者此應用不能支撐如此之大的負載。分析一下服務器,最好對其性能進行優化。若是再次運行場景後還有超時現象,就要在各類圖形中分析一下緣由,例如能夠查看是否服務器、DNS、網絡等方面存在問題。最後,增長一下運行時的超時設置,在"Run-Time Settings">"Internet Protocol:Preferences"中,單擊"options",增長"HTTP-request connect timeout" 或者"HTTP-request receive"的值。
54
、用strtok函數分割字符串
須要在loadrunner裏面得到「15」(下面紅色高亮的部分),並作成關聯參數。
//Body response 內容: <BODY><; PRE>//OK[8,7,5,15,6,5,0,4,0,3,0,3,2,0,0,0,1
用web_reg_save_param取出「8,7,5,15,6,5,0,4,0,3,0,3,2,0,0,0,1」這一段,而後用strtok函數切割出一個個數字,第四個數字就是要找的值
例如:
extern char * strtok(char * string, const char * delimiters ); // Explicit declaration
char separators[] = ",";
char * token;
lr_save_string("1,2,3,4,5,6","str");
token = (char *)strtok(lr_eval_string("{str}"), separators); // Get the first token
if (!token) {
lr_output_message ("No tokens found in string!");
return( -1 );
}
while (token != NULL ) { // While valid tokens are returned
lr_output_message ("%s", token );
token = (char *)strtok(NULL, separators); // Get the next token
}
55
、測試RTMP協議應該在LoadRunner選擇什麼協議來錄製?
解決辦法:用flex協議,有這幾個函數可用:
flex_rtmp_connect Connects a client to an RTMP server and sets connection options.
flex_rtmp_disconnect Disconnects a client from an RTMP server.
flex_rtmp_send Sends messages to an RTMP server.
flex_rtmp_receive Receives responses from an RTMP server
Flex can record and replay scripts involving RTMP (Real Time Messaging Protocol). In order to enable RTMP simulation, you must configure the recording options for the Flex protocol.
To enable RTMP:
1 Open the Recording Options dialog box by selecting Tools > Recording Options or clicking the Options button in the Start Recording dialog box.
2 In the Network > Port Mapping node click Options.
3 Set the Send-Receive buffer size threshold to 1500.
56
、如何在LoadRunner中運行QTP腳本?
一、運行準備:
1)勾選QTP的Tools--Options--Run的"Alow other Mercury products to run tests and components"
2)錄製須要在lr中運行的QTP腳本,而且在QTP腳本中設置事務,Services.StartTransaction "start"與Services.EndTransaction "start"
二、運行QTP腳本
在LR中運行時選擇QTP腳本,爲QTP腳本存放目錄下文件擴展名爲.usr的文件。
注:LR中運行QTP腳本時,只能有一個Vuser,不然將報錯:
The load generator is currently running the maximum number of Vusers of this type
57
、在LR中如何忽略Socket接收數據的驗證
在LR中對Socket進行性能測試時,LR會本身判斷lrs_receive回來的數據的長度,而若是長度不符的話會有時間延遲的狀況(這是性能測試徹底不能接受的事情),若是作到這一點呢,通過反覆嘗試,發現一種簡單的方法(用*代替具體的長度):
相似於將:
recv buf1 12
"Hello, Denny"
改成:
recv buf1 *
"Hello, Denny"
一切OK。
58
、LoadRunner9.5的Controller中不能添加Apache的監控
在C:\Program Files\HP\LoadRunner\dat\online_graphs中找到online_resource_graphs.rmd文件,修改[Apache]部分中的EnableInUI爲1
參考:
http://forums11.itrc.hp.com/service/forums/questionanswer.do?admit=109447626+1274450165814+28353475&threadId=1229523
59
、VB Vuser開發ADO腳本,提示「user-defined type not defined」
想在VB Vuser寫入模擬數據操做的過程,而後在VB Vuser裏定義了這個全局變量
Private m_Conn As ADODB.Connection '鏈接對象
Private m_Reco As ADODB.Recordset '結果集
可是在VB Vuser中不識別這個對象,報出user-defined type not defined
須要在Run-Time 設置中的VBA部分把ADO的庫選上
若是用VB Script虛擬用戶來開發就不要,直接用CreateObject來建立ADO對象便可
60
、loadrunner9.5錄製腳本時出現c:\PROGRA~1\MICROS~1\office12\Grooveutil.DLL時出錯內存位置訪問無效
解決辦法:Office2007的問題,IE加載項禁用Groove GFSBrowser Helper 組件
61
、LR自帶的例子端口號怎麼修改?
LR自帶的例子端口號是1080,我怎麼樣把這個端口設置我本身想用的端口號8088,在什麼地方設置
在LR安裝目錄下,找到Xitami.config文件,找到portbase,能夠修改它(默認是1000);默認的端口號是portbase+80;要把端口號改爲8088,就把portionbase改成8008,保存以後就是了(8088=8008+80)。
62
、用Web_reg_find查找中文字符串時查找不到?
解決辦法:腳本文件裏有個default.cfg ,裏面有個參數是 UTF8InputOutput ,將其值改成0
63
、替代IP Wizard的腳本
http://hi.baidu.com/higkoo/blog/item/39bbb21bc33d76dcac6e751c.html
LoadRunner自帶的「IP Wizard」用起來很是麻煩,要不停的點,重要的是最後還必須重啓系統生效。
因而乎寫個腳本替代之:
1. 假設客戶端IP爲 192.168.10.31
2. 假設服務端IP爲 192.168.10.10
3. 須要模擬的IP爲 110.119.120.122
那麼,客戶端提供添加虛擬IP的BAT腳本:
netsh interface ip add address 本地鏈接 110.119.120.122 255.255.0.0
對應的刪除設置爲:
netsh interface ip del address 本地鏈接 110.119.120.122
對應服務器添加虛擬路由的Shell腳本:
route add -host 110.119.120.122 gw 192.168.10.31
刪除路由的腳本:
route del -host 110.119.120.122 gw 192.168.10.31
這樣就很是方便了,不用重啓任何機器,執行腳本就生效,再執行腳本就取消。
64
、如何從命令行調用LoadRunner腳本?
Here is the command line that you need to execute to run a VuGen script from the command prompt:
<LoadRunner>\bin\mmdrv.exe -usr <path to usr file>
Note:
In order to get all the other options that go with the command, run mmdrv.exe from the command prompt without any options.
65
、請問"int64這個類型,在LR中怎麼表示"。我將一段C的代碼放在LR中,LR不認int64這個類型,怎麼解決?
解決辦法:把那段C代碼作成DLL,而後在LR中調用。
66. Action.c(4): 錯誤:未找到套接字描述符。提示: 能夠採用如下方法解決該問題: (1) 將運行時設置更新爲「將 Vuser 做爲進程運行」。(2) 向 mdrv.dat 的 [lr_socks] 部分添加如下行: 'ExtCmdLineConc=-UsingWinInet Yes'。解決辦法:關閉 「場景」-> 「IP 欺騙器」便可
[轉] 不知道如何查看loadrunner運行日誌請往這裏看
http://bbs.51testing.com/thread-112085-1-1.html
日誌分兩種
1。在VUGEN中運行後的日誌
2。在controller中運行後的日誌
日誌設置分兩步:
1。首先,在VUGEN或controller中run-time setting, 選中always send message,再選擇 extended log-data returned by server.這樣能夠看到從server返回的信息。
2。選擇日誌文件路徑。
對於VUGEN運行後產生的日誌,日誌文件放在usr文件一個目錄下,以.log 和.txt結尾,例如mdrv.log ,output.txt
對於controller的日誌文件,results>>results settings 中能夠設置文件位置
Loadrunner日誌設置與查看
http://www.blogjava.net/qileilove/archive/2013/10/24/405588.html
1.打開EXtended Log
Log告訴了咱們一切,默認的Log是standard Log,這時遠遠不夠的.咱們要extended log,打開路徑爲runtime settings-->log-->extended log.把parameter substitution和data returned byserver和advanced trace你們根據須要勾選吧.
2.log文件位置,特別是controll執行後,怎麼看log。這裏一一說明一下:
(1)vgen的runtime settings設置:在vgen中,咱們必須寫輸出函數輸出信息,將咱們所想要了解的信息用函數輸出,主要有這麼幾個函數輸出信息:lr_output_message,lr_error_message,lr_log_message。這些函數請參閱 help-->function reference.
其次,咱們要在runtime settings中設置,勾選always send messages,具體的作法是:runtime settings--->log-->always send messages,這樣咱們才能寫出Log,在咱們的腳本所在的文件夾中,有兩個文件很重要,mdrv.log.txt和output.txt文件,lr_log_message只會把信息輸到mdrv.log文件中,而lr_output_message則會寫進以上兩個文件。
(2)controller的runtime settings設置:在controller咱們也要設置runtime settings,這樣才能在場景運行後查看相應
日誌,並且每一個用戶組的runtime settings都有設置。設置的方法是:在controller的design標籤頁中,右下角的部分有runtime settings按鈕,咱們點擊它,設置的方法與在vgen中同樣的。不少朋友都會想知道屢次迭代,參數是否正確的導入了呢,咱們依舊查看log,咱們在執行結束後,查看結果目錄的Log文件夾,若是是負載生成器運行的話,則在tmp目錄。
在Windows環境下,日誌文件output.txt保存在腳本目錄中;在UNIX環境下,保存在標準輸出中。
【Vuser】——【Run Time Settings】——【General】——【Log】
一、【Enable logging】啓動日誌功能;(建議運行場景進行負載
測試時關閉此項)
二、【Send messages only when an error occurs】僅發送出錯時的日誌,可設置緩存大小(默認1KB);
三、【Always send message】發送全部日誌;
四、【Standard log】標準日誌,腳本運行時發送函數信息;
【Extended log】擴展日誌:
五、【Parameter substitution】腳本運行時,在【Replay log】顯示參數信息、參數值;
六、【Data returned by
server】記錄服務器返回的全部數據;
七、【Advanced trace】多用於腳本調試,記錄VU在運行期間發送的全部函數信息。
|
========================================
【Replay log】顯示的日誌顏色:
一、紅色:錯誤信息;
二、橙色:迭代信息;
三、藍色:事件信息;
四、黑色:輸出信息;
五、綠色:字符信息。
========================================
輸出函數:
一、lr_log_message() // 輸出信息,並記錄到 output.txt 中
二、lr_output_message() // 輸出信息,不記錄到日誌文件中
三、lr_message() // 輸出信息,不記錄到日誌文件中
四、lr_error_message() // 輸出信息,不記錄到日誌文件中
|
怎樣限制「LoadRunner Agent」的鏈接 /
http://bbs.51testing.com/thread-145024-1-1.html
方法一:
利用自定義vbs腳本經過telnet遠程登陸機器中止"LoadRunner Agent Service"服務便可
C:\Users\Lindows\Desktop\mstsc\StartAndStopVMS\
操做步驟說明:
一、解壓StartAndStopVMS於D盤下
二、批量啓動10.19.95.1~18上的LR agent服務,在dos下執行start0_18.vbs
三、批量中止10.19.95.1~18上的LR agent服務,在dos下執行stop0_18.vbs
如須要增長或者減小須要啓停的Agent,須要作以下操做(假設遠程機器上的LR及Agent已經安裝好):
增長:
一、agent所在機器設置LR agent爲Service啓動。啓動後服務名稱爲"LoadRunner Agent Service"
二、agent所在機器啓動telnet服務
三、在控制機器的StartAndStopVMS目錄下,建立啓停該agent的vbs腳本(拷貝原來的start10.19.95.1.vbs等來改)
四、在start0_18.vbs腳本中添加該臺機器的啓停命令
減小:
直接在stop0_18.vbs中刪掉相應的命令便可。若有須要能夠將agent所在機器的telnet服務也關掉
注意:在運行vbs腳本的過程當中dos窗口不要切換,運行執行完成才能夠動。平均啓停一臺服務的時間大概爲20秒左右
多臺Loadrunner機器批量啓動Loadrunner agent服務總控制腳本
文件:loadrunner_agent_start_all.vbs
- set sh=WScript.CreateObject("WScript.Shell")
- WScript.Sleep 1000
- sh.SendKeys "D:{ENTER}"
- WScript.Sleep 1000
- sh.SendKeys "cd D:\StartAndstartVMS{ENTER}"
- WScript.Sleep 1000
- sh.SendKeys "dir{ENTER}"
- WScript.Sleep 1000
- '調用Loadrunner機器95.1
- sh.SendKeys "start10.19.95.1.vbs{ENTER}"
- WScript.Sleep 20000
- sh.SendKeys "{ENTER}"
- WScript.Sleep 1000
- sh.SendKeys "echo 10.19.95.1start success {ENTER}"
- WScript.Sleep 1000
- '調用Loadrunner機器95.2
- sh.SendKeys "start10.19.95.2.vbs{ENTER}"
- WScript.Sleep 20000
- sh.SendKeys "{ENTER}"
- WScript.Sleep 1000
- sh.SendKeys "echo 10.19.95.2start success {ENTER}"
啓動單臺windows機器的Loadrunner Agent Service腳本
文件1:start10.19.95.1.vbs
- set sh=WScript.CreateObject("WScript.Shell")
- WScript.Sleep 1000
- sh.SendKeys "telnet 10.19.95.1{ENTER}"
- WScript.Sleep 1000
- sh.SendKeys "y{ENTER}"
- WScript.Sleep 1000
- '輸入用戶名
- sh.SendKeys "administrator{ENTER}"
- WScript.Sleep 1000
- '輸入密碼
- sh.SendKeys "123456{ENTER}"
- WScript.Sleep 1000
- '啓動Loadrunner服務
- sh.SendKeys "net start ""LoadRunner Agent Service""{ENTER}"
- WScript.Sleep 10000
- sh.SendKeys "exit{ENTER}"
文件2:start10.19.95.2.vbs
- set sh=WScript.CreateObject("WScript.Shell")
- WScript.Sleep 1000
- sh.SendKeys "telnet 10.19.95.2{ENTER}"
- WScript.Sleep 1000
- sh.SendKeys "y{ENTER}"
- WScript.Sleep 1000
- '輸入用戶名
- sh.SendKeys "administrator{ENTER}"
- WScript.Sleep 1000
- '輸入密碼
- sh.SendKeys "123456{ENTER}"
- WScript.Sleep 1000
- '啓動Loadrunner服務
- sh.SendKeys "net start ""LoadRunner Agent Service""{ENTER}"
- WScript.Sleep 10000
- sh.SendKeys "exit{ENTER}"
多臺Loadrunner機器批量中止Loadrunner agent服務總控制腳本
文件:loadrunner_agent_sotp_all.vbs
- set sh=WScript.CreateObject("WScript.Shell")
- WScript.Sleep 1000
- sh.SendKeys "D:{ENTER}"
- WScript.Sleep 1000
- sh.SendKeys "cd D:\StartAndstartVMS{ENTER}"
- WScript.Sleep 1000
- sh.SendKeys "dir{ENTER}"
- WScript.Sleep 1000
- '調用Loadrunner機器95.1
- sh.SendKeys "stop10.19.95.1.vbs{ENTER}"
- WScript.Sleep 20000
- sh.SendKeys "{ENTER}"
- WScript.Sleep 1000
- sh.SendKeys "echo 10.19.95.1stop success {ENTER}"
- WScript.Sleep 1000
- '調用Loadrunner機器95.2
- sh.SendKeys "stop10.19.95.2.vbs{ENTER}"
- WScript.Sleep 20000
- sh.SendKeys "{ENTER}"
- WScript.Sleep 1000
- sh.SendKeys "echo 10.19.95.2start success {ENTER}"
中止單臺windows機器的Loadrunner Agent Service腳本
文件1:stop10.19.95.1.vbs
- set sh=WScript.CreateObject("WScript.Shell")
- WScript.Sleep 1000
- sh.SendKeys "telnet 10.19.95.1{ENTER}"
- WScript.Sleep 1000
- sh.SendKeys "y{ENTER}"
- WScript.Sleep 1000
- '輸入用戶名
- sh.SendKeys "administrator{ENTER}"
- WScript.Sleep 1000
- '輸入密碼
- sh.SendKeys "123456{ENTER}"
- WScript.Sleep 1000
- '中止Loadrunner服務
- sh.SendKeys "net stop ""LoadRunner Agent Service""{ENTER}"
- WScript.Sleep 10000
- sh.SendKeys "exit{ENTER}"
文件2:stop10.19.95.2.vbs
- set sh=WScript.CreateObject("WScript.Shell")
- WScript.Sleep 1000
- sh.SendKeys "telnet 10.19.95.2{ENTER}"
- WScript.Sleep 1000
- sh.SendKeys "y{ENTER}"
- WScript.Sleep 1000
- '輸入用戶名
- sh.SendKeys "administrator{ENTER}"
- WScript.Sleep 1000
- '輸入密碼
- sh.SendKeys "123456{ENTER}"
- WScript.Sleep 1000
- '啓動Loadrunner服務
- sh.SendKeys "net stop ""LoadRunner Agent Service""{ENTER}"
- WScript.Sleep 10000
- sh.SendKeys "exit{ENTER}"
LR接口性能測試提示Code - 60990 Error: Two Way Communication Error: Function two_way_comm_post_message / two_
LR:接口性能測試時提示:Code-29723 Error: Failed to deliver a p2p message from parent to child process, reason
http://bbs.51testing.com/thread-128773-1-1.html
http://blog.csdn.net/he_jian1/article/details/41513909
http://blog.csdn.net/he_jian1/article/details/41513767
我今天也遇到了,搜尋了網上的解決方案
Error: Two Way Communication Error:
Function two_way_comm_post_message/two_way_comm_post_message_ex failed.
緣由:
共享內存緩存溢出,形成Controller和Load Generator之間通信出現問題。
解決方案:
修改兩個配置文件。
1. $installation folder$\dat\channel_configure.dat
2. $installation folder$\launch_service\dat\channel_configure.dat
在這兩個文件中的[general]部分下添加以下配置。
shared_memory_max_size=100 (修改共享內存爲100MB,默認是50MB)
從新啓動Controller,問題解決。
但對於個人,好像不適用呀!尚未解決!
我是win7系統,lr11版本的,運行100vuser,持續10分鐘,無思考時間。
共執行事務成功2128,沒有失敗的事務,但報錯30。
測試項目:MYSQL與DB2數據庫CRUD性能對比
項目時間: 2013 11至 2013 12
測試環境:Linux+tomcat+DB2+MYSQL
測試工具:Loadrunner
項目描述:系統是爲處相關的請求。
責任描述:肯定測試計劃的目的和策略(相同場景對比DB2和MYSQL的相關性能指標)後,再針對系統進行性能測試。
優化點:查詢MSQL的時候出現了性能瓶頸,對於問題分析後發現因爲未使用鏈接池而不停的建立數據庫鏈接,因此致使DB2的CPU資源大部分用於鏈接。更改代碼後使用C3P0鏈接池問題解決。
loadrunner 處理 HTTPS / ssl / 證書 / cer / pem
http://blog.163.com/faye422@126/blog/static/35518992201251910195554/
HTTPS(Secure Hypertext Transfer Protocol)安全超文本傳輸協議
它是一個安全通訊通道,它基於HTTP開發,用於在客戶計算機和服務器之間交換信息。它使用安全套接字層(SSL)進行信息交換,簡單來講它是HTTP的安全版。
在使用https協議無論是服務器端仍是客戶端都須要使用到ca證書來進行訪問。
通常來講,性能測試爲所常見的爲客戶端使用https打開頁面的方式。
在這個狀況下,首先是處理https訪問過程當中的證書
1. 證書的準備
常見的證書爲:*.pfx格式,該種格式的證書能夠經過雙擊運行安裝到IE瀏覽器上。用戶在訪問的時候就可使用到。
但這種證書並非LoadRunner所使用的類型,所以須要對其進行轉換。將其轉換爲*.pem格式。
轉換方法以下:
? 安裝openssl後
? 運行C:\<OpenSSL>/bin文件夾的openssl二進制文件,它將啓動OpenSSL命令提示符
? 執行如下命令:pkcs12 -in D:\test1.pfx -out D:\test01.pem –nodes
? 執行後,將會在指定目錄生成test01.pem文件,這個文件將會在下一個步驟,對LoadRunner進行配置的時候使用到。
2.LR配置
啓動LoadRunner,打開Recording Option選項。
留意紅色框中的選項。
選擇後,單擊New Enty
紅框中的配置爲服務器的ip和端口號,按照測試所須要的實際地址進行配置就能夠
配置後,將Use specified client-side certificate[Base64/PEM]鉤選,爲使用客戶端證書訪問。
單擊...選擇剛剛轉換生成的客戶端證書。
若是你爲證書有設置密碼,在這裏也須要輸入。
到此爲止全部與http區別的配置就完成了。
錄製後,能夠在腳本的開始,看到LoadRunner新生成的語句
web_set_certificate_ex("CertFilePath=test01.pem",
"CertFormat=PEM",
"KeyFilePath=test01.pem",
"KeyFormat=PEM",
"Password=123456",
"CertIndex=1",
LAST);
下面的操做和普通的頁面性能測試同樣。
loadrunner中對https證書的配置
http://blog.sina.com.cn/s/blog_69d2c56c0102uydd.html
一、先訪問要壓測的網站地址,從瀏覽器中將證書導出,或者直接找開發人員要這個證書;
通常證書是cer格式;
二、由於loadrunner只支持pem格式的證書,因此要將證書轉換格式;
這裏就須要用到openssl工具,進入cmd命令窗口,進入openssl的安裝目錄,輸入命令將證書轉換爲pem格 式,詳情請參考上面兩篇博文;
三、獲得pem格式的證書以後,在loadrunner->vuser窗口->tools->Port Mapping頁面進行設置:
先點擊New Entry按鈕,以下圖所示:
進入Entry配置窗口,進行配置,以下圖所示
四、配置完畢後,錄製腳本,正常狀況下,錄製的腳本前面會出現證書信息,以下所示:
web_set_certificate_ex("CertFilePath=admin149.pem",
"CertFormat=PEM",
"KeyFilePath=admin149.pem",
"KeyFormat=PEM",
"Password=123456",
"CertIndex=1",
LAST);
http://blog.csdn.net/he_jian1/article/details/40781521
問題1:
Error: Exception was raised when calling event-notify Vuser function in extension parameng.dll: System Exceptions: EXCEPTION_ACCESS_VIOLATION
解決方法:
Exception was raised when calling event-notify Vuser function in extension parameng.dll: System Exceptions: EXCEPTION_ACCESS_VIOLATION
可能出現的緣由:
Controller doesn’t support parameter files larger than 20 megs.
控制器不支持參數文件大於20M的大小
解決方法:Contact support and request the private patch created for this problem for LoadRunner 9.5.2, For LoadRunner 11 the issue is resolved on patch 4.
下載補丁
如無解決:其它方法:在C 盤新建一個TEMP目錄,把環境變量TMP,TEMP的值設置成問題2:
Error:Abnormal termination, caused by mdrv process termination.
解決辦法: 把線程改成進程;
Run vusers as process instead of threads.Please go to Runtime Settings > Miscellaneous > Multithreading > RunVuser as a process.
問題3:
error :Two Way Communication Error: Function two_way_comm_post_message 緣由:
共享內存緩存溢出,形成Controller和Load Generator之間通信出現問題。
解決方案: 修改兩個配置文件。
1. $installation folder$\dat\channel_configure.dat
2. $installation folder$\launch_service\dat\channel_configure.dat 在這兩個文件中的[general]部分下添加以下配置。
shared_memory_max_size=100 (修改共享內存爲100MB,默認是50MB) 從新啓動Controller,問題解決。
問題4:在Controller中運行腳本時出現異常:Failed to Stop. Reason: TimeOut
緣由: 初始化timeout錯誤:這個問題,緣由是由於某個虛擬用戶在transaction初始化時超時了。 解決辦法:將controller------tools------timeout-----vuser---init時間設大些,默認爲120,如設爲600解決
此問題
問題5:(引發問題2的其餘可能的緣由)
運行場景後,提示「Abnormal termination, caused by mdrv process termination」,服務端沒有掛,仍可正常訪問,且在運行場景時,沒有自動重啓。找下了,網上的答案緣由多是如下:
1. The Host machine ( Load generator) is running too many Vusers as a result
of which it system resources are being maximized. ( i.e. Consistent over 90% CPU and Memory utilization). The mdrv process does not get enough resources to process the request as a result it fails
2. If you have Custom C coding, there is a possibility of allocated memory not
being freed or memory violation errors which can lead to 'mdrv process termination'.
3. Replay the script with think time.
4. Turn off extended log when running the script in the controller.
5. Do not use the controller itself as the loadgenerator. i.e. have a remote
LoadGenerator.
6. Introduce iteration pacing, if running more than one iteration each vuser.
7. Open the file loadrunner installation\config\wlrun7.ini in a text editor,
modify the entry from: AgentMaxThreadsPerDriver=50 to AgentMaxThreadsPerDriver=20 or 10
8. Run Agent as process instead of service Launch command prompt and navigate
to C:\Program Files\Mercury\Loadrunner\Launch_service\bin and run the command magentserive -remove. This will remove the agent. Now run the command magentproc -install This will install the agent as a process.
9. Run vusers as process instead of threads.Please go to Runtime Settings >
Miscellaneous > Multithreading > RunVuser as a process.
Loadrunner 9.5/11 java vuser環境配置問題(已解決)
http://blog.csdn.net/achang21/article/details/45540483
Loadrunner 9.5/11 使用java 開發vsuer script須要的環境配置
本文從兩個方面來說:windows 32位操做系統;windows 64 操做系統
開始以前,先說下java環境變量配置(共3處):
(1)JAVA_HOME: C:\Program Files\Java\jdk1.6.0_45 (請根據實際狀況配置)
(2)PATH: %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
(3)CLASSPATH: .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar(前邊是點號分號)
1、windows 32位操做系統安裝Loadrunner 9.5/11 使用java vuser 必要的配置
(1)操做系統:windows 32位系統(windows7 32 位 測試經過)
(2)JDK版本:jdk1.6 32位(jdk1.6測試經過,目前LR不支持1.7及以上的)
(3)對jdk1.7及以上開發的腳本,運行會報錯,緣由 LR不支持JDK1.7及以上,若是環境OK,須要新建測試腳本。
這幾點很是重要,否則會報各類問題的錯誤,例如:
Error: Java VM internal error:Error Loading javai.dll.
.[MsgId: MERR-22995]
Warning: Extension java_int.dll reports error -1 on call to function ExtPerProcessInitialize[MsgId: MWAR-10485]
Error: Thread Context: Call to service of the driver failed, reason - thread context wasn't initialized on this thread.[MsgId: MERR-10176]
2、 windows 64 位操做系統安裝Loadrunner 9.5/11 使用java vuser 必要的配置
(1) 操做系統 windows 64(windows 7 64位測試經過)
(2) jdk 1.6 必須是32位的(雖然操做系統是64位的),不能是64位jdk,目前jdk 1.6 32位的再windows 7 64位上測試經過。
64位系統 安裝64位jdk 1.6,運行腳本會報以下錯誤:
Error: Failed to find java.exe.
Please add the <JDK>\bin to the path and try again.[MsgId: MERR-22968]
Warning: Extension java_int.dll reports error -1 on call to function ExtPerProcessInitialize[MsgId: MWAR-10485]
Error: Thread Context: Call to service of the driver failed, reason - thread context wasn't initialized on this thread.[MsgId: MERR-10176]
特別強調:
以上兩點很是重要,請你們覈對本身的配置。
OpenStack平臺 Windows 2008 系統LoadRunner 11 系統所在物理機raid磁盤整列卡異常問題
http://dl2.iteye.com/upload/attachment/0115/0103/812eb9ac-3d48-37c4-818a-65ac08509b0d.png
![](http://static.javashuo.com/static/loading.gif)
咱們的數據庫中包含82個不一樣的文件的文件名viostor.sys的 but this page contains information about single file with specific attributes. If you want to see general information about the viostor.sys then visit General Information Page . You can also check most distributed file variants with name viostor.sys. 此文件屬於產品的Red Hat VirtIO SCSI controller的 ,並制定了公司的Red Hat Inc.的。 該文件描述Red Hat VirtIO SCSI driver的。 此文件包含的驅動程序。你能夠找到它的系統資源管理器「中的」驅動程序「一節。
產品:Red Hat VirtIO SCSI controller
公司:Red Hat Inc.
描述:Red Hat VirtIO SCSI driver
版本:62.65.104.7400
MD5:fb5c2764f90752337564d5c527a63ec4
SHA1:90bd73933331b79face98ad376ecb92877630c96
SHA256:c34cd19876a6b5e97a14cc51cd780930fb1f505e4c04b98abd94f1a59235080b
大小:25800
目錄:C:\Windows\System32\DRIVERS
操做系統:Windows 8
發生:低 oc0
數字簽名:Red Hat, Inc.