You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@usergrid.apache.org by sf...@apache.org on 2014/11/07 23:29:54 UTC
[4/4] incubator-usergrid git commit: loadtests: changing setup model
loadtests: changing setup model
Project: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/commit/7c14d836
Tree: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/tree/7c14d836
Diff: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/diff/7c14d836
Branch: refs/heads/two-dot-o
Commit: 7c14d8368652a546dee178e7a9a8fb73fcb1a3a4
Parents: ce011f1
Author: Shawn Feldman <sf...@apache.org>
Authored: Fri Nov 7 15:29:32 2014 -0700
Committer: Shawn Feldman <sf...@apache.org>
Committed: Fri Nov 7 15:29:32 2014 -0700
----------------------------------------------------------------------
.../org/apache/usergrid/helpers/Setup.scala | 27 ++++++++++++--------
.../scenarios/ConnectionScenarios.scala | 2 +-
.../scenarios/NotificationScenarios.scala | 4 +--
.../org/apache/usergrid/settings/Settings.scala | 21 ++++++---------
4 files changed, 28 insertions(+), 26 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/7c14d836/stack/loadtests/src/main/scala/org/apache/usergrid/helpers/Setup.scala
----------------------------------------------------------------------
diff --git a/stack/loadtests/src/main/scala/org/apache/usergrid/helpers/Setup.scala b/stack/loadtests/src/main/scala/org/apache/usergrid/helpers/Setup.scala
index 0762feb..2dd0ed7 100644
--- a/stack/loadtests/src/main/scala/org/apache/usergrid/helpers/Setup.scala
+++ b/stack/loadtests/src/main/scala/org/apache/usergrid/helpers/Setup.scala
@@ -106,23 +106,30 @@ object Setup {
def setupUsers() = {
if (!Settings.skipSetup) {
- val userFeeder = Settings.userFeeder
+ val userFeeder = Settings.getUserFeeder()
val numUsers = userFeeder.length
println(s"setupUsers: Sending requests for $numUsers users")
val list: ArrayBuffer[ListenableFuture[Response]] = new ArrayBuffer[ListenableFuture[Response]]
+ var successCount: Int = 0;
+ def purgeList = {
+ list.foreach(f => {
+ val response = f.get()
+ if (response.getStatusCode != 200) {
+ printResponse("Post User", response.getStatusCode, response.getResponseBody())
+ } else {
+ successCount += 1
+ }
+ })
+ list.clear()
+ }
userFeeder.foreach(user => {
list += setupUser(user);
- });
- var successCount: Int = 0;
- list.foreach(f => {
- val response = f.get()
- if (response.getStatusCode != 200) {
- printResponse("Post User", response.getStatusCode, response.getResponseBody())
- } else {
- successCount += 1
+ if(list.length == Integer.getInteger("purgeUsers",100)){
+ purgeList
}
- })
+ });
+
println(s"setupUsers: Received $successCount successful responses out of $numUsers requests.")
} else {
println("Skipping Adding Users due to skipSetup=true")
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/7c14d836/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/ConnectionScenarios.scala
----------------------------------------------------------------------
diff --git a/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/ConnectionScenarios.scala b/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/ConnectionScenarios.scala
index 923a9bd..aa724d6 100755
--- a/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/ConnectionScenarios.scala
+++ b/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/ConnectionScenarios.scala
@@ -47,7 +47,7 @@ import io.gatling.http.Predef._
val entityNameFeeder = FeederGenerator.generateEntityNameFeeder("device", Settings.numEntities)
val createScenario = scenario("Create Connections")
- .feed(Settings.userFeeder)
+ .feed(Settings.getUserFeeder)
.exec(TokenScenarios.getUserToken)
.exec( UserScenarios.getUserByUsername)
.repeat(2){
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/7c14d836/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/NotificationScenarios.scala
----------------------------------------------------------------------
diff --git a/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/NotificationScenarios.scala b/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/NotificationScenarios.scala
index a96cb61..ed1610f 100755
--- a/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/NotificationScenarios.scala
+++ b/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/NotificationScenarios.scala
@@ -67,10 +67,10 @@ object NotificationScenarios {
.check(status.is(200))
)
- val numEntities:Int = Settings.numUsers * 3 * Settings.duration
+ val numEntities:Int = Settings.numUsers * 2
val createScenario = scenario("Create Push Notification")
- .feed(Settings.userFeeder)
+ .feed(Settings.getUserFeeder)
.exec(TokenScenarios.getUserToken)
.exec( UserScenarios.getUserByUsername)
.repeat(2){
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/7c14d836/stack/loadtests/src/main/scala/org/apache/usergrid/settings/Settings.scala
----------------------------------------------------------------------
diff --git a/stack/loadtests/src/main/scala/org/apache/usergrid/settings/Settings.scala b/stack/loadtests/src/main/scala/org/apache/usergrid/settings/Settings.scala
index b595c9d..aec7cfc 100755
--- a/stack/loadtests/src/main/scala/org/apache/usergrid/settings/Settings.scala
+++ b/stack/loadtests/src/main/scala/org/apache/usergrid/settings/Settings.scala
@@ -33,26 +33,19 @@ object Settings {
val httpConf = http.baseURL(baseAppUrl)
val skipSetup:Boolean = System.getProperty("skipSetup") == "true"
+ val duration:Int = Integer.getInteger("duration", 300).toInt // in seconds
// Simulation settings
- var numUsers:Int = Integer.getInteger("numUsers", 10).toInt
+ val constantUsers:Int = Integer.getInteger("rampUsers", 10).toInt
+
+ var numUsers:Int = constantUsers * duration
val numEntities:Int = Integer.getInteger("numEntities", 5000).toInt
val numDevices:Int = Integer.getInteger("numDevices", 2000).toInt
val rampTime:Int = Integer.getInteger("rampTime", 0).toInt // in seconds
- val duration:Int = Integer.getInteger("duration", 300).toInt // in seconds
val throttle:Int = Integer.getInteger("throttle", 50).toInt // in seconds
- if(numUsers<duration){
- println(s"Changing numUsers $numUsers to duration length $duration")
- numUsers = duration
- }
- if(numUsers % duration != 0){
- val message = s"please use numUsers ($numUsers) that is evenly divisible by duration($duration)"
- println(message)
- throw new Exception(message)
- }
// Geolocation settings
val centerLatitude:Double = 37.442348 // latitude of center point
val centerLongitude:Double = -122.138268 // longitude of center point
@@ -63,10 +56,12 @@ object Settings {
val pushNotifier = if (System.getProperty("pushNotifier") != null) System.getProperty("pushNotifier") else "loadNotifier"
val pushProvider = if (System.getProperty("pushProvider") != null) System.getProperty("pushProvider") else "noop"
- val constantUsers:Int = Settings.numUsers/Settings.duration
println(s"Will inject $constantUsers users per sec")
- val userFeeder = FeederGenerator.generateUserWithGeolocationFeeder(numUsers, userLocationRadius, centerLatitude, centerLongitude)
+ def getUserFeeder():Array[Map[String, String]]= {
+ val userFeeder = FeederGenerator.generateUserWithGeolocationFeeder(numUsers, userLocationRadius, centerLatitude, centerLongitude)
+ return userFeeder
+ }
}