Ожидается ускорение в 1,25–7 раз и снижение загрузки ЦП как минимум в 2 раза, в зависимости от условий сети, выполненных модулей и времени, уже потраченного целевыми объектами на полезную работу. Mitogen не может улучшить модуль после его выполнения, он может только обеспечить выполнение модуля максимально быстро.
Для каждой цели используется одно соединение, в дополнение к одному вызову sudo для учетной записи пользователя. Это намного лучше, чем мультиплексирование SSH в сочетании с конвейерной передачей, поскольку в оперативной памяти между этапами может поддерживаться значительное состояние, а системные журналы не рассылаются спамом с повторными событиями аутентификации.
Для выполнения шага, один код которого уже существует в ОЗУ на целевом устройстве, используется один сетевой обход. Исключение создания мультиплексированного канала SSH экономит 4 мс времени выполнения на 1 мс задержки сети для каждого шага playbook.
Процессы активно используются повторно, что позволяет избежать затрат на вызов Python и перекомпилировать импорт, экономя 300-800 мс на каждый шаг playbook.
Код эфемерно кешируется в ОЗУ, что на порядок уменьшает использование полосы пропускания по сравнению с конвейерной передачей по SSH, при этом примерно в 5 раз меньше кадров пересекает сеть в обычном режиме.
Происходит меньше записей в целевую файловую систему. В типичных конфигурациях Ansible многократно переписывает и извлекает ZIP-файлы в несколько временных каталогов на цели. Проблемы безопасности, связанные с временными файлами в сценариях с несколькими учетными записями, полностью исключаются.
Эффект наиболее эффективен в книгах воспроизведения, которые выполняют много кратковременных действий, где накладные расходы Ansible преобладают в стоимости операции, например, при выполнении больших циклов with_items для запуска простых команд или записи файлов.