LoadRunner在執行時常見的提示錯誤和解決方法

科敏發表於2014-03-05


1、 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。 問題原因:A、應用服務引數設定太大導致伺服器的瓶頸           B、頁面中圖片太多          C、在程式處理表的時候檢查欄位太大或多 
處理方法:Run-Time Setting ----- Internet Protocol ----- Preferences -----Option ---- Step download timeout(sec)改為32000  


2、 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應用中包含了與伺服器進行互動的Java Applet、基於瀏覽器的應用中包含了向伺服器進行通訊的JavaScript/VBScript程式碼、基於瀏覽器的應用中使用HTTPS安全協議,這 時則使用"URL-based script"模式進行錄製。 
解決辦法:開啟錄製選項配置對話方塊進行設定,在"Recording Options"的"Internet Protocol"選項裡的"Recording"中選擇"Recording Level"為"HTML-based script",單擊"HTML Advanced",選擇"Script Type"為"A script containing explicit"。然後再選擇使用"URL-based script"模式來錄製指令碼。  


3、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"選項,再回放是否成功。 
 
4、 Error -27791: Server “192.168.1.77″ has shut down the connection prematurely 
  解決方案如下: 
  1、應用伺服器死掉。小使用者時程式上的問題,程式上處理資料庫的問題 
  2、應用服務沒有死。應用服務引數設定問題。例如:在許多客戶端weblogic應用伺服器被拒絕,而在伺服器端沒有錯誤顯示,則有可能是weblogic中的server元素的acceptbacklog屬性值設得過低。如果連線時收到connection refused訊息,說明應提高該值,每次增加25%。 
  3、資料庫的連線,在應用服務的效能引數可能太小了,資料庫啟動的最大連線數(跟硬體的記憶體有關) 
  4、有時關閉卡巴斯基也會解決如上問題   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自身造成的問題,把時間調長,就是為了定位問題在什麼地方,而不是為了繞過這個錯誤的出現。 
 
5、 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。  


6、 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"的值。  


7、Error -26612: HTTP Status-Code=500 (Internal Server Error) for 
http://192.168.0.8:10001/logonConsole.do;jsessionid={JSESSIONID2} 
造成HTTP-500錯誤,如下幾個可能: 
1、執行的使用者數過多,對伺服器造成的壓力過大,伺服器無法響應,則報HTTP500錯誤。減小使用者數或者場景持續時間,問題得到解決。 
2、該做關聯的地方沒有去做關聯,則報HTTP500錯誤。進行手工或者自動關聯,問題得到解決。 
3、錄製時請求的頁面、圖片等,在回放的時候伺服器找不到,則報HTTP500錯誤,若該頁面無關緊要,則可以在指令碼中註釋掉,問題將會得到解決。例如:有驗證碼的情況下,儘管測試時已經遮蔽了,但是錄製的時候提交了請求,但回放的時候不存在響應。 
4、引數化時的取值有問題,則報HTTP500錯誤。可將引數化列表中的數值,拿到實際應用系統中進行測試,可排除問題。 
5、更換了應用伺服器(中介軟體的更換,如tomcat、websphere、jboss等),還是利用原先錄製的指令碼去執行,則很可能報HTTP500錯誤。因為各種應用伺服器處理的機制不一樣,所錄製的指令碼也不一樣,解決辦法只有重新錄製指令碼。 
6、Windows xp2 與ISS元件不相容,則有可能導致HTTP500錯誤。對ISS元件進行調整後問題解決。 
7、系統開發程式寫的有問題,則報HTTP500錯誤。例如有些指標問題沒有處理好的,有空指標情況的存在。修改程式後問題解決。 
查詢後臺日誌發現報了很多0ra-01000錯誤,這是oracle達到最大遊標引數值,google了下,最大原因可能是JDBC連線沒關閉。最後查詢weblogic連線池出了問題,很多連線沒關閉。 


8、Error -27496:內部錯誤(呼叫客戶服務): eStat (7) != LRW_ITEM_STAT_ENUM_UNHANDLED 
for HandledTask at 048E180C 


9、Error -27995: Requested link ("Text=計劃管理") not found   
解決方法:在IE中的工具—>Internet選項—>高階—>HTML設定中選擇第二個指令碼型別.

負載。分析一下伺服器,最好對其效能進行優化。如果再次執行場景後還有超時現象,就要在各種圖形中分析一下原因,例如可以檢視是否伺服器、DNS、網路等方面存在問題。 
最後,增加一下執行時的超時設定,在"Run-Time Settings">"Internet 

Protocol:Preferences"中,單擊"options",增加"HTTP-request connect timeout" 或者"HTTP-request receive"的值。  

 
10、Error -27279:內部錯誤(呼叫客戶服務):Report initialization failed , error code = 
-2147467259 
解決方法:建議重灌一下LR. 
這種問題有可能和你安裝有關.dll檔案出錯不是說寫的程式就能修改的. 
 
11、Error -27796: Failed to connect to server “127.0.0.1:80″: [10060] Connection timed 
out 
解決方法: 
在登錄檔HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters裡,有 如下兩個鍵值: 

1.TcpTimedWaitDelay,預設值應該中是30s,所以這裡,把這個值調小為5s(按需要調整)。2.MaxUserPort調大(如果這個值不是最大值的話)。  


12、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->儲存即可。  


13、Connection reset by peer. Error code : 10054 
設定下載等的超時 
用VuGen錄製指令碼後,回放或者加壓的時候,可能會出現錯誤資訊“Action.c(65): Error : socket6 - Connection reset by peer. Error code : 10054” 
這是因為,下載的速度慢,導致超時,所以,需要調整一下超時時間,方法如下: 在Run-time setting視窗中的‘Internet Protocol’-‘Preferences’設定set advanced 
options(設定高階選項),,重新設定一下“HTTP-request connect timeout(sec)” 

 14、Error:Failed to connect to server“192.168.2.192”:[10060]Connection 
Error:timed out Error:Server“192.168.2.192”has shut down the connection prematurely 問題原因:     1. 應用訪問死掉 
小使用者時:程式上的問題。程式上存在資料庫的問題 2. 應用服務沒有死 
應用服務引數設定問題,例如: 
在許多客戶端連線Weblogic應用伺服器被拒絕,而在伺服器端沒有錯誤顯示,則有可能是Weblogic中的server元素的AcceptBacklog屬性值設得過低。如果連線時收到connection refused訊息,說明應提高該值,每次增加25% Java連線池的大小設定,或JVM的設定等 3. 資料庫的連線 
在應用服務的效能引數可能太小了 

資料庫啟動的最大連線數(跟硬體的記憶體有關)   


15、Error:Page download timeout(120seconds)has expired 
分析原因: 
1. 應用服務引數設定太大導致伺服器的瓶頸 2.頁面中圖片太多 

3.在程式處理表的時候檢查欄位太多  


16、LoadRunner指令碼中出現亂碼:在錄製Web協議指令碼時出現中文亂碼,在回放指令碼時會
使回放停止在亂碼位置,指令碼無法執行。 
錯誤現象:某個連結或者圖片名稱為中文亂碼,指令碼執行無法通過。 
錯誤分析:指令碼錄製可能採用的是URL-based script方式,如果程式定義的字符集合採用的是國際標準,指令碼就會出現亂碼現象。 

解決辦法:重新錄製指令碼,在錄製指令碼前,開啟錄製選項配置對話方塊進行設定,在"Recording Options"的"Advanced"選項裡先將"Surport Charset"選中,然後選中支援"UTF-8"的選項。 


17、LoadRunner HTTP伺服器狀態程式碼:在錄製Web協議指令碼回放指令碼的過程中,會出現
HTTP伺服器狀態程式碼,例如常見的頁面-404錯誤提示、-500錯誤提示。 
錯誤現象1:-404 Not Found伺服器沒有找到與請求URI相符的資源,但還可以繼續執行直到結束。 
錯誤分析:此處與請求URI相符的資源在錄製指令碼時已經被提交過一次,回放時不可再重複提交同樣的資源,而需要更改提交資源的內容,每次回放一次指令碼都要改變提交的資料,保證模擬實際環境,造成一定的負載壓力。 
解決辦法:在出現錯誤的位置進行指令碼關聯,在必要時插入相應的函式。  
錯誤現象2:-500 Internal Server Error伺服器內部錯誤,指令碼執行停止。 錯誤分析:伺服器碰到了意外情況,使其無法繼續迴應請求。 
解決辦法:出現此錯誤是致命的,說明問題很嚴重,需要從問題的出現位置進行檢查,此時需要此程式的開發人員配合來解決,而且產生的原因根據實際情況來定,測試人員無法單獨解決問題,而且應該儘快解決,以便於後面的測試。 
 
18、LoadRunner不執行檢查方法:在錄製Web協議指令碼中新增了檢查方法Web_find,但是
在指令碼回放的過程中並沒有執行。 
錯誤現象:在指令碼中插入函式Web_find,在指令碼中設定文字以及影象的檢查點,但是在回放過程中並沒有對設定的檢查點進行檢查,即Web_find失效。 
錯誤分析:由於檢查功能會消耗一定的資源,因此LoadRunner預設關閉了對文字以及影象的檢查,所以在設定檢查點後,需要開啟檢查功能。 
解決辦法:開啟執行環境設定對話方塊進行設定,在"Run-time Settings"的"Internet Protocol"選項裡的"Perference"中勾選"Check"下的"Enable Image and text check"選項。 
 
19、 LoadRunner回放Web Services協議指令碼錯誤:LoadRunner 8.0版本在錄製Web Services
協議的指令碼時正常,但在回放時會出現錯誤,提示停止指令碼執行。 
錯誤現象:利用LoadRunner 8.0版本來錄製Web Services協議的指令碼沒有任何錯誤提示,回放指令碼時會出現如下錯誤提示"Error:server returned an incorrectly formatted SOAP response"。 
錯誤分析:出現此錯誤的原因是LoadRunner8.0在錄製Web Services協議的指令碼時存在一個缺陷:如果伺服器的作業系統是中文的,VuGen會自動將WSDL檔案的頭改為<?xml version="1.0"encoding="zh_cn" ?>,所以才會有此錯誤提示。 
解決辦法:下載兩個補丁,分別為"LR80WebServicesFPI_setup.exe"和"lrunner_web_ services_patch_1.exe"安裝上即可。  

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


20、業務:進入借款單(顯示借款單列表),新建借款單,新建後顯示借款單列表(新建
的借款單在此列表中有顯示) 
  我是錄製的指令碼,可執行時,提示 Action.c(112): 錯誤 -26627: 對於
“http://192.168.1.105:8080/T3/fee/feeLoanList.action”,HTTP 狀態程式碼=404 (Not Found) 解決: 
1.手動正常未必就真正常,LR加壓的時候可能連線數佔滿了,所以出404 

2.還有一種情況,指令碼里有檢查語句,叫什麼lr_check還是什麼的,就是一個指令碼內部 檢查是否有該資源用的,不見著他我拼不出來,如果有,註釋掉看看  


21、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 
   Runtime Setting>Preferences>Advanced區域中設定一個winlnet replay instead of sockets選項(不勾選此項報 Error -27727)

相關文章