<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    深入理解Loadrunner中的Browser Emulation

    作者:tacy lee

    一:基本介紹

    在Loadrunner的使用中,對于Run-time Settings下的browser emulation設置是比較容易讓人產生困惑的地方。下面我們結合sniffer來具體看看每個選項的用途,以及對測試的影響。

    clip_image002

                                                   Browser Emulation 圖

    二:案例和工具

    1. 測試案例:

    打開網站首頁兩次,對比不同Browser Emulation設置下loadrunner的行為,腳本如下。

    Action()
    {
        web_url("www.primeton.com", 
            "URL=http://www.primeton.com/", 
            "Resource=0", 
            "RecContentType=text/html", 
            "Referer=", 
            "Snapshot=t2.inf", 
            "Mode=HTML", 
            LAST);
    
        web_url("www.primeton.com", 
            "URL=http://www.primeton.com/", 
            "Resource=0", 
            "RecContentType=text/html", 
            "Referer=", 
            "Snapshot=t2.inf", 
            "Mode=HTML", 
            LAST);
    
        return 0;
    }
    

    2. sniffer工具

    開源工具:Wireshark(前身是ethereal)(www.wireshark.org)

    三:測試過程

    為了方便描述,我們約定用:

    A代表Simulate browser cache

    B代表Cache URLs requiring content(HTMLs)

    C代表Check for newer versions of stored pages every visit to the page

    D代表Download non-HTML resources

    E代表Simulate a new user on each iteratioin

    F代表Clear cache on each iteration

    首先設置Run Logic中的iteration為2。讓Action運行兩次,看看循環運行腳本兩次,數據包和連接數的變化。

    1. 去掉所有選項

    結果:共獲取數據包95個,建立連接1個(紅色標識),斷開連接1個(藍色標識)

    No.     Time        Source            Destination       Protocol Info
          1 0.000000    192.168.1.61      203.81.29.137     TCP      13835 > http [SYN] Seq=0 Len=0 MSS=1460 WS=2
          2 0.036053    203.81.29.137     192.168.1.61      TCP      http > 13835 [SYN, ACK] Seq=0 Ack=1 Win=17280 Len=0 MSS=1440 WS=0
         92 1.415887    192.168.1.61      203.81.29.137     TCP      13835 > http [FIN, ACK] Seq=817 Ack=71762 Win=257760 Len=0
         94 1.449960    203.81.29.137     192.168.1.61      TCP      http > 13835 [FIN, ACK] Seq=71762 Ack=818 Win=16464 Len=0
    

    在這種情況下,數據包非常少(沒有選擇下載資源文件入css,js,gif等),而且你可以看到,打開4次首頁,只建立了一個tcp連接。

    這時,你即使選擇A,發現數據包的數量量頁沒有變化,因為cache主要還是針對資源文件

    2. 選擇E(F)

    結果:共獲取數據包102個,建立連接2個(紅色標識),斷開連接2個(藍色標識)

    No.     Time        Source            Destination       Protocol Info
          1 0.000000    192.168.1.61      203.81.29.137     TCP      13886 > http [SYN] Seq=0 Len=0 MSS=1460 WS=2
          2 0.037013    203.81.29.137     192.168.1.61      TCP      http > 13886 [SYN, ACK] Seq=0 Ack=1 Win=17280 Len=0 MSS=1440 WS=0
         48 0.618117    192.168.1.61      203.81.29.137     TCP      13886 > http [FIN, ACK] Seq=409 Ack=35882 Win=257760 Len=0
         49 0.644106    192.168.1.61      203.81.29.137     TCP      13887 > http [SYN] Seq=0 Len=0 MSS=1460 WS=2
         51 0.651919    203.81.29.137     192.168.1.61      TCP      http > 13886 [FIN, ACK] Seq=35882 Ack=410 Win=16872 Len=0
         53 0.676377    203.81.29.137     192.168.1.61      TCP      http > 13887 [SYN, ACK] Seq=0 Ack=1 Win=17280 Len=0 MSS=1440 WS=0
         99 1.310379    192.168.1.61      203.81.29.137     TCP      13887 > http [FIN, ACK] Seq=409 Ack=35882 Win=257760 Len=0
    101 1.347949    203.81.29.137     192.168.1.61      TCP      http > 13887 [FIN, ACK] Seq=35882 Ack=410 Win=16872 Len=0
    

    在這種情況下,數據包非常少(沒有選擇下載資源文件入css,js,gif等),對比第一種情況,你會發現它建立了兩個連接,這就是E的作用,它對于每次迭代都當成一個新的用戶,需要重新建立連接。

    3. 選擇DE(F)

    結果:共獲取數據包1782個,建立連接6個(紅色標識),斷開連接6個(藍色標識)

    No.     Time        Source            Destination       Protocol Info
          1 0.000000    192.168.1.61      203.81.29.137     TCP      14016 > http [SYN] Seq=0 Len=0 MSS=1460 WS=2
          2 0.037911    203.81.29.137     192.168.1.61      TCP      http > 14016 [SYN, ACK] Seq=0 Ack=1 Win=17280 Len=0 MSS=1440 WS=0
          6 0.107432    192.168.1.61      203.81.29.137     TCP      14017 > http [SYN] Seq=0 Len=0 MSS=1460 WS=2
          9 0.141816    203.81.29.137     192.168.1.61      TCP      http > 14017 [SYN, ACK] Seq=0 Ack=1 Win=17280 Len=0 MSS=1440 WS=0
        426 3.334889    192.168.1.61      203.81.29.137     TCP      14017 > http [FIN, ACK] Seq=1852 Ack=150284 Win=257484 Len=0
        428 3.372253    203.81.29.137     192.168.1.61      TCP      http > 14017 [FIN, ACK] Seq=150284 Ack=1853 Win=16998 Len=0
        448 4.395488    192.168.1.61      203.81.29.137     TCP      14020 > http [SYN] Seq=0 Len=0 MSS=1460 WS=2
        457 4.439604    203.81.29.137     192.168.1.61      TCP      http > 14020 [SYN, ACK] Seq=0 Ack=1 Win=17280 Len=0 MSS=1440 WS=0
        859 7.593610    192.168.1.61      203.81.29.137     TCP      14016 > http [FIN, ACK] Seq=2849 Ack=377404 Win=257484 Len=0
        870 7.659680    203.81.29.137     192.168.1.61      TCP      http > 14016 [FIN, ACK] Seq=377404 Ack=2850 Win=15935 Len=0
        888 8.511308    192.168.1.61      203.81.29.137     TCP      14020 > http [FIN, ACK] Seq=1602 Ack=208150 Win=257760 Len=0
        890 8.549451    203.81.29.137     192.168.1.61      TCP      http > 14020 [FIN, ACK] Seq=208150 Ack=1603 Win=17280 Len=0
        892 8.566246    192.168.1.61      203.81.29.137     TCP      14022 > http [SYN] Seq=0 Len=0 MSS=1460 WS=2
        893 8.601893    203.81.29.137     192.168.1.61      TCP      http > 14022 [SYN, ACK] Seq=0 Ack=1 Win=17280 Len=0 MSS=1440 WS=0
        899 8.702628    192.168.1.61      203.81.29.137     TCP      14023 > http [SYN] Seq=0 Len=0 MSS=1460 WS=2
        904 8.741807    203.81.29.137     192.168.1.61      TCP      http > 14023 [SYN, ACK] Seq=0 Ack=1 Win=17280 Len=0 MSS=1440 WS=0
       1298 11.809456   192.168.1.61      203.81.29.137     TCP      14022 > http [FIN, ACK] Seq=1550 Ack=159770 Win=257484 Len=0
       1310 11.878665   203.81.29.137     192.168.1.61      TCP      http > 14022 [FIN, ACK] Seq=159770 Ack=1551 Win=17280 Len=0
       1341 12.771707   192.168.1.61      203.81.29.137     TCP      14026 > http [SYN] Seq=0 Len=0 MSS=1460 WS=2
       1348 12.813950   203.81.29.137     192.168.1.61      TCP      http > 14026 [SYN, ACK] Seq=0 Ack=1 Win=17280 Len=0 MSS=1440 WS=0
       1759 16.032952   192.168.1.61      203.81.29.137     TCP      14023 > http [FIN, ACK] Seq=3151 Ack=367918 Win=257484 Len=0
       1761 16.068296   203.81.29.137     192.168.1.61      TCP      http > 14023 [FIN, ACK] Seq=367918 Ack=3152 Win=17280 Len=0
       1779 16.983042   192.168.1.61      203.81.29.137     TCP      14026 > http [FIN, ACK] Seq=1602 Ack=208150 Win=257760 Len=0
       1781 17.016836   203.81.29.137     192.168.1.61      TCP      http > 14026 [FIN, ACK] Seq=208150 Ack=1603 Win=17280 Len=0
    

    在這種情況下,數據包的數量非常大,連接也很多,由于沒有cache功能,每次打開頁面都需要重新下載所有的資源文件。

    4. 選擇ADE

    結果:共獲取數據包525個,建立連接3個,斷開連接3個(不再標識了,syn即為連接請求,fin即為斷開請求)

    No.     Time        Source            Destination       Protocol Info
          1 0.000000    192.168.1.61      203.81.29.137     TCP      14189 > http [SYN] Seq=0 Len=0 MSS=1460 WS=2
          2 0.033657    203.81.29.137     192.168.1.61      TCP      http > 14189 [SYN, ACK] Seq=0 Ack=1 Win=17280 Len=0 MSS=1440 WS=0
          6 0.100636    192.168.1.61      203.81.29.137     TCP      14190 > http [SYN] Seq=0 Len=0 MSS=1460 WS=2
          9 0.133703    203.81.29.137     192.168.1.61      TCP      http > 14190 [SYN, ACK] Seq=0 Ack=1 Win=17280 Len=0 MSS=1440 WS=0
        429 3.383748    192.168.1.61      203.81.29.137     TCP      14190 > http [FIN, ACK] Seq=1852 Ack=150284 Win=257484 Len=0
        431 3.418556    203.81.29.137     192.168.1.61      TCP      http > 14190 [FIN, ACK] Seq=150284 Ack=1853 Win=16998 Len=0
        471 4.352071    192.168.1.61      203.81.29.137     TCP      14189 > http [FIN, ACK] Seq=1504 Ack=235576 Win=257760 Len=0
        472 4.380312    192.168.1.61      203.81.29.137     TCP      14192 > http [SYN] Seq=0 Len=0 MSS=1460 WS=2
        474 4.389778    203.81.29.137     192.168.1.61      TCP      http > 14189 [FIN, ACK] Seq=235576 Ack=1505 Win=17280 Len=0
        476 4.413220    203.81.29.137     192.168.1.61      TCP      http > 14192 [SYN, ACK] Seq=0 Ack=1 Win=17280 Len=0 MSS=1440 WS=0
        522 5.078068    192.168.1.61      203.81.29.137     TCP      14192 > http [FIN, ACK] Seq=409 Ack=35882 Win=257760 Len=0
    524 5.115099    203.81.29.137     192.168.1.61      TCP      http > 14192 [FIN, ACK] Seq=35882 Ack=410 Win=16872 Len=0
    

    在這種情況下,cache發揮作用,數據包對比第三種情況大大減少,幾乎等于打開一次首頁的數據量(449個數據包),只有第一次打開頁面需要完整下載頁面(包括資源文件),后面的三次打開頁面都只要下載HTML頁面(不包括資源文件)。

    5. 選擇ADEF

    選擇F之后我們看看結果:共獲取數據包942個,建立連接4個,斷開連接4個

    No.     Time        Source            Destination       Protocol Info
          1 0.000000    192.168.1.61      203.81.29.137     TCP      14292 > http [SYN] Seq=0 Len=0 MSS=1460 WS=2
          2 0.034524    203.81.29.137     192.168.1.61      TCP      http > 14292 [SYN, ACK] Seq=0 Ack=1 Win=17280 Len=0 MSS=1440 WS=0
          6 0.102314    192.168.1.61      203.81.29.137     TCP      14294 > http [SYN] Seq=0 Len=0 MSS=1460 WS=2
          9 0.139752    203.81.29.137     192.168.1.61      TCP      http > 14294 [SYN, ACK] Seq=0 Ack=1 Win=17280 Len=0 MSS=1440 WS=0
        426 3.791111    192.168.1.61      203.81.29.137     TCP      14294 > http [FIN, ACK] Seq=1852 Ack=150284 Win=257484 Len=0
        428 3.824970    203.81.29.137     192.168.1.61      TCP      http > 14294 [FIN, ACK] Seq=150284 Ack=1853 Win=16998 Len=0
        468 6.213276    192.168.1.61      203.81.29.137     TCP      14292 > http [FIN, ACK] Seq=1504 Ack=235576 Win=257760 Len=0
        469 6.244052    192.168.1.61      203.81.29.137     TCP      14297 > http [SYN] Seq=0 Len=0 MSS=1460 WS=2
        471 6.249564    203.81.29.137     192.168.1.61      TCP      http > 14292 [FIN, ACK] Seq=235576 Ack=1505 Win=17280 Len=0
        473 6.279647    203.81.29.137     192.168.1.61      TCP      http > 14297 [SYN, ACK] Seq=0 Ack=1 Win=17280 Len=0 MSS=1440 WS=0
        479 6.374967    192.168.1.61      203.81.29.137     TCP      14298 > http [SYN] Seq=0 Len=0 MSS=1460 WS=2
        484 6.419597    203.81.29.137     192.168.1.61      TCP      http > 14298 [SYN, ACK] Seq=0 Ack=1 Win=17280 Len=0 MSS=1440 WS=0
        897 9.858493    192.168.1.61      203.81.29.137     TCP      14297 > http [FIN, ACK] Seq=1550 Ack=159770 Win=257484 Len=0
        899 9.895188    203.81.29.137     192.168.1.61      TCP      http > 14297 [FIN, ACK] Seq=159770 Ack=1551 Win=17280 Len=0
        939 12.840029   192.168.1.61      203.81.29.137     TCP      14298 > http [FIN, ACK] Seq=1806 Ack=226090 Win=257760 Len=0
        941 12.876120   203.81.29.137     192.168.1.61      TCP      http > 14298 [FIN, ACK] Seq=226090 Ack=1807 Win=17076 Len=0
    

    在這種情況下,由于選擇了F,在迭代的時候清除了cache,所以每次迭代都需要重新下載資源文件。數據包差不多等于第三種情況的一半,約等于打開兩次首頁的數據量(449×2個數據包)。

    6. 關于BC選項

    C的解釋(Check for newer versions of stored pages every visit to the page

    C比較容易理解,類似IE設置中的每次檢查,如果不設置C,LR對于已經cache的文件就不會重新向服務器請求,如果選擇C,你就可以在數據包中發現很多304信息。

    B的解釋(Cache URLs requiring content(HTMLs)

    LR對于資源文件的cache并不會真正cache在內存中或者在磁盤上,這個選項表示:對于一些需要用到的關聯,校驗,頁面解析內容真正cache在內存中,減少客戶端的重復工作。

    當然如果你想把GIF也cache到內存中,你可以在Advanced中設置,選擇Specify URL requiring content in addition to HTML pages,加入條目image/gif,并勾選。當Vuser運行的時候,你可以對比一下mmdrv.exe進程的內存消耗(內存占用會更多)。

    四: 結論

    通過上面的測試分析,我們大概知道了每個選項的真正含義,你需要根據你的測試目的來選擇合適的設置:

    1、 對于一個具體的應用測試,對于前端Web Server不可忽略,缺省設置非常合適,不需要調整(有時候需要考慮把C選上)

    注意:很多人在錄制腳本的時候,習慣把登入操作放到vuser_init中,這時候缺省設置可能會拋錯,建議把這類的操作都放入到action中

    2、 如果你更關注后端應用服務器的性能或者說做一些架構的驗證分析,那你缺省設置對于你來說就不合適了,你需要選擇取消所有的設置項。

    當然你也可以根據自己的具體情況做不同調整,但是一定要真正理解這些選項的具體含義才能做到不犯錯誤

    del.icio.us Tags: , ,

    posted on 2007-11-06 00:19 tacy lee 閱讀(1366) 評論(0)  編輯  收藏 所屬分類: 性能相關測試相關

    主站蜘蛛池模板: 亚洲av午夜精品无码专区| 亚洲国产另类久久久精品黑人 | 久久亚洲精品国产精品婷婷| 久久久久高潮毛片免费全部播放| 国产精品亚洲аv无码播放| 两个人的视频www免费| 中文亚洲成a人片在线观看| 成年大片免费高清在线看黄| 久久久久一级精品亚洲国产成人综合AV区| 亚洲成a人无码亚洲成av无码| 全免费a级毛片免费看无码| 亚洲精品动漫免费二区| 亚洲国产黄在线观看| WWW国产成人免费观看视频| 国产亚洲成av人片在线观看| 久久久免费精品re6| 亚洲乱码中文论理电影| 成全影视免费观看大全二| 鲁死你资源站亚洲av| 亚洲欧洲日产国码一级毛片| a级毛片在线免费| 亚洲福利电影在线观看| 成人免费看黄20分钟| 无套内射无矿码免费看黄| 国产成A人亚洲精V品无码| 亚洲视频在线免费看| 亚洲成a∨人片在无码2023| 国产综合亚洲专区在线| 99re6免费视频| 精品国产日韩亚洲一区在线| 亚洲欧洲自拍拍偷午夜色无码| 亚洲视频在线免费看| 美女18一级毛片免费看| 婷婷亚洲久悠悠色悠在线播放| 三年片在线观看免费大全| 窝窝影视午夜看片免费| 亚洲精品国产手机| 免费va人成视频网站全| 一区二区在线免费观看| 羞羞漫画在线成人漫画阅读免费| 亚洲AV无码一区二区二三区入口|