Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save larsvegas/9677f80193436dd12484c6c6775d9987 to your computer and use it in GitHub Desktop.
Save larsvegas/9677f80193436dd12484c6c6775d9987 to your computer and use it in GitHub Desktop.
2016-04-AWS-FeatureRoll-StormForgerTestCase-lambda.js find more information at: http://bit.ly/awsfeatureroll
// ////////////////////////////////////////
// 1. Settings
// ////////////////////////////////////////
// Target
definition.setTarget("http://awsfeatureroll.elasticbeanstalk.com");
// Arrival Phases
definition.setArrivalPhases([
{ duration: 1 * 60, rate: 5},
{ duration: 1 * 60, rate: 10},
{ duration: 1 * 60, rate: 20},
{ duration: 1 * 60, rate: 30},
{ duration: 1 * 60, rate: 40},
{ duration: 1 * 60, rate: 50}
]);
// TestCase Options
definition.setTestOptions({
cluster: {
sizing: "small"
}
});
// Datasources
definition.setDataSources({
day: {
type: "random_number",
range: [1, 31],
},
});
// Vars
var useGzip = true;
var startDate = "2015-07-";
var endDate = "2015-12-";
// ////////////////////////////////////////
// 2. Sessions
// ////////////////////////////////////////
// 80% of all clients request the feature list
definition.session("features", 80, function(session) {
var startDay = session.pick("day");
var endDay = session.pick("day");
session.get("/api/feature?startdate=" + startDate + startDay + "&enddate=" + endDate + endDay, {
tag: "features",
gzip: useGzip
});
});
// 20% of all clients request a RevealJS Slide Deck
definition.session("slides", 20, function(session) {
var startDay = session.pick("day");
var endDay = session.pick("day");
session.get("/api/slides?startdate=" + startDate + "&enddate=" + endDate, {
tag: "slides",
gzip: useGzip
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment