Как стать автором
Обновить

Комментарии 3

Эти вещи нельзя сравнивать, по нескольким причинам:

1. github.com/openresty/lua-resty-websocket — это реализация WebSockets в виде библиотеки для работы под nginx или с дистрибутивом OpenResty. От пользователя ничего не скрывается и контроль за flow весь возлагается на приложение. Для lua-resty-websocket в открытых источниках нет данных о соответствии стандарту. Более того, именно это соответствие вам придётся реализовывать в своём приложении с использованием этой библиотеки.

2. В LAppS я концентрируюсь на том, что-бы избавить пользователя (разработчика) от контроля за flow и обеспечить удобный механизм RPC с возможностью мултиплексирования каналов передачи сообщений в потоке WebSockets. Также я ориентировался с самого начала разработки на соответствие стандарту RFC 6455.

3. Библиотеки из стэк-а OpenResty можно запускать под LAppS. Только наверное, весь код который не выполнен в виде модулей для lua и завязанный на API Nginx работать не будет.

4. Производительность сравнивать сейчас тоже бесполезно, те результаты которые я получил хоть и значительны, но никакой оптимизации производительности в коде LAppS не производилось. Более того добавленный недели 2 назад стэк EventBus снизил производительность на ~30% (до 86к rps с балансером или 55к без балансера, до этого без балансера было ~78к rps). С ним легче рабтается в дебагере. Убрать этот стэк дело 1-го дня. Этот стэк я пока убирать не буду, он мне нужен для отладки функционирования приложений и для разработки «decoupled apps».
До меня не сразу дошло, что в скрипте lua под nginx соединение нужно удерживать с помощью примитивного while(true). Вобщем протестировать удалось. Использовалось 3 worker-а в nginx-e (так-же как и в LAppS). Неожиданно, но мой велосипед оказался быстрее. При тех-же 80-ти клиентах связка nginx-1.12.2-r1 (gentoo)+lua-resty-websocket выдала 58367.4 rps (best average within 2 mins run). Использованная секция location nginx.conf.

Добавил результаты на страницу в github. Просто пухну от гордости. Однако всё равно остаюсь при своём мнении, что с nginx+lua-resty-websocket, LAppS сравнивать нелзя. nginx это в первую очередь web-server, очень хороший web-server, он изначально под WebSockets не затачивался.
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории