Skip to content

Commit

Permalink
Merge pull request #85 from rotosonic/FasterDownloadTesting
Browse files Browse the repository at this point in the history
Faster download testing
  • Loading branch information
rotosonic authored Mar 3, 2017
2 parents dd91398 + 11bedae commit 5d97116
Show file tree
Hide file tree
Showing 9 changed files with 998 additions and 1,065 deletions.
4 changes: 3 additions & 1 deletion controllers/TestPlanController.js
Original file line number Diff line number Diff line change
Expand Up @@ -87,13 +87,15 @@ class TestPlanController {
if (global.hasAddressIpv6) {
testPlan.hasIPv6 = true;
testPlan.baseUrlIPv6 = '[' + global.AddressIpv6 + ']:' + global.webPort;
testPlan.baseUrlIPv6NoPort = '[' + global.AddressIpv6 + ']';
//TODO to investigate ipv6 address for localhost web sockets
testPlan.webSocketUrlIPv6 = 'ws://v6-' + testPlan.osHostName + ':' + global.webSocketPort;
} else {
testPlan.hasIPv6 = false;
}
testPlan.baseUrlIPv4 = global.AddressIpv4 + ':' + global.webPort;
testPlan.port = global.webPort;
testPlan.baseUrlIPv4NoPort = global.AddressIpv4;
testPlan.port = global.webPort;
testPlan.maxDownloadSize = global.maxDownloadBuffer;
res.json(testPlan);
}
Expand Down
7 changes: 6 additions & 1 deletion index.js
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,12 @@ module.exports.TestServerController = require('./controllers/TestServerControlle

app.use(express.static(path.join(__dirname, 'public')));
app.listen(webPort, '::');

app.listen(5020);
app.listen(5021);
app.listen(5022);
app.listen(5023);
app.listen(5024);
app.listen(5025);
//max download buffer size based off of download probing data
global.maxDownloadBuffer = 532421875;

Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "speed-testjs",
"version": "1.0.20",
"version": "1.0.21",
"description": "measure internet bandwidth",
"main": "index.js",
"author": "Maulan Byron",
Expand Down
41 changes: 21 additions & 20 deletions public/examples/download/downloadApp.js
Original file line number Diff line number Diff line change
Expand Up @@ -33,19 +33,15 @@
var option;
var startTestButton;
var firstRun = true;
var downloadSize = 10000;
var downloadCurrentRuns = 6;
var downloadTestTimeout = 18000;
var downloadTestLength = 18000;
var downloadMovingAverage = 10;
var downloadProbingTime = 3000;
var downloadProgressInterval = 10;
var downloadLowProbeBandwidth = 40;
var downHighProbeBandwidth = 300;
var downLowProbeBandwidthConcurrentRuns = 1;
var downHighProbeBandwidthConcurrentRuns = 6;
var downloadLowProbeBandwidthProgressInterval = 10;
var downHighProbeBandwidthProgressInterval = 50;
var downloadSize = 230483949;
var downloadCurrentRuns = 18;
var downloadTestTimeout = 12000;
var downloadTestLength = 12000;
var downloadMovingAverage = 18;
var downloadProgressInterval = 25;
var urls = [];
var ports = [5020, 5021, 5022, 5023, 5024, 5025];
var monitorInterval = 100;

function initTest() {
function addEvent(el, ev, fn) {
Expand Down Expand Up @@ -161,7 +157,7 @@
void ((func && func instanceof Function) && func(data));
}
};
xhr.open('GET', '/testplan', true);
xhr.open('GET', '/testplan', true);
xhr.send(null);
}

Expand Down Expand Up @@ -328,16 +324,21 @@
myChart.setOption(option, true);
}

urls.length = 0;

var baseUrl = (version === 'IPv6') ? testPlan.baseUrlIPv6NoPort : testPlan.baseUrlIPv4NoPort;

var baseUrl = (version === 'IPv6') ? 'http://' + testPlan.baseUrlIPv6 : 'http://' + testPlan.baseUrlIPv4;
for (var i = 0; i < ports.length; i++) {
for (var b = 0; b < 6; b++) {
urls.push('http://' + baseUrl + ':' + ports[i] + '/download?bufferSize=');

var downloadHttpConcurrentProgress = new window.downloadHttpConcurrentProgress(baseUrl + '/download?bufferSize=', 'GET', downloadCurrentRuns, downloadTestTimeout, downloadTestLength, downloadMovingAverage, downloadHttpOnComplete, downloadHttpOnProgress,
downloadHttpOnAbort, downloadHttpOnTimeout, downloadHttpOnError,downloadSize,downloadProbingTime,downloadProgressInterval,testPlan.maxDownloadSize,
downloadLowProbeBandwidth, downHighProbeBandwidth,downLowProbeBandwidthConcurrentRuns,downHighProbeBandwidthConcurrentRuns,
downloadLowProbeBandwidthProgressInterval,downHighProbeBandwidthProgressInterval);
}
}

var downloadHttpConcurrentProgress = new window.downloadHttpConcurrentProgress(urls, 'GET', downloadCurrentRuns, downloadTestTimeout, downloadTestLength, downloadMovingAverage, downloadHttpOnComplete, downloadHttpOnProgress,
downloadHttpOnAbort, downloadHttpOnTimeout, downloadHttpOnError, downloadSize, downloadProgressInterval, monitorInterval);

downloadHttpConcurrentProgress.initiateTest();
downloadHttpConcurrentProgress.initiateTest();
}

})();
1 change: 1 addition & 0 deletions public/examples/download/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ <h1 class="logo"></h1>
<script src="lib/downloadHttpConcurrentProgress.js"></script>
<script src="lib/downloadProbeTest.js"></script>
<script src="uilib/echarts.min.js"></script>

<script src="examples/download/downloadApp.js"></script>
</body>

Expand Down
Loading

0 comments on commit 5d97116

Please sign in to comment.