Параметры splay
и splaylimit
работают вместе с параметром runinterval
, помогая распределять запросы агентов по каталогу во времени. Они полезны в первую очередь в ситуациях, когда агенты многих машин могут быть запущены одновременно, например, когда группа виртуальных машин запускается вместе под управлением одного и того же хоста.
Обычно агент, работающий в режиме демона, запускает запуск каталога при первом запуске и снова с интервалом runinterval
. Если для параметра splay
установлено значение true
, то вместо этого генерируется (псевдо)случайная задержка, не превышающая splaylimit
, и откладывается запуск каждого запуска каталога на это время относительно того, когда он запустился бы, если бы расширение было отключено.
Таким образом, если у вас есть проблема с громогласным стадом, возникающая из-за того, что многие агенты запускаются примерно в одно и то же время, вы можете попытаться решить ее, установив
splay = true
в конфигурациях ваших агентов. Если вы не настроите конкретный splaylimit
, то по умолчанию будет использоваться ваш runinterval
, в результате чего запуски каталога всех агентов, запущенных в одно и то же время, распределятся более или менее равномерно по всему интервалу и, следовательно, по всему времени в будущем.
С другой стороны, если запуск ваших агентов каким-то образом не организован таким образом, чтобы заставить их группироваться, то расширение ничего вам не даст. То есть, если запуск агентов в любом случае примерно случайный, то это не поможет вам сдвинуть их циклы запросов к каталогу.
Я думаю, что splay также может помочь, когда вы запускаете агент в режиме --onetime
через внешний планировщик (например, cron
). Это было бы хорошим примером использования параметра splaylimit
, потому что в этом случае настроенный параметр runinterval
не имеет ничего общего с тем, когда и как часто запускается агент.
person
John Bollinger
schedule
02.10.2015