node-query/node_modules/mysql2/benchmarks/ruby-mysql2/benchmark-query.js

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();
})();