Confused over results

101 views
Skip to first unread message

Omair Javaid

unread,
Apr 22, 2015, 4:33:22 AM4/22/15
to gat...@googlegroups.com
Hi i am trying to find the bottle neck of my server , my server has 3 nodes attached with load balances, i am using the following scenario and getting these results , confusion is at what level my server are unable to crater users , please help : please let me know if i am writing the simulation correctly and getting the test setup load correct



class Manager_AccessReport extends Simulation {
  //val rampRateInj = atOnceUsers(10)  over (15 minutes)
 
    val rampRateInj = heavisideUsers(200) over(15 minutes)
   
 
 
 
    object HomePage {
     val random = new scala.util.Random
     val feeder = csv("Managers.csv").random
     val uri1 = "https://qa-lms-sr.360training.com"
     val uri2 = "qa-lms-sr.360training.com"

    val headers_accept = Map("Accept" -> "text/css,*/*;q=0.1")

    val home = exec(
      http("initial_open_request").get("/lms/login.do")
    ).pause(401 milliseconds)
      .exec(
        http("Initial_open").get("http://" + uri2 + "/lms/login.do").headers(headers_accept)
          .check(css("#j_username").find(0).exists)
      ).pause(4)
      .feed(feeder).pause(3)
     
  }

  object LoginPage {
    val uri2 = "qa-lms-sr.360training.com"

    val login =
      exec(http("Login_request").post("/lms/j_spring_security_check")
        .formParam("spring-security-redirect", "/interceptor.do")
        .formParam("j_username", "${username}")
        .formParam("j_password", "lms123456")
      ).pause(200)
  }
 
 
 object MainPage {
    val uri1 = "https://qa-lms-sr.360training.com:443"
    val HomePage_headers = Map("Referer" -> "https://qa-lms-sr.360training.com/lms/mgr_manageLearners.do?userAgent=Mozilla%2F5.0+%28Macintosh%3B+Intel+Mac+OS+X+10.10%3B+rv%3A33.0%29+Gecko%2F20100101+Firefox%2F33.0&currentView=redirect%3A%2Fmgr_manageLearners.do&brand=default&logoutSuccessUrl=https%253A%252F%252Fqa-cas.360training.com%252Fcas%252Flogout%253Fservice%253Dhttps%25253A%25252F%25252Fqa-ws1.austin.360training.com%25252FLogoff%25253FstoreId%25253D21701%252526langId%25253D-1%252526catalogId%25253D10051%252526URL%25253Dhttp%2525253A%2525252F%2525252Fqa-ws1.austin.360training.com%2525252Fstore")
    val Usergroup_headers = Map("Referer" -> "https://qa-lms-sr.360training.com/lms/lms_handleMenu.do?featureGroup=Users%20%26%20Groups&feature=LMS-MGR-0001&actionUrl=mgr_manageLearners.do")
    val ManageUsers_headers = Map("Referer" -> "https://qa-lms-sr.360training.com/lms/mgr_manageLearners.do")
  

    val ViewPlan_headers = Map("Referer" -> "https://qa-lms-sr.360training.com/lms/mgr_viewPlanAndEnroll.do")

    val ClickReports_headers = Map("Referer" -> "https://qa-lms-sr.360training.com/lms/lms_handleMenu.do?featureGroup=Reports&feature=LMS-MGR-0012&actionUrl=mgr_ManageReports.do")

    val ManageReport_headers = Map("Referer" -> "https://qa-lms-sr.360training.com/lms/mgr_ManageReports.do")

    val ClickTools_headers = Map("Referer" -> "https://qa-lms-sr.360training.com/lms/lms_handleMenu.do?featureGroup=Tools&feature=LMS-MGR-0017&actionUrl=mgr_alertCourse.do")

    val Alert_headers = Map("Referer" -> "https://qa-lms-sr.360training.com/lms/mgr_alertCourse.do")


    val verifyMainPage = exec(http("HomePage_request")
      .get("/lms/lms_handleMenu.do?featureGroup=Users%20%26%20Groups&feature=LMS-MGR-0001&actionUrl=mgr_manageLearners.do")
      .headers(HomePage_headers))

      .exec(http("HomePage_request_view").get("/lms/mgr_manageLearners.do")
      .check(css("#page-icon").find(0).exists)
      ).pause(30000 milliseconds)

    val clickReports = exec(http("clickReports_request")
      .get("/lms/lms_handleMenu.do?featureGroup=Reports&feature=LMS-MGR-0012&actionUrl=mgr_ManageReports.do"))

