Como uso os clusters Node.js com meu aplicativo Express simples?

- Eu criei um aplicativo simples que extrai dados (50 itens) de um banco de dados do Redis e os lança no host local. Eu fiz um ApacheBench (c = 100, n = 50000) e estou recebendo uma média de 150 pedidos / segundo em um dual-core T2080 @ 1.73GHz (meu laptop de 6 anos), mas o uso proc é muito decepcionante mostrando:

Apenas um núcleo é usado, o que é como por design no Node, mas eu acho que posso quase dobrar meus pedidos / seg para ~ 300, talvez ainda mais, se eu posso usar clusters Node.js. Eu brinquei um pouco, mas não consegui descobrir como colocar ocódigo dado aqui para uso com meu aplicativo, que está listado abaixo:

var 
    express = require( 'express' ),
    app     = express.createServer(),
    redis   = require( 'redis' ).createClient();

app.configure( function() {
    app.set( 'view options', { layout: false } );
    app.set( 'view engine', 'jade' );
    app.set( 'views', __dirname + '/views' );
    app.use( express.bodyParser() );
} );

function log( what ) { console.log( what ); }

app.get( '/', function( req, res ) {
    redis.lrange( 'items', 0, 50, function( err, items ) {
            if( err ) { log( err ); } else {
                res.render( 'index', { items: items } );
            }
    });
});

app.listen( 8080 );

Eu também quero enfatizar que o aplicativo é intensivo de E / S (não intensivo de CPU, o que teria feito algo comothreads-a-gogo uma escolha melhor do que clusters).

Adoraria alguma ajuda para descobrir isso.

questionAnswers(1)

yourAnswerToTheQuestion