Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var sys = require('sys'),
- http = require('http');
- // Usage:
- // node client.js port, num, c
- var port = process.argv[2];
- var n = process.argv[3];
- var c = process.argv[4];
- var count = n;
- var data = 0;
- var start = new Date().valueOf();
- for (var i = 0; i < c; i++) {
- (function () {
- var client = http.createClient(port, "127.0.0.1");
- (function get() {
- var request = client.request("GET", "/", {});
- request.addListener('response', function (response) {
- response.addListener('data', function (chunk) {
- data += chunk.length;
- });
- response.addListener('end', function () {
- count--;
- if (count > 0) get();
- else end();
- });
- });
- request.end();
- }());
- }());
- }
- var done = false;
- function end() {
- if (done) return;
- done = true;
- var seconds = (new Date().valueOf() - start) / 1000;
- sys.debug("Port: " + port);
- sys.debug("Num Requests: " + n);
- sys.debug("Concurrency: " + c);
- sys.debug("Total Data: " + data + " bytes");
- sys.debug("Total Time: " + seconds + " seconds");
- sys.debug((n / seconds) + " Requests/sec");
- sys.debug((data / 1024 / seconds) + " Kilobytes/sec");
- }
- // node client.js 8000 10000 100
- // DEBUG: Port: 8000
- // DEBUG: Num Requests: 10000
- // DEBUG: Concurrency: 100
- // DEBUG: Total Data: 10000 bytes
- // DEBUG: Total Time: 3.16 seconds
- // DEBUG: 3164.5569620253164 Requests/sec
- // DEBUG: 3.090387658227848 Kilobytes/sec
- // node client.js 8001 10000 100
- // DEBUG: Port: 8001
- // DEBUG: Num Requests: 10000
- // DEBUG: Concurrency: 100
- // DEBUG: Total Data: 100000 bytes
- // DEBUG: Total Time: 3.088 seconds
- // DEBUG: 3238.341968911917 Requests/sec
- // DEBUG: 31.62443329015544 Kilobytes/sec
- // node client.js 8002 16000 100
- // DEBUG: Port: 8002
- // DEBUG: Num Requests: 16000
- // DEBUG: Concurrency: 100
- // DEBUG: Total Data: 1600000 bytes
- // DEBUG: Total Time: 4.843 seconds
- // DEBUG: 3303.737352880446 Requests/sec
- // DEBUG: 322.63060086723107 Kilobytes/sec
- // node client.js 8003 16000 100
- // DEBUG: Port: 8003
- // DEBUG: Num Requests: 16000
- // DEBUG: Concurrency: 100
- // DEBUG: Total Data: 16000692 bytes
- // DEBUG: Total Time: 5.022 seconds
- // DEBUG: 3185.9816806053364 Requests/sec
- // DEBUG: 3111.444799133811 Kilobytes/sec
- // node client.js 8004 8000 100
- // DEBUG: Port: 8004
- // DEBUG: Num Requests: 8000
- // DEBUG: Concurrency: 100
- // DEBUG: Total Data: 80004669 bytes
- // DEBUG: Total Time: 2.619 seconds
- // DEBUG: 3054.6009927453224 Requests/sec
- // DEBUG: 29831.82877827892 Kilobytes/sec
- // node client.js 8005 4000 100
- // DEBUG: Port: 8005
- // DEBUG: Num Requests: 4000
- // DEBUG: Concurrency: 100
- // DEBUG: Total Data: 401374752 bytes
- // DEBUG: Total Time: 2.19 seconds
- // DEBUG: 1826.4840182648402 Requests/sec
- // DEBUG: 178980.60787671234 Kilobytes/sec
- // node client.js 8006 2000 100
- // DEBUG: Port: 8006
- // DEBUG: Num Requests: 2000
- // DEBUG: Concurrency: 100
- // DEBUG: Total Data: 2047093547 bytes
- // DEBUG: Total Time: 6.73 seconds
- // DEBUG: 297.17682020802374 Requests/sec
- // DEBUG: 297045.28855753154 Kilobytes/sec
Add Comment
Please, Sign In to add comment