framework
framework copied to clipboard
Optimize settings for sustainable write throughput
Tests have shown that the currently configured default settings on a vpool do not allow to guarantee a sustainable write throughput. In certain tests it quickly degrades over a time window of 24hrs. The following graph shows on the left half test results with the default values, where as the right half shows test results with optimized volumedriver config values for number_of_scos_in_tlog and non_disposable_scos_factor
At vpool creation time there are 3 factors to take into account.
- SCOsize can be (4,8,16,32,64,128 MiB)
- number_of_scos_in_tlog has a default of 4 and is recalculated behind the scenes.
-
non_disposable_scos_factor, decided upon behind the scenes based on the chosen volume writebuffer size.
Formula:
volume writebuffer = SCOsize * number_of_scos_in_tlog * non_disposable_scos_factor
Constraints we should implement to make sure we configure better balanced values:
- Enforce non_disposable_scos_factor >= 1,5. If smaller advise to either decrease SCOsize or increase volume writebuffer as a value to close to 1 would lead to choking.
- If based on
volume writebuffer, SCOsize and number_of_scos_in_tlog(default=4)
the non_disposable_scos_factor > 4.0 , we should increase the number_of_scos_in_tlog to maximum the equivalent of 256MiB of data(256MiB/SCOSizeInMiB=number_of_scos_in_tlog) and then use that value to recalculate the non_disposable_scos_factor.