бенчмаркинг сервера websocket (hybi-17) node.js (0.6.7) - PullRequest
4 голосов
/ 16 января 2012

Я занимаюсь разработкой сервера веб-скетов с использованием node.js, и по мере того, как я завершаю работу над своим основным API, я хочу начать тестирование моего сервера и тестирование на утечки памяти.Единственный инструмент для сравнения, который я нашел до сих пор, это wsbench , но проект устарел и использует устаревшие вызовы API.Я нашел несколько других устаревших сообщений об ответе или решениях, которые не будут работать на основе платформы (я использую OS X).Я действительно ищу более современные решения этой проблемы, чем то, что было год назад.

Ответы [ 2 ]

8 голосов
/ 17 января 2012

Тестовый набор Autobahn - отличное место для начала. Его тесты 9.x обеспечивают хороший охват производительности при различных размерах сообщений, размерах фрагментов, размерах пакетов tcp и времени прохождения в обоих направлениях для реализаций как клиента, так и сервера. Имейте в виду, что Autobahn написан на python и поэтому имеет ограниченную способность предоставлять точные метрики, когда ваша реализация приближается к скорости самого тестового клиента / сервера.

Чтобы обеспечить лучшие показатели производительности для имплиментаций, написанных на более быстрых языках, чем Python, я работаю над реализацией многих тестов Autobahn 9.x с использованием моей библиотеки C ++ WebSocket ++ . WebSocket ++ также включает в себя универсальный клиент стресс-тестирования, позволяющий авторам серверов проверять, что происходит с их серверами с тысячами соединений.

Как Autobahn, так и WebSocket ++ полностью поддерживают окончательную спецификацию RFC6455 WebSocket, выпущенную в ноябре 2011 года. WebSockets - относительно новая технология, и инструменты тестирования для них еще не полностью готовы. Если у вас есть какие-либо вопросы или отзывы о тестировании производительности WebSocket, не стесняйтесь обращаться ко мне в частном порядке или сообщать о проблемах в любой из проектов Github.

Отказ от ответственности: я являюсь автором WebSocket ++ и участником комплекта тестов Autobahn.

5 голосов
/ 16 января 2012

Я думаю, что вы ищете Autobahn WebSockets Protocol Test Suite .Он очень современный и всеобъемлющий, и пакет реализован с использованием python, поэтому он должен быть достаточно переносимым.

В первую очередь речь идет о тестировании правильности реализации клиента и сервера, но весь раздел 9 (более 50 отдельных тестов)связанные с производительностью и нагрузочным тестированием.

...