- Я создал простое приложение, которое извлекает данные (50 элементов) из Redis DB и выдает его на localhost. Я сделал ApacheBench (c = 100, n = 50000), и я получаю полупристойные 150 запросов/сек на двухъядерном T2080 @1,73 ГГц (мой ноутбук на 6 лет), но использование proc очень неутешительно, поскольку показано:
Используется только одно ядро, которое по дизайну в Node, но я думаю, что я могу почти удвоить свои запросы/сек до ~ 300, а может быть, даже больше, если я могу использовать кластер Node.js. Я немного поиграл, но мне не удалось выяснить, как поставить здесь код, приведенный здесь, для использования с моим приложением, которое перечисленные ниже:
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 );
Я также хочу подчеркнуть, что приложение является интенсивным вводом-выводом (не интенсивно с CPU), что сделало бы что-то вроде threads-a-gogo лучший выбор, чем кластеры).
Было бы полезно помочь в этом.