What is the unit for XDR max ship throughput?


Unit of XDR Max ship throughput

Problem Description

I am trying to set the maximum throughput by XDR using configuration xdr-max-ship-throughput. What does it mean if I set it to 3000?


The xdr-max-ship-throughput unit is transactions per seconds, which for XDR is number of records written per destination cluster every second.

To clarify what was hinted at, here are further details:

The throughput has a correlation to the number of records in flight, based on the link latency between the data centers, but is not equal to it.

You can read some details about this in the following knowledge base articles:

XDR actually turns the max ship throughput (if configured) into a maximum number of objects that can be inflight, based on the link latency for a given DC. For example, if a link between 2 DCs has a round trip latency of 10ms, putting 1 record at a time on the link (1 record in flight) would allow for 100 records to be written every second (throughput of 100). With default configuration (i.e. no xdr-max-ship-throughput set) the derived value for the maximum number of objects that can be in flight at one time is 50000. If the records in flight exceed this value, XDR will start to throttle to stay within the boundaries of the defined value.

Note: An important point to note is that when XDR starts shipping at boot up time, it will gradually start shipping and will not right away flood the network with up to the maximum allowed 50,000 records in flight as XDR does not have an assessment of the link latency at that point. Thus, it starts with a lower throughput and once it begins receiving acknowledgements from the remote cluster, it gets the data on the link latency and starts doubling the shipping throughput every 2 seconds untill it reaches a potential maximum of 50,000 records or the actual write traffic (the lower of the two).


XDR throughput max unit