57 lines
1.6 KiB
JavaScript
57 lines
1.6 KiB
JavaScript
|
var assert = require('assert');
|
||
|
var createConnection = require('../../test/common').createConnection;
|
||
|
|
||
|
var sql = process.argv[2];
|
||
|
var starthr = process.hrtime();
|
||
|
var haml = require('hamljs');
|
||
|
var fs = require('fs');
|
||
|
|
||
|
var render = haml.compile(fs.readFileSync('./views/index.haml'));
|
||
|
|
||
|
l = 0;
|
||
|
var rowsReceived = 0;
|
||
|
var numRequests = 0;
|
||
|
|
||
|
(function(cb) {
|
||
|
var db = createConnection();
|
||
|
|
||
|
var left = 1;
|
||
|
|
||
|
var start = Date.now();
|
||
|
var prev1000 = start;
|
||
|
function bench()
|
||
|
{
|
||
|
//db.query(sql).on('end', function(err, res) {
|
||
|
db.query(sql, function(err, res) {
|
||
|
//db.execute(sql, function(err, res) {
|
||
|
|
||
|
rowsReceived += res.length;
|
||
|
numRequests++;
|
||
|
|
||
|
l += render({results: res}).length;
|
||
|
console.log(render({results: res}));
|
||
|
|
||
|
left--;
|
||
|
if (left % 1000 === 0)
|
||
|
{
|
||
|
var curTime = Date.now();
|
||
|
var last1000time = curTime - prev1000;
|
||
|
prev1000 = curTime;
|
||
|
console.error( (1000000/last1000time) + ' req/sec' );
|
||
|
}
|
||
|
|
||
|
if (left > 0)
|
||
|
bench();
|
||
|
else {
|
||
|
console.error( numRequests *1000/(Date.now() - start) + ' req/sec (average 10000 reqs)');
|
||
|
console.error( rowsReceived*1000/(Date.now() - start) + ' row/sec (average 10000 reqs)');
|
||
|
db.end();
|
||
|
if (cb) cb();
|
||
|
console.log(process.hrtime(starthr));
|
||
|
console.log(l);
|
||
|
}
|
||
|
});
|
||
|
}
|
||
|
bench();
|
||
|
})();
|