Comments 5
Зачем все переходят с celery на rq? Мне кажется, это странная тенденция :(
Вы просто не понимаете, это же новое слово в производительности вычислений!
Смотрите:
- Запуск воркера — всего-то какие-то жалкие 15 секунд. Но давайте не будем это учитывать.
- тестируем на
на задании record_event, так как это — часто встречающаяся легковесная операция.
улучшили время, необходимое 4 воркерам на обработку 1000 заданий, со 102 секунд до 24.6 секунд.
- Считаем:
1000 заданий / 4 воркера / 25 секунд == 1 воркер сохраняет умопомрачительные 10 записей в секунду!!! - К тому же мы сохраняем не абы что, а сложную структуру: 6 полей, 2 типа данных, 106 байт (если включать пробелы и служебные символы JSON)
{ 'action': 'create', 'timestamp': 0, 'org_id': 1, 'user_id': 1, 'object_id': 0, 'object_type': 'dummy' }
- Пропускная способность (оптимизированного в 4 раза) воркера поражает: 106 байт * 10 rec/sec = ~1 Килобайт в секунду!!!
Вдумайтесь в эти цифры, уважаемые покупатели. Запустив 4 воркера (извиним автора за англицизмы — он англоговорящий), мы достигаем 4кб в секунду! Страшно подумать, что будет, если запустить 16 воркеров. Не у каждого в 2019 году есть столько ядер в процессоре! ...
</sarcasm OFF>
Я не знаю, куда эти воркеры сохраняют эти "dummy" записи (судя по скорости — печатают на принтере), и какая конфигурация компьютера у автора статьи (по крайней мере, на нем можно писать статьи и выкладывать их в интернет), но рекомендую всем срочно бросать Celery и переходить на RQ (извините, снова сарказм).
Sign up to leave a comment.
Как в Redash заметили и исправили проблему, вызвавшую деградацию производительности Python-кода