2016年6月30日

              在近期的某性能測試項目中,使用LR 11做測試,遇到了一個問題:在錄制的腳本中,許多請求都帶有EXTRARES,如:
               web_submit_data("clientlog.jspx_23", 
          "Action=https://gaa-ad.pp2.shanghaionstar.com:8101/Advisor/faces/xAdvisorWeb/bundles/gaacommon/jsf/clientlog.jspx?message=Alerts%20refresh%20completed&clientTime=1466056941075", 
          "Method=POST", 
          "RecContentType=text/html", 
          "Referer=https://gaa-ad.pp2.shanghaionstar.com:8101/Advisor/xAdvisorWeb/desktop/desktop.jsp", 
          "Snapshot=t57.inf", 
          "Mode=HTML", 
          ITEMDATA, 
          EXTRARES, 
          "Url=http://10.16.93.182:22002/maptile/maptile?x=1712&y=854&z=11", "Referer=", ENDITEM, 
          "Url=http://10.16.93.182:22002/maptile/maptile?x=1713&y=854&z=11", "Referer=", ENDITEM, 
          "Url=http://10.16.93.182:22002/maptile/maptile?x=1715&y=854&z=11", "Referer=", ENDITEM, 
          "Url=http://10.16.93.182:22002/maptile/maptile?x=1714&y=854&z=11", "Referer=", ENDITEM, 
          "Url=http://10.16.93.182:22002/maptile/maptile?x=1712&y=855&z=11", "Referer=", ENDITEM, 
          "Url=http://10.16.93.182:22002/maptile/maptile?x=1713&y=855&z=11", "Referer=", ENDITEM, 
          "Url=http://10.16.93.182:22002/maptile/maptile?x=1714&y=855&z=11", "Referer=", ENDITEM, 
          "Url=http://10.16.93.182:22002/maptile/maptile?x=1715&y=855&z=11", "Referer=", ENDITEM, 
          "Url=http://10.16.93.182:22002/maptile/maptile?x=1712&y=856&z=11", "Referer=", ENDITEM, 
          "Url=http://10.16.93.182:22002/maptile/maptile?x=1713&y=856&z=11", "Referer=", ENDITEM, 
          "Url=http://10.16.93.182:22002/maptile/maptile?x=1714&y=856&z=11", "Referer=", ENDITEM, 
          "Url=http://10.16.93.182:22002/maptile/maptile?x=1715&y=856&z=11", "Referer=", ENDITEM, 
          "Url=http://10.16.93.182:22002/maptile/maptile?x=1712&y=857&z=11", "Referer=", ENDITEM, 
          "Url=http://10.16.93.182:22002/maptile/maptile?x=1713&y=857&z=11", "Referer=", ENDITEM, 
          "Url=http://10.16.93.182:22002/maptile/maptile?x=1714&y=857&z=11", "Referer=", ENDITEM, 
          "Url=http://10.16.93.182:22002/maptile/maptile?x=1715&y=857&z=11", "Referer=", ENDITEM, 
          "Url=http://10.16.93.182:22002/maptile/maptile?x=1712&y=858&z=11", "Referer=", ENDITEM, 
          "Url=http://10.16.93.182:22002/maptile/maptile?x=1713&y=858&z=11", "Referer=", ENDITEM, 
          "Url=http://10.16.93.182:22002/maptile/maptile?x=1714&y=858&z=11", "Referer=", ENDITEM, 
          "Url=http://10.16.93.182:22002/maptile/maptile?x=1715&y=858&z=11", "Referer=", ENDITEM, 
          LAST);
               這些EXTRARES資源請求實際上是在上一個頁面請求時發起,并通過異步的方式返回的一些地圖數據。由于在錄制腳本的過程中,上一步操作未能等到這些數據全部返回便開始了下一步的操作,因此在隨后的腳本中,LR將這些請求作為EXTRARES
          資源附在了這些請求之后。如此一來就造成了一個問題:這些請求的響應時間變長,但對于真實的用戶而言,這些請求的響應時間卻并沒有那么長(因為這些地圖數據在后臺加載,用戶感受不到)。表面上看來,似乎LR測試得到的結果與實際“不一致”了。而另一方面,這些資源請求又是真實存在的,對于服務器產生了壓力,所以也不能簡單粗暴地直接在腳本中去掉。
              最后,我們采取的辦法是:將這些地圖數據的加載單獨寫成一個web_url,使它對服務器產生真實的負載,并把它放在定義的事務之外。腳本如下:
               web_url("map",
          "URL=http://10.16.93.182:22002/maptile/maptile?x=1711&y=854&z=11",
          EXTRARES, 
          "Url=http://10.16.93.182:22002/maptile/maptile?x=1711&y=854&z=11", "Referer=", ENDITEM, 
          "Url=http://10.16.93.182:22002/maptile/maptile?x=1712&y=854&z=11", "Referer=", ENDITEM, 
          "Url=http://10.16.93.182:22002/maptile/maptile?x=1713&y=854&z=11", "Referer=", ENDITEM, 
          "Url=http://10.16.93.182:22002/maptile/maptile?x=1714&y=854&z=11", "Referer=", ENDITEM, 
          "Url=http://10.16.93.182:22002/maptile/maptile?x=1715&y=854&z=11", "Referer=", ENDITEM, 
          "Url=http://10.16.93.182:22002/maptile/maptile?x=1711&y=855&z=11", "Referer=", ENDITEM, 
          "Url=http://10.16.93.182:22002/maptile/maptile?x=1712&y=855&z=11", "Referer=", ENDITEM, 
          "Url=http://10.16.93.182:22002/maptile/maptile?x=1714&y=855&z=11", "Referer=", ENDITEM, 
          "Url=http://10.16.93.182:22002/maptile/maptile?x=1713&y=855&z=11", "Referer=", ENDITEM, 
          "Url=http://10.16.93.182:22002/maptile/maptile?x=1715&y=855&z=11", "Referer=", ENDITEM, 
          "Url=http://10.16.93.182:22002/maptile/maptile?x=1711&y=856&z=11", "Referer=", ENDITEM, 
          "Url=http://10.16.93.182:22002/maptile/maptile?x=1712&y=856&z=11", "Referer=", ENDITEM, 
          "Url=http://10.16.93.182:22002/maptile/maptile?x=1713&y=856&z=11", "Referer=", ENDITEM, 
          "Url=http://10.16.93.182:22002/maptile/maptile?x=1714&y=856&z=11", "Referer=", ENDITEM, 
          "Url=http://10.16.93.182:22002/maptile/maptile?x=1715&y=856&z=11", "Referer=", ENDITEM, 
          "Url=http://10.16.93.182:22002/maptile/maptile?x=1711&y=857&z=11", "Referer=", ENDITEM, 
          "Url=http://10.16.93.182:22002/maptile/maptile?x=1712&y=857&z=11", "Referer=", ENDITEM, 
          "Url=http://10.16.93.182:22002/maptile/maptile?x=1713&y=857&z=11", "Referer=", ENDITEM, 
          "Url=http://10.16.93.182:22002/maptile/maptile?x=1714&y=857&z=11", "Referer=", ENDITEM, 
          "Url=http://10.16.93.182:22002/maptile/maptile?x=1715&y=857&z=11", "Referer=", ENDITEM, 
          "Url=http://10.16.93.182:22002/maptile/maptile?x=1711&y=858&z=11", "Referer=", ENDITEM, 
          "Url=http://10.16.93.182:22002/maptile/maptile?x=1712&y=858&z=11", "Referer=", ENDITEM, 
          "Url=http://10.16.93.182:22002/maptile/maptile?x=1713&y=858&z=11", "Referer=", ENDITEM, 
          "Url=http://10.16.93.182:22002/maptile/maptile?x=1714&y=858&z=11", "Referer=", ENDITEM, 
          "Url=http://10.16.93.182:22002/maptile/maptile?x=1715&y=858&z=11", "Referer=", ENDITEM, 
          LAST);
              同時,將后續腳本中的EXTRARES資源請求刪除。

              這樣一來,就既模擬了服務器端真實的負載場景,又避免了客戶端實際響應時間不一致的問題。
                   


          posted @ 2016-07-08 12:54 xingcyx 閱讀(1408) | 評論 (0)編輯 收藏
           
          LoadRunner 12錄制的腳本在LoadRunner 11的controller上無法運行,提示該VUSER類型沒有license。
          原因:LR12的VUSER type是Mobile。
          解決方法:
          用文本編輯器打開腳本的.usr文件,如03_HandEmergencyCall.usr,
          AdditionalTypes=Mobile
          ActiveTypes=Mobile
          GenerateTypes=Mobile
          RecordedProtocols=
          修改為:
          AdditionalTypes=QTWeb
          ActiveTypes=QTWeb
          GenerateTypes=QTWeb
          RecordedProtocols=QTWeb
          posted @ 2016-06-30 15:17 xingcyx 閱讀(1600) | 評論 (0)編輯 收藏
           
          主站蜘蛛池模板: 东明县| 肥西县| 湛江市| 云龙县| 河东区| 西畴县| 肥乡县| 桐乡市| 舞阳县| 民权县| 镇雄县| 潞城市| 南安市| 依安县| 定襄县| 诸暨市| 博客| 新疆| 关岭| 金秀| 灵台县| 乳山市| 东海县| 垣曲县| 通山县| 铁岭县| 河池市| 左云县| 会东县| 武安市| 武宁县| 三原县| 营口市| 涡阳县| 资中县| 三台县| 东兰县| 从化市| 淮滨县| 涟源市| 嘉祥县|