      .exec(http("clickReports_request_view").get("/lms/mgr_ManageReports.do").headers(ClickReports_headers))
      .exec(http("ManageReport_request").post("/lms/mgr_ManageReports.do").headers(ManageReport_headers).formParam("method", "browseReports")
      .check(css("#page-icon").find(0).exists)
      ).pause(30000  milliseconds)
     
     
      val clickReports1 = exec(http("clickLearner_report_request1")
      .get("/lms/mgr_ManageReports.do?method=selectReport&reportId=1093&fav=false")
      .headers(ClickReports_headers))

      .exec(http("Performance_by_Course_view").get("/lms/mgr_ManageReports.do?method=selectReport&reportId=1093&fav=false")
      .check(css("td > div > a > div.btn_normal").find(0).exists)
      ).pause(30000 milliseconds)
     
      val clickReports2 = exec(http("clickLearner_report_request2")
      .get("/lms/mgr_ManageReports.do?method=selectReport&reportId=1095&fav=false")
      .headers(ClickReports_headers))

      .exec(http("Learner_Group_Performance_by_Course_Group").get("/lms/mgr_ManageReports.do?method=selectReport&reportId=1095&fav=false")
      .check(css("td > div > a > div.btn_normal").find(0).exists)
      ).pause(30000 milliseconds)
     
      val clickReports3 = exec(http("clickLearner_report_request3")
      .get("/lms/mgr_ManageReports.do?method=selectReport&reportId=1095&fav=false")
      .headers(ClickReports_headers))

      .exec(http("Learner_Group_Performance_by_Course_Group").get("/lms/mgr_ManageReports.do?method=selectReport&reportId=1095&fav=false")
      .check(css("td > div > a > div.btn_normal").find(0).exists)
      ).pause(30000 milliseconds)
     
      val clickReports4 = exec(http("clickLearner_report_request4")
      .get("/lms/mgr_ManageReports.do?method=selectReport&reportId=1096&fav=false")
      .headers(ClickReports_headers))

      .exec(http("Learner_Group_Performance_Summary_(All_Course_Groups)").get("/lms/mgr_ManageReports.do?method=selectReport&reportId=1096&fav=false")
      .check(css("td > div > a > div.btn_normal").find(0).exists)
      ).pause(30000 milliseconds)
     
       val clickReports5 = exec(http("clickLearner_report_request5")
      .get("/lms/mgr_ManageReports.do?method=selectReport&reportId=1094&fav=false")
      .headers(ClickReports_headers))

      .exec(http("Learner_Group_Performance_Summary_(All Courses)").get("/lms/mgr_ManageReports.do?method=selectReport&reportId=1094&fav=false")
      .check(css("td > div > a > div.btn_normal").find(0).exists)
      ).pause(30000 milliseconds)
     
      val clickReports6 = exec(http("clickLearner_report_request6")
      .get("/lms/mgr_ManageReports.do?method=selectReport&reportId=1098&fav=false")
      .headers(ClickReports_headers))

      .exec(http("Learner_Group_Performance_Summary_(All_Training_Plan)").get("/lms/mgr_ManageReports.do?method=selectReport&reportId=1098&fav=false")
      .check(css("td > div > a > div.btn_normal").find(0).exists)
      ).pause(30000 milliseconds)
     
      val clickReports7 = exec(http("clickLearner_report_request7")
      .get("/lms/mgr_ManageReports.do?method=selectReport&reportId=1081&fav=false")
      .headers(ClickReports_headers))

      .exec(http("Learner_Performance_by_Course").get("/lms/mgr_ManageReports.do?method=selectReport&reportId=1081&fav=false")
      .check(css("td > div > a > div.btn_normal").find(0).exists)
      ).pause(30000 milliseconds)
     
      val clickReports8 = exec(http("clickLearner_report_request8")
      .get("/lms/mgr_ManageReports.do?method=selectReport&reportId=7776&fav=false")
      .headers(ClickReports_headers))

      .exec(http("Learner_Performance_by_Course_(Comprehensive)").get("/lms/mgr_ManageReports.do?method=selectReport&reportId=7776&fav=false")
      .check(css("td > div > a > div.btn_normal").find(0).exists)
      ).pause(30000 milliseconds)
     
     
       val clickReports9 = exec(http("clickLearner_report_request9")
      .get("/lms/mgr_ManageReports.do?method=selectReport&reportId=1083&fav=false")
      .headers(ClickReports_headers))

      .exec(http("Learner_Performance_by_Course_Group").get("/lms/mgr_ManageReports.do?method=selectReport&reportId=1083&fav=false")
      .check(css("td > div > a > div.btn_normal").find(0).exists)
      ).pause(30000 milliseconds)
     
      val clickReports10 = exec(http("clickLearner_report_request10")
      .get("/lms/mgr_ManageReports.do?method=selectReport&reportId=1085&fav=false")
      .headers(ClickReports_headers))

      .exec(http("Learner_Performance_by_Training_Plan").get("/lms/mgr_ManageReports.do?method=selectReport&reportId=1085&fav=false")
      .check(css("td > div > a > div.btn_normal").find(0).exists)
      ).pause(30000 milliseconds)
     
       val clickReports11 = exec(http("clickLearner_report_request11")
      .get("/lms/mgr_ManageReports.do?method=selectReport&reportId=1084&fav=false")
      .headers(ClickReports_headers))

      .exec(http("Learner_Performance_Summary_(All_Course_Groups)").get("/lms/mgr_ManageReports.do?method=selectReport&reportId=1084&fav=false")
      .check(css("td > div > a > div.btn_normal").find(0).exists)
      ).pause(30000 milliseconds)
     
      val clickReports12 = exec(http("clickLearner_report_request12")
      .get("/lms/mgr_ManageReports.do?method=selectReport&reportId=1082&fav=false")
      .headers(ClickReports_headers))

      .exec(http("Learner_Performance_Summary_(All_Courses)").get("/lms/mgr_ManageReports.do?method=selectReport&reportId=1082&fav=false")
      .check(css("td > div > a > div.btn_normal").find(0).exists)
      ).pause(30000 milliseconds)
     
     
       val clickReports13 = exec(http("clickLearner_report_request13")
      .get("/lms/mgr_ManageReports.do?method=selectReport&reportId=1086&fav=false")
      .headers(ClickReports_headers))

      .exec(http("Learner_Performance_Summary_(All Training Plans)").get("/lms/mgr_ManageReports.do?method=selectReport&reportId=1086&fav=false")
      .check(css("td > div > a > div.btn_normal").find(0).exists)
      ).pause(30000 milliseconds)

  }
 
 
  val httpProtocol = http
    .baseURL("https://qa-lms-sr.360training.com")
    .inferHtmlResources(BlackList( """.*\.js""", """.*\.css""", """.*\.gif""", """.*\.jpeg""", """.*\.jpg""", """.*\.ico""", """.*\.woff""", """.*\.(t|o)tf""", """.*\.png"""), WhiteList())
    .acceptHeader("text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8")
    .disableAutoReferer
    .acceptEncodingHeader("gzip, deflate")
    .acceptLanguageHeader("en-US,en;q=0.5")
    .connection("keep-alive")
    .contentTypeHeader("application/x-www-form-urlencoded")
    .userAgentHeader("Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:33.0) Gecko/20100101 Firefox/33.0")
   

 val loginUsers50  = scenario("ManagerLogin").exec(HomePage.home, LoginPage.login,
         MainPage.verifyMainPage, MainPage.clickReports,MainPage.clickReports1,MainPage.clickReports2,MainPage.clickReports3
         ,MainPage.clickReports4,MainPage.clickReports5,MainPage.clickReports6,MainPage.clickReports7,MainPage.clickReports8
         ,MainPage.clickReports9,MainPage.clickReports10,MainPage.clickReports11,MainPage.clickReports12,MainPage.clickReports13)
  /*val loginUsers50 = scenario("loginUsers50").exec(HomePage.home,LoginPage.login,MainPage.verifyMainPage)
*/setUp(
    loginUsers50.inject(rampRateInj)
  
       
  ).protocols(httpProtocol)


Capture11.PNG

Stéphane LANDELLE

unread,
Apr 27, 2015, 5:11:01 AM4/27/15
to gat...@googlegroups.com
Whats' your issue exactly?

If you want to investigate bottlenecks on your system, you have to monitor it (app, database, network, etc). Tools depend on your technologies.

Stéphane Landelle
Lead developer


--
You received this message because you are subscribed to the Google Groups "Gatling User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gatling+u...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Message has been deleted

aidy_...@nym.hush.com

unread,
Apr 28, 2015, 5:23:06 AM4/28/15
to gat...@googlegroups.com
You could use a high ramp-up in your injection model and monitor your OS metrics through CloudWatch or (h)top or something. 

If you want to monitor your response times, realtime errors etc use Graphite/InfluxDB and Grafana.

There are some Docker images here:

Aidy

On 4/28/2015 at 10:14 AM, "Omair Javaid" <omair....@gmail.com> wrote:
I want to determine the peak of  how many concurrent users can run the given simulation 
Reply all
Reply to author
Forward
0 new messages