mirror of https://github.com/lukechilds/node.git
Ryan Dahl
13 years ago
2 changed files with 46 additions and 0 deletions
@ -0,0 +1,25 @@ |
|||||
|
var net = require('net'); |
||||
|
var received = 0; |
||||
|
var start = new Date(); |
||||
|
var socket = net.connect(8000); |
||||
|
|
||||
|
socket.on('data', function(d) { |
||||
|
received += d.length; |
||||
|
}); |
||||
|
|
||||
|
var interval = setInterval(function() { |
||||
|
// After 1 gigabyte shutdown.
|
||||
|
if (received > 10 * 1024 * 1024 * 1024) { |
||||
|
socket.destroy(); |
||||
|
clearInterval(interval); |
||||
|
process.exit(0); |
||||
|
} else { |
||||
|
// Otherwise print some stats.
|
||||
|
var now = new Date(); |
||||
|
var gigabytes = received / (1024 * 1024 * 1024); |
||||
|
var gigabits = gigabytes * 8.0; |
||||
|
var millisec = now - start; |
||||
|
var sec = millisec / 1000; |
||||
|
console.log((gigabits / sec) + " gbit/sec") |
||||
|
} |
||||
|
}, 1000); |
@ -0,0 +1,21 @@ |
|||||
|
var fork = require('child_process').fork; |
||||
|
var net = require('net'); |
||||
|
var buffer = new Buffer(1024 * 1024); |
||||
|
|
||||
|
function write(socket) { |
||||
|
if (!socket.writable) return; |
||||
|
|
||||
|
socket.write(buffer, function() { |
||||
|
write(socket); |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
var server = net.createServer(function(socket) { |
||||
|
server.close(); |
||||
|
write(socket); |
||||
|
}); |
||||
|
|
||||
|
server.listen(8000, function() { |
||||
|
fork(__dirname + '/throughput-child.js'); |
||||
|
}); |
||||
|
|
Loading…
Reference in new issue