Обновить
0
Роман@ragus

DevOps/Python

5
Подписчики
Отправить сообщение
да, тесты интересны. и статика, она ведь разная бывает. например, live-трансляция, когда всем клиентам отдаются одни и те же данные(фактически, разновидность чата), а на ноде почти поголовно предлагают писать чаты.

В статье ноду трэшат cpu-bound задачей. Так давайте возьмём io-bound, на которые так хорошо ложится event loop: раздача всем клиентам одинаковых данных.

PS: я эту задачу для себя решил: 19k клиентов в онлайне, 2Гбит/с исходящего трафика(у меня пока нет 10GE для тестов).
я предложил рассмотреть самый простой случай. в реальной жизни это может быть не отдача 1 файла, а «разобрать GET-запрос, в зависимости от параметров выбрать первый файл с которого отдавать и смещение относительно его начала, после чего отдать цепочку файлов клиенту» (т.е. сделать нечто вроде cat part0 > file && cat part1 >> file && cat part2 >> file… ).

И тут возникает дилемма: либо писать модуль для nginx, либо писать что-то свое.
В приведенном мной примере логики немного, а когда с начальными/конечными параметрами определились, надо просто дергать sendfile(2). я выбрал gevent(и на текущий момент упираюсь либо в диски, либо в сеть).

Я предложил потестировать одну из лимитирующих производительность частей — отдачу с диска фрагмента клиенту. А тестить отдачу 12 байт клиенту — весьма сомнительный бенч.

это Disasm предлагает статику раздавать. И не вижу ничего плохого в раздаче статики через node.js (ведь мы же претендуем на полноценный server side? )
Document Length: 12 bytes

Ооох… вы невнимательно прочитали мой ответ. речь шла о 10k rps на статическом контенте.
Вы померили отдачу хелловорлда, что в реальной жизни никому неинтересно.

Рассказываю, как мерить правильно:

создаем файлики на 1к, 2к, 4к, 8к и запускаем ab2 меняя concurrency ( -c ключ) измеряя rps на отдаче этих файликов.
не выдаст нода вам столько rps. да еще и скорее всего cpu usage будет 100% для ядра, на котором запущена.
afaik, про sendfile(2) она не в курсе.
12 ...
17

Информация

В рейтинге
Не участвует
Откуда
Praha, Hlavni Mesto Praha, Чехия
Дата рождения
Зарегистрирован
Активность