Итак, я пытаюсь оптимизировать мое приложение node, и мое приложение делает запросы HTTP и HTTPS.
В этой статье из LinkedIn для быстрого выполнения node предлагается отключить объединение пулов, чтобы удалить ограничение из 5 сокетов:
// Disable socket pooling
var http = require('http');
var options = {.....};
options.agent = false;
var req = http.request(options)
Теперь от Mikeal (разработчика запроса) на GitHub он предлагает:
require('http').globalAgent.maxSockets = Infinity
Чтобы быть справедливым, он не предлагает бесконечности, но вы можете принести туда любую разумную ценность.
Теперь мое приложение использует http и https, поэтому я использовал этот код:
var http = require('http');
http.globalAgent.maxSockets = 30;
var https = require('https');
https.globalAgent.maxSockets = 30;
Когда я это сделаю, я получаю эту ошибку:
TypeError: Невозможно установить свойство maxSockets из undefined
Наконец, глядя на HTTP-документ, он не показывает "globalAgent", но вместо этого показывает только agent.maxSockets.
Итак, сначала мне интересно, какой лучший синтаксис для переопределения этого параметра?
Во-вторых, что такое оптимальное значение? Это зависит от объема памяти моего сервера? Его пропускная способность?