From b60df56157ee1fd0bd4938799bac05a62fda91a1 Mon Sep 17 00:00:00 2001 From: lookshe Date: Sat, 14 Mar 2015 20:45:20 +0100 Subject: initial commit from working version --- .../redis/benches/stress/pubsub/pub.js | 38 ++++++++++++++++++++++ .../node_modules/redis/benches/stress/pubsub/run | 10 ++++++ .../redis/benches/stress/pubsub/server.js | 23 +++++++++++++ 3 files changed, 71 insertions(+) create mode 100644 signaling-server/node_modules/socket.io/node_modules/redis/benches/stress/pubsub/pub.js create mode 100755 signaling-server/node_modules/socket.io/node_modules/redis/benches/stress/pubsub/run create mode 100644 signaling-server/node_modules/socket.io/node_modules/redis/benches/stress/pubsub/server.js (limited to 'signaling-server/node_modules/socket.io/node_modules/redis/benches/stress/pubsub') diff --git a/signaling-server/node_modules/socket.io/node_modules/redis/benches/stress/pubsub/pub.js b/signaling-server/node_modules/socket.io/node_modules/redis/benches/stress/pubsub/pub.js new file mode 100644 index 0000000..0acde7a --- /dev/null +++ b/signaling-server/node_modules/socket.io/node_modules/redis/benches/stress/pubsub/pub.js @@ -0,0 +1,38 @@ +'use strict'; + +var freemem = require('os').freemem; +var profiler = require('v8-profiler'); +var codec = require('../codec'); + +var sent = 0; + +var pub = require('redis').createClient(null, null, { + //command_queue_high_water: 5, + //command_queue_low_water: 1 +}) +.on('ready', function() { + this.emit('drain'); +}) +.on('drain', function() { + process.nextTick(exec); +}); + +var payload = '1'; for (var i = 0; i < 12; ++i) payload += payload; +console.log('Message payload length', payload.length); + +function exec() { + pub.publish('timeline', codec.encode({ foo: payload })); + ++sent; + if (!pub.should_buffer) { + process.nextTick(exec); + } +} + +profiler.takeSnapshot('s_0'); + +exec(); + +setInterval(function() { + profiler.takeSnapshot('s_' + sent); + console.error('sent', sent, 'free', freemem(), 'cmdqlen', pub.command_queue.length, 'offqlen', pub.offline_queue.length); +}, 2000); diff --git a/signaling-server/node_modules/socket.io/node_modules/redis/benches/stress/pubsub/run b/signaling-server/node_modules/socket.io/node_modules/redis/benches/stress/pubsub/run new file mode 100755 index 0000000..bd9ac39 --- /dev/null +++ b/signaling-server/node_modules/socket.io/node_modules/redis/benches/stress/pubsub/run @@ -0,0 +1,10 @@ +#!/bin/sh +node server.js & +node server.js & +node server.js & +node server.js & +node server.js & +node server.js & +node server.js & +node server.js & +node --debug pub.js diff --git a/signaling-server/node_modules/socket.io/node_modules/redis/benches/stress/pubsub/server.js b/signaling-server/node_modules/socket.io/node_modules/redis/benches/stress/pubsub/server.js new file mode 100644 index 0000000..035e6b7 --- /dev/null +++ b/signaling-server/node_modules/socket.io/node_modules/redis/benches/stress/pubsub/server.js @@ -0,0 +1,23 @@ +'use strict'; + +var freemem = require('os').freemem; +var codec = require('../codec'); + +var id = Math.random(); +var recv = 0; + +var sub = require('redis').createClient() + .on('ready', function() { + this.subscribe('timeline'); + }) + .on('message', function(channel, message) { + var self = this; + if (message) { + message = codec.decode(message); + ++recv; + } + }); + +setInterval(function() { + console.error('id', id, 'received', recv, 'free', freemem()); +}, 2000); -- cgit v1.2.3