Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*jslint node: true, plusplus: true*/
- 'use strict';
- var mysql = require('mysql'),
- db = mysql.createConnection({
- host: 'localhost',
- user: 'root',
- password: 'root'
- }),
- RAND_MAX = 9999;
- db.connect();
- function get_random_id() {
- return Math.floor(Math.random() * RAND_MAX);
- }
- function do_logout(id, cb) {
- function done(err, rows, fields) {
- if (err) {
- throw err;
- }
- cb();
- }
- db.query('UPDATE users SET active = 0 WHERE id = ' + id, done);
- }
- function do_usercount(cb) {
- function done(err, rows, fields) {
- if (err) {
- throw err;
- }
- cb();
- }
- db.query('SELECT COUNT(*) AS cnt FROM users WHERE active = 1', done);
- }
- function do_login(id, cb) {
- function done(err, rows, fields) {
- if (err) {
- throw err;
- }
- cb();
- }
- db.query('UPDATE users SET active = 1 WHERE id = ' + id, done);
- }
- function run_benchmark() {
- var start = new Date(), i = 400,
- logout, login, done = 0;
- function cb() {
- done++;
- if (done === 1200) {
- console.log('Took ', (new Date()) - start, 'ms.');
- db.end();
- }
- }
- while (i--) {
- logout = get_random_id();
- login = get_random_id();
- while (login !== logout) {
- login = get_random_id();
- }
- do_logout(logout, cb);
- do_login(login, cb);
- do_usercount(cb);
- }
- }
- db.query('USE ragezone_test', run_benchmark);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement