Начало: Мы используем uwsgi, и я решил изменить нашу конфигурацию, чтобы использовать больше рабочих / процессов.
Зачем: В последнее время мы наблюдаем рост трафика, и в моих тестах с тестом apache новая конфигурация с большим количеством рабочих и процессов выполнялась намного лучше (быстрее, значительно меньше отбрасываемых запросов).
Что произошло: После внесения изменений в конфигурацию на наши серверы приложений мы увидели немедленный всплеск ЦП сервера приложений (что неудивительно) и столь же огромный рост ЦП нашего сервера mongodb.
Рассматриваемое поведение: Почему, когда операции чтения и записи остались такими же, как до изменения конфигурации приложения, должен вообще измениться ЦП mongodb или что-либо еще на сервере mongo?
Еще несколько деталей:
Редактировать: Я также заметил, что во время периода новой конфигурации произошло огромное увеличение количества подключений на сервере mongo (3x), больше рабочих = больше подключений?
Так что ваш вопрос о большем количестве работников означает больше связей, это правда. Я не уверен, используете ли вы монго или нет, но скрипты будут создавать подключения к монго, пока они ждут, чтобы получить больше работы.
Теперь о вашем вопросе, почему загрузка процессора становится больше, когда вы ничего не делаете. Но добавляю больше рабочих. Я не уверен, что вы запускаете mongo и worker на одном компьютере, но что может происходить, так это накладные расходы ядра linux, которые обрабатывают процессы. Он должен их разбудить, позволить им бежать или посмотреть, нужно ли им бежать, а затем переключиться. это не бесплатно, но это не похоже на сумасшедшую стоимость.