News
Downloads
Services
Community
Partners
About

11.4.42. prefork_rotation_throttle

Delay between restarting preforked children on index rotation, in milliseconds. Optional, default is 0 (no delay). Introduced in version 2.0.2-beta.

When running in workers = prefork mode, every index rotation needs to restart all children to propagate the newly loaded index data changes. Restarting all of them at once might put excessive strain on CPU and/or network connections. (For instance, when the application keeps a bunch of open persistent connections to different children, and all those children restart.) Those bursts can be throttled down with prefork_rotation_throttle directive. Note that the children will be restarted sequentially, and thus "old" results might persist for a few more seconds. For instance, if prefork_rotation_throttle is set to 50 (milliseconds), and there are 30 children, then the last one would only be actually restarted 1.5 seconds (50*30=1500 milliseconds) after the "rotation finished" message in the searchd event log.

Example:

prefork_rotation_throttle = 50 # throttle children restarts by 50 msec each