инструмента лучше прихерачить к ноде что-то сбоку?
Если инструмент устраивает во всем, кроме какого то редкого случая, если его можно затюнить? И не нужно прикидывать дополнительные сервисы отдельно ради одного ботлнека
вот взять библиотеку curl - что нода вместо нее может предложить
сделай просто бенчмарки rps, это не сложно, с go fasthttp и rust actix-web
что? зачем ноде что-то предлагать вместо курла? к чему вопрос этот?
я ж сделаю, но ты не поверишь и скажешь, что неправда и "на моей машине uws быстрее"
кинь репу с uws проектом, мне лень изучать, как там куда чего цеплять
https://github.com/uNetworking/uWebSockets.js/tree/master/examples https://github.com/uNetworking/uWebSockets.js/blob/master/examples/HelloWorld.js#L1
Совсем для ленивых: у ребят уже и тексты бенчмарков в репе https://github.com/the-benchmarker/web-frameworks
там еще старая версия 20.30
uws: Requests/sec: 85496.82 rust (без тюнинга): Requests/sec: 98705.86
что за проц? что за скрипт? чет медленно для раста
там ниже чуть пошустрее 126577.08
а что за скрипт? у меня даже го отдавая небольшой жсончик выдавал больше на м1
minihttp, простой "hello world" у меня сейчас рабочего миллион всего запущено (один только докер половину ресурсов съедает) смысл было относительную разницу показать
го у тебя всё железо правильно использует сам собой, а я просто в одно ядро запустил ноду и ржавого
может быть, но у меня и uws больше выдавал, и даже фастифай
я относительную разницу показал конкретно у себя
как можно вообще на м2 с uws получить с -d 10 -c 100 меньше 100к rps, я даже не знаю
да и вообще, уж юзай autocannon вместо wrk
давай команду.
autocannon -d 10 -c 100 -t 4 --latency http://127.0.0.1:9001
в половину меньше рпс с этим кэнноном
На моей uws 47968rps@1.52ms uws 47539rps@1.54ms
Не совсем понял, в чем проблема, в ноуте или autocannon, но особой разницы между 1 и 4 потоками для uws и actix нет - на уровне 50k для параметров -c 100/500/1000 Для пробы погонял express, в нём прирост от кластера есть С 8k до 22k
Использую wrk -c 100 - d 10 -t 4 Оба проекта используют 4 потока actix 45k@539us uws 45k@541us
а что по коду?
Я брал примеры отсюда https://t.me/nodejs_ru/1140898 Хеловорлды и роутер
вообщем, да, потестил minihttp, результаты у него гораздо лучше, чем у actix, только нужно понимать, что по возможностям minihttp даже рядом не стоит с uws. использовать minihttp на проде это сейчас изобретать велосипед, впрочем, он создан для результата на techempower, но вроде его даже делистнули, тк по функционалу не проходит
каким возможностям? какие возможности, которые мне вот прям нужны есть у uws, которых нет <в любом другом http> ?
ну как бы основное направление uws вебсокеты
mini создан поверх may - stackless coroutines в расте, а не для бенчамарков специально. FaF - для бенчмарков mini ни откуда не делистили, насколько я знаю.
Я могу и для вебсокетов накидать, которое быстрее будет раза в 3, чем uws. Хватит пытаться всеми силами пытаться спасти своё болото. Нода - не для хайлоад/лоу лэтэнси и не нужно пытаться из неё это делать.
Вчера пробовал разные флаги сборки, но там в пределах 5% эффект У меня примерно одинаковые результаты для uws и actix Поэтому не понимаю, откуда у вас там x3
Наверное и не нужно понимать. Вам ноды хватит.
может потому что это неюзабельная хрень? may/minihttp
я то же самое про uws могу сказать. ни один нормальный техлид не будет этим пользоваться, а возьмет Go тот же.
А что мне в ответ на доводы вида "неюзабельная хрень" и "нужно понимать, что в uws много говна, потому оно медленнее, по этому ты не прав" отвечать?
я уже для себя понял, что выше головы не прыгну, тк все равно упираюсь в скорость NATS. проекты с uws прекрасно чувствуют себя на хайлоаде, потести как-нибудь все это не на 100 подключений
Вы сделали свой бенч, я свой https://t.me/nodejs_ru/1140951 Результаты отличаются, хочу понять почему
бизнесу сейчас не интересно, когда ты там доковыряешь все на minihttp, не уйдя в development hell, и чтобы этим можно было пользоваться, куда интереснее закинуть в прод максимально быстро и с минимумом затрат. так что тейки в сторону uws плиз не надо, если не знаешь, как скейлить ноду
Я тебе скажу, бизнесу не интересно в целом этой хернёй заниматься. Бизнес берёт java+netty или go, когда нагрузки есть. Или С++, когда они очень большие.
К чему вчера спор про uws пришел ? Сделали бенчмарк ?
да, сделал на моем древнем компе было 158к rps на uws и 158-160к rps minihttp до этого тестил uws с actix и раст проигрывал, более того, при пайплайнинге подключений и их росту, actix отваливался намного раньше uws
https://t.me/nodejs_ru/1140944
Данные разнятся, делайте свои бенчмарки и выводы
не делал еще тестов ни wildcard ни параметров, просто hello world
Кстати, а как вы uws в докер запаковали?
я не паковал ничего в докер
Ты не на такой комментарий ответил, и не тому человеку
забей, много говна, эт наверное про http3
Обсуждают сегодня