xPomaHx
@xPomaHx
1vs9

Почему http сервер через net медленнее чем через http?

spoiler
require('http').createServer((req, res) => {
  res.end('hello world');
}).listen(8000);


spoiler
require("net").createServer((socket) => {
  socket.setNoDelay().on("data", (dataBufered) => {
    socket.end('HTTP/1.0 200 OK\r\ncontent-length: 11\r\n\r\nhello world');
    socket.destroy();
  });
}).listen(8000);

проверял с помощью
autocannon -c 100 localhost:8000

через net
https://vk.cc/at9x4m
через http
https://vk.cc/at9x5e

То есть разница в 10 раз, хотя net вообще нечего не делает, а http как минимум парсит заголовки, как ускорить хотя бы до одного уровня.
Оба работают в 1 экземпляре.
  • Вопрос задан
  • 104 просмотра
Решения вопроса 1
Lynn
@Lynn
nginx, js, css
Потому что http держит соединения, а в net вы уничтожаете сокет после каждого запроса.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы