rabbitmq: raise sync batch size
We don't want to apply flow control to mirroring and the defaults seem to be somewhat low for certain production cases. Lets raise them.
@Gsantomaggio can you give us some clarification about the mirroring_flow_control parameter?
I think we can close this PR
@Gsantomaggio could you elaborate? there isn't a supported way other than changing the template to modify them per installation afaik. are you saying there is a way to add local overrides ? if so, could you explain how that would work?
Credit Flow tuning should be done directly to the installation. At this moment I have no idea about the deploy environment and the system numbers ( throughput, number of connections, number of the queues etc).
There is a way to change the rabbitmq environment variables using eval, for example:
if you have:
rabbitmqctl environment | grep flow
{credit_flow_default_credit,{400,200}},
you can do that:
scripts git:(v3.6.x) ✗ . ./rabbitmqctl eval "application:set_env(rabbit, credit_flow_default_credit,{500, 300})."
ok
➜ scripts git:(v3.6.x) ✗ ./rabbitmqctl environment | grep flow
{credit_flow_default_credit,{500,300}},
Note: This is not persistent. You should not change the parameters in this way, the config file is the best way, but it is useful to tests.
{credit_flow_default_credit,{800,400}}, are not a big values, but we should try them before change.
Also depends on what kind of the problem are you trying to solve.
@Gsantomaggio so we need to enable some way for users to override the defaults in a persistent fashion. this PR is a start of that.
We can merge it ( after internal conversation )