Jak korzystać z klastrów Node.js za pomocą mojej prostej aplikacji Express?

- Zbudowałem prostą aplikację, która pobiera dane (50 elementów) z bazy danych Redis i wyrzuca ją na localhost. Zrobiłem ApacheBench (c = 100, n = 50000) i otrzymuję pół przyzwoite 150 żądań / s na dwurdzeniowym T2080 @ 1.73 GHz (mój 6-letni laptop), ale użycie proc jest bardzo rozczarowujące, pokazane:

Użyty jest tylko jeden rdzeń, który jest zgodny z projektem w węźle, ale myślę, że mogę prawie podwoić moje żądania / s do ~ 300, a może nawet więcej, jeśli mogę użyć klastrów Node.js. Bawiłem się trochę, ale nie byłem w stanie wymyślić, jak to zrobićkod podany tutaj do użytku z moją aplikacją, która jest wymieniona poniżej:

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

Chcę również podkreślić, że aplikacja jest intensywna we / wy (nie wymaga dużej mocy obliczeniowej procesora, co spowodowałoby coś takiego)nici-a-gogo lepszy wybór niż klastry).

Chciałbym trochę pomóc w ustaleniu tego.

questionAnswers(1)

yourAnswerToTheQuestion