2016-01-06 3 views
1

Я новичок в sidekiq, мое требование состоит в том, что может быть столько высокоприоритетных заданий, сколько количества пользователей, зарегистрированных в системе. Позволяет, чтобы каждый пользователь ожидал уведомления в ближайшее время, когда его работа будет обработана.Каков верхний предел числа работников Sidekiq, которых мы можем иметь?

У меня один демон sidekiq работает с параллелизмом 50, так что я могу иметь всего 50 рабочих мест? Я читал, что wiki утверждает, что мы должны иметь несколько sidekiqs.

  1. Каков максимальный предел числа боковых циклов для запуска?
  2. Как я могу сопоставить число пользователей, вошедших в систему, с количеством работающих одновременно?
  3. Есть ли стек технологий, который я могу использовать для запуска этих работников? Что-то вроде единорога, чтобы иметь пул рабочих? Могу ли я использовать единорога с sidekiq?

ответ

2

Каков максимальный предел числа боковых циклов для запуска?

Вы хотите получить максимум одного Sidekiq на процессорное ядро. Если у вас двухъядерный процессор, то 2 Sidekiqs. Однако, если ваш сервер также выполняет другие действия, такие как запуск веб-сервера, вы захотите оставить некоторые ядра доступными для этого.

Как я могу сопоставить число пользователей, вошедших в систему, с числом одновременных работников?

С Sidekiq вы предварительно создаете свои темы. У вас есть поток-пул из простаивающих потоков X, которые готовы к развертыванию в любой момент, если придет огромный всплеск заданий. Вам нужно будет создать столько потоков, сколько максимальное количество заданий, которые, по вашему мнению, будут иметься в любое время , Однако перегрузка более 50 потоков на ядро ​​не является хорошей идеей по соображениям производительности (количество переключений времени между огромным количеством потоков significantly cuts into the CPU time, выделенных для того, чтобы потоки выполняли фактическую работу).

Есть ли стек технологий, который я могу использовать для запуска этих работников? Что-то вроде единорога, чтобы иметь пул рабочих? Могу ли я использовать единорога с sidekiq?

Вы не можете использовать Единорог для этого. Вам нужен диспетчер процессов для handle starting/restarting Sidekiq. Их wiki рекомендует Upstart или systemd, но я обнаружил, что Supervisor работает невероятно хорошо, и его очень легко настроить.

+0

Спасибо, это очень помогло. Я на 4 пункта меньше, чтобы быть в состоянии повышать, но я не пропущу его :) – david

Смежные вопросы