Электронные последовательные сетевые запросы слишком медленные - PullRequest
1 голос
/ 13 марта 2020

У меня есть электронное приложение с модулем, в котором мне нужно отправить несколько (5000) последовательных запросов в конечную точку отдыха. Тестирование последовательных запросов к этой конечной точке из окна браузера дает время отклика 80 мс, но теперь мне нужно реализовать его на стороне электронов (Node.js), и когда я запускаю тест с 100 запросами с кодом ниже, ответ время не менее 500 мс и увеличивается по мере отправки.
Я проверял это и с Ax ios, и время отклика такое же (> 500 мс).

testHttp() {
const buffer = Buffer.alloc(5 * 1024, 1);

const agent = new https.Agent({
  keepAlive: true
});
agent.maxSockets = 1000000;
const post_options = {
  hostname: this.baseUrl.substr(8),
  path: '/status/welcome',
  method: 'POST',
  port: 443,
  agent: agent,
  headers: {}
};

for (let i = 0; i < 100; i++) {
  // Set up the request
  let prepTime = 0;
  const post_req = https.request(post_options, function (res) {
    let rawResponse = '';
    res.setEncoding('utf8');
    res.on('data', function (chunk) {
      console.log(post_req.reusedSocket);
      rawResponse += chunk;
    });
    res.on('end', () => {
      try {
        const parsedData = JSON.parse(rawResponse);
        console.log('Time Elapsed for Status Welcome : ' + (new Date().getTime() - prepTime) + ' ms');
      } catch (e) {
        console.error(e.message);
      }
    });
  });
  // post the data
  prepTime = new Date().getTime();
  post_req.write(buffer);
  post_req.end();
}

}

...