性能測試學習09_場景設計(一)

controllerjavascript

 

一、設計手工場景,理解集合點的策略html

 

二、添加load generatorjava

 

 

1、controller基礎知識web

  1.controller的原理json

   經過場景設計來模擬用戶的真實操做並調用vugen中的腳本,而後經過設置壓力機產生壓力,在場景運行中實時監控用戶的執行狀況,tps、響應時間、吞吐量、服務器資源使用狀況服務器

2、contrller併發

  1.功能截圖介紹app

  2.爲何java vuser協議以進程跑?高併發

    java vuser協議以線程跑,發現壓力根本上不去,還須要實際操做進行研究。性能

  3.建立集合點(實際性能測試的時候,使用集合點的狀況很少,由於還沒到這種輪番請求的測試場景以前,服務器通常已經扛不住通常的性能測試場景了)

    1)在事物前一行右鍵,【insert】→【rendezvous】

  2)如圖,建立成功

  2)回到contoller軟件,從新選擇想要壓測的腳本,讓集合點生效,進行集合點設置

  

  3)集合點策略的三種方式

 

   第一種:當X%個用戶到達集合點時釋放;

   第二種:當X%個當前的併發用戶到集合點時釋放,相似於分批對服務器產生壓力,看服務器的及時處理能力;

   第三種:當X個用戶到達集合點時釋放

  4)做用:1)模擬瞬間的併發,2)主要用於這種秒殺場景

登陸腳本代碼:

Action()
{
    lr_save_string("120.78.128.25:8765","IP");
//關聯登陸成功
    web_reg_save_param_ex(
        "ParamName=success",
        "LB=<p class=\"success\">",
        "RB=</p>",
        //"DFEs=test",
        //"NotFound=warning",
        "Ordinal=1",
        //"SaveOffset=2",
        //"SaveLen=3",
        SEARCH_FILTERS,
        "Scope=ALL",
        //"RelFrameID=1",
        //"RequestUrl=testURL",
        //"ContentType=text/html",
        LAST );

//登陸成功
    lr_rendezvous("登陸");//建立集合點
    
    lr_start_transaction("登陸成功");

    web_submit_data("web_submit_data",
     "Action=http://{IP}/Frontend/Index/login",
     "Method=POST",
     "TargetFrame=",
     "RecContentType=application/json, text/javascript, */*; q=0.01",
     "EncType=application/x-www-form-urlencoded; charset=UTF-8",
     "Referer=http://{IP}/Index/login.html",
     "Snapshot=t22.inf",
     "Mode=HTML",
     ITEMDATA,
     "Name=phone", "Value=13825161923", ENDITEM,
     "Name=password", "Value=lemon123", ENDITEM,
     "Name=vcode", "Value=", ENDITEM,
     "Name=remember_me", "Value=1", ENDITEM,
     "Name=notify_url", "Value=", ENDITEM,
     LAST );

//判斷是否登陸成功
       //strcmp(str1,str2):比較兩str的大小      
       lr_convert_string_encoding(lr_eval_string("{success}"),"utf-8",NULL,"Success");  //將亂碼的「登陸成功」轉碼爲漢字格式
       if(strcmp(lr_eval_string("{Success}"),"登陸成功")==0)
    {
       lr_end_transaction("登陸成功",LR_PASS);
       lr_output_message("本次登陸狀態是:%s",lr_eval_string("{Success}"));
    }
   else
    {
       lr_end_transaction("登陸成功",LR_FAIL);
    }
    
    return 0;
}

  4.添加壓力機,點擊下拉框,添加後,在name框中輸入壓力機的ip

   5.如何測試壓力機是否鏈接成功?

  6.如何確認服務器的最大併發數?

    Edit Action設置,經過設置間隔時間跟每次間隔時間的增長數量,不斷提升併發數,以此來觀察服務器資源使用狀況,當資源使用率    達到最高點時,基本得出服務器的最大併發範圍,不至於隨意壓測將服務崩掉。

 

   7.如何造場景數據?好比:50個用戶迭代100,造成5000條數據

    1)先設置迭代次數,好比100

    2)而後設置併發數50,

    3)最後獲得50*100條數據

 

 

3、遇到問題

  一、在剛使用lr時,勾選了紅色框百分比,在後續使用中發現以下問題

   勾選以後的界面,多了百分比,沒有localhost,不能對集合點進行設置,由於是置灰的

   

  

相關文章
相關標籤/搜索