Sidekiq - Процессы или темы? Что наиболее эффективно?
У меня есть 20 основных капель на DO. У меня есть грабли, которые создают изображения. Изображения конвертируются с помощью скрепки /imagemagick. Я добавил paperclip_delayed, который использует delayed_job, а в качестве фонового работника я добавил Sidekiq.
Так что с Sidekiq я могу добавить дополнительных работников или установить несколько потоков.
Что лучше с точки зрения производительности? Лучше иметь небольшое количество процессов и добавить много потоков или наоборот? Или это не имеет значения, пока я не переступаю через количество ядер?
1 ответ
"Рабочий" - это туманный термин: используйте процесс или нить.
При обработке изображений вашим ограничивающим фактором, скорее всего, является дисковый ввод-вывод, если у вас в капле нет фантастических SSD. Потоки ограничивают вас одним ядром, если только процедуры обработки изображений не обрушиваются на что-то вроде mini_magick
, Если это так, то достаточно одного процесса с 25 потоками.