用jmeter進行多使用者併發壓力測試
近日manager要求對專案進行壓力測試,開始對jmeter進行了研究。jmeter是Apache一個開源專案,可對各種專案進行測試,甚至包括junit。
測試要求如下,多使用者同時登陸web應用程式,並進行操作,檢視在多使用者操作下,程式的performence。恰好,jemter下有個CSV Data Set Config,它用來設定一組引數,以便在向程式發出請求時,傳入引數。在進行壓力測試以前,應先將操作過程記錄下來。jmeter有個http prox serve,用它可以進行記錄。但有個更好的軟體,即badboy,如下圖,
只要輸入請求地址,便可將所有的操用步驟記錄下來,匯出jmeter的script,jmeter匯入這個sccript就是一個工程了,可以在裡面對其進行修改引數和新增新的斷言,監聽器等。多使用者的引數檔案就在這裡設。
右鍵單擊選擇配置器,一一輸入引數檔案地址(便jmeter能找到的路徑),變數名稱(引數引用時就是引用這個變數,用${變數名}進行引用,),引數分隔符(在引數檔案中,引數以一行為一組引數,其間可用;,
等隔開,如是tab,用/t),recycle on EOF(檔案結束後是否要迴圈),stop thread on EOF(檔案結束是否中止執行緒)。一般來講,如有n組引數,執行緒數就設為n,如下圖,
可在操作中新增一些斷言,看引數是否用上了,比如一個登陸介面,傳入使用者名稱和密碼,這個請求完成後,可對response頁面內容進行斷言。