Я пытаюсь выполнить несколько одновременных запросов, используя приведенный ниже код NodeJS, но из вывода я вижу, что приведенный ниже запрос выполняется в связке 4.
Почему это происходит?
Также яизменил размер пула потоков libuv по умолчанию на 7.
const http = require("http");
const rq = require("request");
http.createServer(function(req, res) {
res.write("Server started");
var start = process.hrtime();
rq("https://stream101.herokuapp.com/5.php", {
pool: {
maxSockets: 20
}
}, (err, res, body) => {
if (res) {
var end = process.hrtime(start);
console.log(body);
console.log("in time : %ds", end[0] + end[1] / 1e9);
}
});
res.end();
}).listen(8081);
* * * * * * * * * * * * * * * * * * * * * * * * stream101.herokuapp.com
* здесь просто выводит содержимое после сна в течение 5 секунд.
Вот как запускается приложение моего узла:*
set UV_THREADPOOL_SIZE=7 && node index.js
Вывод на консоль узла:
Streaming after 5 seconds
in time : 6.075168388s
Streaming after 5 seconds
in time : 6.079874785s
Streaming after 5 seconds
in time : 6.077171028s
Streaming after 5 seconds
in time : 6.420050492s
Streaming after 5 seconds
in time : 10.966390463s
Streaming after 5 seconds
in time : 10.967194215s
Streaming after 5 seconds
in time : 10.998825902s
Streaming after 5 seconds
in time : 11.42817129s
Streaming after 5 seconds
in time : 16.353070153s
Streaming after 5 seconds
in time : 16.440429564s
Streaming after 5 seconds
in time : 16.643850903s
Streaming after 5 seconds
in time : 16.624362216s
Команда тестирования Apache для приведенного выше теста:
ab -n12 -c5 http://localhost:8081/
Есть ли какие-либо проблемы, связанные с пулом потоков libuv, посколькуMigt будет использоваться для запроса Heruko DNS?