Loadrunner對https協議(單雙向SSL)的web端效能測試

來源:互聯網
上載者:User

標籤:二進位   瀏覽器   target   use   run   穩定性   主機   模組   ref   

1.項目背景

1.1 單雙向SSL的含義及部署

單向SSL即我們說到的https協議。

特點是,瀏覽器需要請求驗證伺服器憑證;

基本含義是:一個安全通訊通道,它基於HTTP開發,用於在客戶電腦和伺服器之間交換資訊。它使用安全通訊端層(SSL)進行資訊交換,簡單來說它是HTTP的安全版。

雙向SSL顧名思義就是雙方都需要驗證認證的協議,瀏覽器首先向服務端請求認證,然後伺服器端需要向瀏覽器請求目前登陸使用者的個人認證驗證。

1.2 系統的基本部署

單向SSL互動過程:

 

使用單向SSL時,僅通過虛擬機器主機2,請求即可傳遞到tomcat完成整個通訊過程。

雙向SSL互動過程:

使用雙向SSL時,請求先到虛擬機器主機2,由虛擬機器主機2rewrite至虛擬機器主機3,再由虛擬機器主機3與tomcat進行通訊。同時在虛擬機器主機3,會將使用者認證放在參數中隨請求一起傳遞給tomcat。

1.3 測試背景

為了配合使用認證系統,本系統上所有請求將更改為使用https進行訪問。同時為了增加安全性以及對本系統核心操作的控制,需要對請求進行分級控制,即普通操作為單向SSL,核心操作為雙向SSL。

需要互動的系統:OSCP伺服器,用於線上驗證認證狀態。

2.測試目的

主要驗證系統:

(1). 評估在預期使用者規模的情況下,系統是否響應正常。

(2). 評估系統在應用了單雙向SSL之後響應的區別,關聯伺服器是否會影響該系統的效能情況。

(3). 在逐漸增加負載的情況下,分析系統瓶頸。

(4). 在壓力情況下系統的表現。

(5). 在長時間運行該模組是否會出現系統效能異常。

3.測試分析

3.1情境分析

假設根據系統分析,主要測試兩個情境,第一是單向SSL,登陸情境,第二是雙向SSL,對下載檔案功能。假設預估的並發使用者量都是10人。

 

使用者行為

操作

預估並發使用者量

下載檔案

選擇指定檔案->下載

10

登陸

填寫使用者名稱和密碼->登陸->載入登陸後介面

10

 

 

3.2測試模組分析

負載測試:主要測試各個情境在正常情況下是否運轉,是否系統響應正常。並且對比應用了單雙向SSL之後的響應差別,關注到關聯伺服器是否會影響該系統的效能情況。

      並且在不斷增加負載的情況下,分析系統的瓶頸。

壓力測試:主要考察在壓力情況下系統的表現,是否會出現效能異常,以及出現異常之後是否能及時回複並給與友好性提示。

長時間穩定性測試:主要測試系統在預期的使用者量下,在一段時間內,是否能夠穩定的響應。重點關注下記憶體是否泄漏。

4.測試執行

基本步驟:錄製LoadRunner指令碼->執行LoadRunner情境->進行分析

在測試執行裡主要說一下錄製指令碼時遇到的問題,關於loadrunner對於單雙向SSL指令碼錄製的問題。

主要從以下幾個方面來說,如何將瀏覽器匯出的認證.crt轉換為.pem,如何錄製單向SSL指令碼,如何錄製雙向SSL指令碼。

 

4.1 如何將瀏覽器匯出的認證.crt轉換為.pem

 

所有的blog上都說用openssl轉換。那麼哪裡有openssl?

答:這個再linux下面一般都帶的,沒有的話yuminstall openssl 就可以了

步驟是什嗎?

答: pfx提取公開金鑰私密金鑰方法如下:    

           openssl pkcs12 -in server.pfx -nodes -out temp.pem  //產生臨時檔案:temp.pem

           openssl rsa -in temp.pem -out server.key         //產生伺服器私密金鑰 server.key

           openssl x509 -in temp.pem -out server.pem    //產生伺服器公開金鑰 server.pem

 

4.2 如何錄製單向SSL指令碼?

只需要設定LoadRunner即可,LR中可以直接錄製https指令碼,只需在create new scripts->web(HTTP/HTML)->start record->options->netword下的port mapping,設定為winnetlevel data (2、runtime setting -> Internet protocol->perference 選中 WinInet replay instead of sockets.)

4.3 如何錄製雙向SSL指令碼?

由於LR的機制是利用LR類比瀏覽器與伺服器進行互動,所以認證需要安裝在

 

---------------------------------------------------------------------------------------------

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-sidecertificate[Base64/PEM]鉤選,為使用用戶端認證訪問。

單擊。。。選擇剛剛轉換產生的用戶端認證。

如果你為認證有設定密碼,在這裡也需要輸入。

到此為止所有與http區別的配置就完成了。

錄製後,可以在指令碼的開始,看到LoadRunner新產生的語句

   web_set_certificate_ex("CertFilePath=test01。pem",

                   "CertFormat=PEM",

                   "KeyFilePath=test01。pem",

                   "KeyFormat=PEM",

                   "Password=123456",

                   "CertIndex=1",

                   LAST);

下面的操作和普通的頁面效能測試一樣。

 

 

 

 

Loadrunner 錄製htpps 協議通過IE開啟頁面,報錯“Internet Explorer cannot display the webpage”.

但是直接開啟IE不通過 loadrunner開啟https頁面卻可以正常開啟。  問題解決如下(Windows 7):執行:cmd然後執行命令:certutil -setreg chain\minRSAPubKeyBitLength 512重啟電腦,問題解決。 參考文章:http://eyeontesting.com/questions/2758/loadrunner-vugen-cannot-record-secure-web-sites-ht.html  測webservice遇到https的請求,是在事務開始前加web_set_sockets_option("SSL_VERSION","TLS");

Loadrunner對https協議(單雙向SSL)的web端效能測試

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.