Size: a a a

2021 August 20

DF

Dollar Føølish in Rust Async
я так думаю оно сделано во избежание слишком долго блокирующих тасков/или дедлоков
источник

DF

Dollar Føølish in Rust Async
то есть как защита от дурака
источник

П

Пух in Rust Async
Да, там есть метки безопасного переключения
источник
2021 August 21

M

Max in Rust Async
Подскажите low latency конфигурацию для работы с вебсокет подключением? Интересует минимальное время до кода обработки сообщения...  Сейчас у меня используется async tungtenite и цикл в async-std block_on на чтение из сокета, но может с одно или многопоточным tokio будет меньше задержка?Гугл ничего толкового не выдает.
источник

M

Morpher in Rust Async
hey
нужен фреймворк на расте способный возвращать errorcode 404 with json payload. rocket например не умеет
источник

D

Denis in Rust Async
hyper позволяет возвращать всё, что угодно
источник

D

Denis in Rust Async
сложно сказать, проще всего сделать небольшой тестовый пример на токио и потестить
из общих соображений кажется, что меньше всего латенси будет в пуле однопоточных токио
источник

MB

Mikail Bagishov in Rust Async
Не понял, что именно rocket не умеет.

Если что, ты можешь поставить кастомный обработчик 404 ошибок (через #[rocket::catcher(404)]), и возвращать из него жсон
источник

M

Max in Rust Async
С этим тоже вопрос, как лучше оформить тест... Внутри процессный сервер в отдельном рантайме поднимать?
источник

M

Max in Rust Async
Подозреваю разные рантаймы будут по разному парковать потоки во время простоя... То есть нужно в тест включить какие то задержки между сообщениями, в реальном сокете около 40тыс сообщений в секунду.. может есть какие-то библиотеки которые позволяют быстро настроить такую тест среду?
источник

MB

Mikail Bagishov in Rust Async
А что именно тут можно вынести в библиотеку?
источник

D

Denis in Rust Async
ничего не понял) делай отдельными процессами клиент и сервер, вроде всё довольно прямолинейно
источник

M

Max in Rust Async
Глядя на crates.io, чего люди только не выносят, не хотелось бы изобретать велосипед.. мне нужно сравнить условно время между отправкой с сервера и получением сообщения в клиентском коде, как это правильно померять в асинк среде...
источник

AZ

Alexander Zaitsev in Rust Async
пишешь тестовый клиент, который генерирует лоад по такому профилю, какой тебе нравится и бенчишь свои серверы. Можешь посмотреть на полуготовые бенчилки аля k6
источник

D

Denis in Rust Async
замеряй раундтрип
источник

M

Max in Rust Async
Хорошая идея, спасибо
источник

D

Denis in Rust Async
для построения распределений могу посоветовать заюзать топ-крейт hdrhistogram
источник

D

Denis in Rust Async
всяческие средние/перцентили считать — самое то
источник

D

Denis in Rust Async
там можно в каждом клиенте отдельно считать гистограммы, а в конце теста слить их воедино
источник

V

Vetro in Rust Async
https://docs.rs/tracing-timing/0.5.0/tracing_timing/

Накину вдобавок, под капотом тот же hdrhistogram
источник