Без сомнения, я делаю что-то глупое, но у меня были проблемы с запуском простого приложения node.js с использованием микро-фреймворка Nerve.При тестировании с помощью apachebench кажется, что код в моем отдельном контроллере вызывается чаще, чем само приложение.
Я создал тестовый скрипт, например, так:
'use strict';
(function () {
var path = require('path');
var sys = require('sys');
var nerve = require('/var/www/libraries/nerve/nerve');
var nerveCounter = 0;
r_server.on("error", function (err) {
console.log("Error " + err);
});
var app = [
["/", function(req, res) {
console.log("nc = " + ++nerveCounter);
}]
];
nerve.create(app).listen(80);
}());
Запустите сервер.Из другого окна запустите нагрузочный тест:
/usr/sbin/ab -n 5000 -c 50 http://<snip>.com/
...
Complete requests: 5000
...
Percentage of the requests served within a certain time (ms)
...
100% 268 (longest request)
Но сам скрипт узла печатает до:
nc = 5003
rc = 5003
Другими словами, сервер называется 5000раз, но код контроллера вызывается 5003 раза.
Есть идеи, что я делаю не так?
Обновлено
Я изменил тон исодержание этого вопроса в значительной степени отражает помощь, оказанную мне Колумом, Альфредом и GregInYEG в понимании того, что проблема не в Redis или Nerve и, вероятно, в apachebench.