/ 4), Озу (2gb), ssd
Windows 10,
Тесты провожу внутри docker контейнера,
Команда обработки autocannon -c 100 -d 40 -p 10 localhost:3000
Используется модуль cluster, заметил такую проблему на последних версиях express
(Используется базовый helloworld отдача)
Express: 237k запросов за 40 секунд, сколько бы запросов не делал всегда в этом промежутке, если я делаю тест из машины в docker ~ 140k запросов. На железе 4 ядра, результат 470k Запросов.
Результат 3-4 месяца назад был всегда в р-оне 800-1000 к запросов
Fastify, http (идут обычно на одном уровне, как и в docker контейнере, так и на железе, не имея различия в ядрах 2-4, нет большой погрешности) 1200к запросов за 40 секунд.
Может быть я что-то делаю не так или express и правда медленный.
Если я беру другой язык например golang + gim, у меня там спокойно ~1.5-2кк запросов за 40 секунд
Попробуй Rust🌚
особенно компиляцию
А на сколько это ощущается на реальном проекте? Где будет не hello world, а большая часть js кода одинаковая в разных либах.
Хотя там не плохой Actix-web
у меня отдача в основном json данных - поэтому мне важна именно отдача базовой информации, которые будут храниться в памяти n время, некоторые данные будут получаться через pg cluster (данные которые нельзя кешировать). При этом на api будет много запросов, graphql в проект не подходит.
Формирование этого JSON не зависит от фреймворка явно Ну и разница не на порядки. Т.е. можно ещё посмотреть, что именно в вашем проекте проще. Взять 2 инстанса вместо одного, или писать, используя экосистему другого фреймворка
Не понял этот момент - 3-4 месяца назад результат на той же версии экспресса был лучше, или на другой? Или версия ноды поменялась?
версия ноды поменялась, express последней версии, были тесты 4 месячной давности таким же "helloworld" и результат был в 3 раза выше
Нода current или lts?
# node -v v14.11.0 (FROM node:14)
Может в этом проблема? Проверьте на lts
+ 150к запросов на 12 lts в докере
но проблема то есть (это много)
https://www.techempower.com/benchmarks/
1.5-2млн за 40 секунд на голанге это МАЛО
ну это зависит от условий, я могу на своём сервере запустить этот тест и я уверен что результаты там будут быстрее
другое дело, что проект должен хорошо расти, чтобы хотя бы 100рпс набрать А там уже будет своё веселье
у меня старый проект на php со своим весельем, когда там 200 онлайн постоянный и небходимость лочить бд на эти 200 человек.
Обсуждают сегодня