# Confused over results

**URL:** <https://community.gatling.io/t/confused-over-results/2227>\
**Category:** Gatling (Open-Source)\
**Created:** [April 22, 2015, 8:33am UTC](https://community.gatling.io/t/confused-over-results/2227 "2015-04-22T08:33:22Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Omair\_Javaid](https://avatars.discourse-cdn.com/v4/letter/o/58956e/32.png) [@Omair\_Javaid](https://community.gatling.io/u/Omair_Javaid)\
**Post date:** [April 22, 2015, 8:33am UTC](https://community.gatling.io/t/confused-over-results/2227/1 "2015-04-22T08:33:22Z")

</div>

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](https://qa-lms-sr.360training.com)”  
val uri2 = “[qa-lms-sr.360training.com](http://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](http://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](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+(Macintosh%3B+Intel+Mac+OS+X+10.10%3B+rv%3A33.0)+Gecko%2F20100101+Firefox%2F33.0&currentView=redirect%3A%2Fmgr\_manageLearners.do&brand=default&logoutSuccessUrl=https%3A%2F%2Fqa-cas.360training.com%2Fcas%2Flogout%3Fservice%3Dhttps%253A%252F%252Fqa-ws1.austin.360training.com%252FLogoff%253FstoreId%253D21701%2526langId%253D-1%2526catalogId%253D10051%2526URL%253Dhttp%25253A%25252F%25252Fqa-ws1.austin.360training.com%25252Fstore](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](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](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](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](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](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](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](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](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](https://europe1.discourse-cdn.com/flex013/uploads/gatling2/original/1X/3ec48b76542a8e80e7605dd82fdf8710e55452ee.png)

---

<div class="post-metadata">

**Author:** ![slandelle](https://dub1.discourse-cdn.com/flex013/user_avatar/community.gatling.io/slandelle/32/4_2.png) [@slandelle](https://community.gatling.io/u/slandelle)\
**Post date:** [April 27, 2015, 9:10am UTC](https://community.gatling.io/t/confused-over-results/2227/2 "2015-04-27T09:10:59Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![aidy\_lewis](https://avatars.discourse-cdn.com/v4/letter/a/439d5e/32.png) [@aidy\_lewis](https://community.gatling.io/u/aidy_lewis)\
**Post date:** [April 28, 2015, 9:23am UTC](https://community.gatling.io/t/confused-over-results/2227/3 "2015-04-28T09:23:03Z")

</div>

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:  
[https://github.com/BBC/gatling-load-tests/#grafanainfluxdb](https://github.com/BBC/gatling-load-tests/#grafanainfluxdb)

Aidy
