Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fstree: make combined writer configurable
We don't need to combine for SSDs: goos: linux goarch: amd64 pkg: github.com/nspcc-dev/neofs-node/pkg/local_object_storage/blobstor cpu: AMD Ryzen 7 PRO 7840U w/ Radeon 780M Graphics │ ssd.fstree-original │ ssd.fstree-combined │ │ sec/op │ sec/op vs base │ Put/size=1,thread=1-16 91.98µ ± 2% 14040.16µ ± 1% +15164.94% (p=0.000 n=10) Put/size=1,thread=20-16 1.010m ± 1% 15.095m ± 2% +1393.89% (p=0.000 n=10) Put/size=1,thread=100-16 5.272m ± 1% 17.306m ± 3% +228.27% (p=0.000 n=10) Put/size=1,thread=200-16 10.77m ± 1% 33.77m ± 2% +213.52% (p=0.000 n=10) Put/size=256,thread=1-16 91.37µ ± 2% 14018.07µ ± 1% +15242.09% (p=0.000 n=10) Put/size=256,thread=20-16 1.028m ± 4% 15.583m ± 2% +1415.81% (p=0.000 n=10) Put/size=256,thread=100-16 5.420m ± 1% 16.869m ± 6% +211.22% (p=0.000 n=10) Put/size=256,thread=200-16 12.42m ± 11% 29.55m ± 2% +137.89% (p=0.000 n=10) Put/size=1024,thread=1-16 85.38µ ± 7% 12301.06µ ± 0% +14306.75% (p=0.000 n=10) Put/size=1024,thread=20-16 1.053m ± 4% 13.855m ± 2% +1216.07% (p=0.000 n=10) Put/size=1024,thread=100-16 5.629m ± 1% 15.694m ± 2% +178.82% (p=0.000 n=10) Put/size=1024,thread=200-16 12.55m ± 9% 30.10m ± 1% +139.83% (p=0.000 n=10) Put/size=4096,thread=1-16 150.6µ ± 6% 12864.7µ ± 1% +8441.32% (p=0.000 n=10) Put/size=4096,thread=20-16 1.308m ± 1% 14.136m ± 2% +980.81% (p=0.000 n=10) Put/size=4096,thread=100-16 6.670m ± 2% 16.101m ± 2% +141.40% (p=0.000 n=10) Put/size=4096,thread=200-16 13.45m ± 1% 31.72m ± 2% +135.88% (p=0.000 n=10) Put/size=16384,thread=1-16 181.7µ ± 5% 12891.6µ ± 1% +6994.13% (p=0.000 n=18+10) Put/size=16384,thread=20-16 1.131m ± 4% 14.592m ± 1% +1189.98% (p=0.000 n=10) Put/size=16384,thread=100-16 6.060m ± 31% 17.599m ± 2% +190.41% (p=0.000 n=10) Put/size=16384,thread=200-16 12.38m ± 2% 35.42m ± 1% +185.99% (p=0.000 n=10) Put/size=65536,thread=1-16 282.8µ ± 5% 13109.3µ ± 1% +4535.47% (p=0.000 n=10) Put/size=65536,thread=20-16 1.599m ± 10% 16.549m ± 2% +935.19% (p=0.000 n=10) Put/size=65536,thread=100-16 8.472m ± 4% 23.581m ± 7% +178.34% (p=0.000 n=10) Put/size=65536,thread=200-16 16.60m ± 2% 42.20m ± 2% +154.30% (p=0.000 n=10) Put/size=262144,thread=1-16 577.9µ ± 4% 13673.9µ ± 4% +2266.11% (p=0.000 n=10) Put/size=262144,thread=20-16 3.961m ± 30% 18.688m ± 4% +371.76% (p=0.000 n=10) Put/size=262144,thread=100-16 20.09m ± 36% 68.14m ± 2% +239.16% (p=0.000 n=10) Put/size=262144,thread=200-16 38.53m ± 33% 113.45m ± 23% +194.48% (p=0.000 n=10) Put/size=1048576,thread=1-16 1.766m ± 5% 17.167m ± 1% +871.86% (p=0.000 n=10) Put/size=1048576,thread=20-16 15.71m ± 21% 40.61m ± 18% +158.54% (p=0.000 n=10) Put/size=1048576,thread=100-16 61.86m ± 25% 197.93m ± 3% +219.98% (p=0.000 n=10) Put/size=1048576,thread=200-16 123.7m ± 18% 353.1m ± 4% +185.47% (p=0.000 n=10) Put/size=4194304,thread=1-16 5.485m ± 2% 20.737m ± 1% +278.07% (p=0.000 n=10) Put/size=4194304,thread=20-16 51.55m ± 16% 143.20m ± 9% +177.79% (p=0.000 n=10) Put/size=4194304,thread=100-16 260.4m ± 20% 700.5m ± 4% +169.04% (p=0.000 n=10) Put/size=4194304,thread=200-16 521.9m ± 11% 1356.2m ± 10% +159.86% (p=0.000 n=10) geomean 4.278m 31.30m +631.70% │ ssd.fstree-original │ ssd.fstree-combined │ │ B/op │ B/op vs base │ Put/size=1,thread=1-16 1.904Ki ± 0% 2.678Ki ± 1% +40.68% (p=0.000 n=10) Put/size=1,thread=20-16 36.94Ki ± 0% 42.40Ki ± 1% +14.76% (p=0.000 n=10) Put/size=1,thread=100-16 186.9Ki ± 0% 194.3Ki ± 0% +3.99% (p=0.000 n=10) Put/size=1,thread=200-16 370.9Ki ± 1% 389.5Ki ± 0% +5.01% (p=0.000 n=10) Put/size=256,thread=1-16 1.917Ki ± 0% 2.703Ki ± 0% +40.98% (p=0.000 n=10) Put/size=256,thread=20-16 37.51Ki ± 0% 42.44Ki ± 0% +13.14% (p=0.000 n=10) Put/size=256,thread=100-16 188.3Ki ± 1% 195.0Ki ± 1% +3.53% (p=0.000 n=10) Put/size=256,thread=200-16 378.5Ki ± 1% 389.8Ki ± 1% +3.00% (p=0.000 n=10) Put/size=1024,thread=1-16 1.914Ki ± 0% 2.699Ki ± 0% +40.99% (p=0.000 n=10) Put/size=1024,thread=20-16 37.57Ki ± 1% 42.43Ki ± 1% +12.95% (p=0.000 n=10) Put/size=1024,thread=100-16 190.3Ki ± 1% 196.5Ki ± 1% +3.28% (p=0.000 n=10) Put/size=1024,thread=200-16 380.9Ki ± 0% 392.4Ki ± 1% +3.02% (p=0.000 n=10) Put/size=4096,thread=1-16 1.952Ki ± 0% 2.696Ki ± 1% +38.12% (p=0.000 n=10) Put/size=4096,thread=20-16 38.12Ki ± 1% 42.28Ki ± 1% +10.91% (p=0.000 n=10) Put/size=4096,thread=100-16 191.5Ki ± 1% 196.8Ki ± 0% +2.81% (p=0.000 n=10) Put/size=4096,thread=200-16 382.1Ki ± 1% 392.8Ki ± 0% +2.80% (p=0.000 n=10) Put/size=16384,thread=1-16 1.977Ki ± 1% 2.707Ki ± 0% +36.90% (p=0.000 n=18+10) Put/size=16384,thread=20-16 38.00Ki ± 0% 42.83Ki ± 1% +12.71% (p=0.000 n=10) Put/size=16384,thread=100-16 191.1Ki ± 0% 198.0Ki ± 0% +3.63% (p=0.000 n=10) Put/size=16384,thread=200-16 382.2Ki ± 0% 395.3Ki ± 0% +3.43% (p=0.000 n=10) Put/size=65536,thread=1-16 2.020Ki ± 1% 2.715Ki ± 0% +34.40% (p=0.000 n=10) Put/size=65536,thread=20-16 38.42Ki ± 1% 43.22Ki ± 0% +12.51% (p=0.000 n=10) Put/size=65536,thread=100-16 193.1Ki ± 0% 200.1Ki ± 1% +3.64% (p=0.000 n=10) Put/size=65536,thread=200-16 386.1Ki ± 0% 400.0Ki ± 0% +3.61% (p=0.000 n=10) Put/size=262144,thread=1-16 2.119Ki ± 0% 2.725Ki ± 1% +28.57% (p=0.000 n=10) Put/size=262144,thread=20-16 39.47Ki ± 1% 43.49Ki ± 0% +10.18% (p=0.000 n=10) Put/size=262144,thread=100-16 197.9Ki ± 1% 214.4Ki ± 1% +8.31% (p=0.000 n=10) Put/size=262144,thread=200-16 395.9Ki ± 1% 422.7Ki ± 2% +6.77% (p=0.000 n=10) Put/size=1048576,thread=1-16 2.243Ki ± 0% 2.770Ki ± 1% +23.51% (p=0.000 n=10) Put/size=1048576,thread=20-16 42.91Ki ± 3% 46.23Ki ± 5% +7.73% (p=0.000 n=10) Put/size=1048576,thread=100-16 210.3Ki ± 2% 229.8Ki ± 2% +9.27% (p=0.000 n=10) Put/size=1048576,thread=200-16 427.9Ki ± 2% 460.2Ki ± 1% +7.55% (p=0.000 n=10) Put/size=4194304,thread=1-16 2.325Ki ± 1% 2.771Ki ± 1% +19.17% (p=0.000 n=10) Put/size=4194304,thread=20-16 45.24Ki ± 2% 50.57Ki ± 1% +11.79% (p=0.000 n=10) Put/size=4194304,thread=100-16 231.7Ki ± 2% 257.8Ki ± 3% +11.26% (p=0.000 n=10) Put/size=4194304,thread=200-16 474.7Ki ± 4% 509.5Ki ± 11% +7.33% (p=0.000 n=10) geomean 50.02Ki 56.68Ki +13.32% │ ssd.fstree-original │ ssd.fstree-combined │ │ allocs/op │ allocs/op vs base │ Put/size=1,thread=1-16 22.00 ± 0% 32.00 ± 3% +45.45% (p=0.000 n=10) Put/size=1,thread=20-16 413.0 ± 0% 473.5 ± 1% +14.65% (p=0.000 n=10) Put/size=1,thread=100-16 2.069k ± 0% 2.167k ± 0% +4.71% (p=0.000 n=10) Put/size=1,thread=200-16 4.137k ± 0% 4.338k ± 0% +4.87% (p=0.000 n=10) Put/size=256,thread=1-16 22.00 ± 0% 32.00 ± 0% +45.45% (p=0.000 n=10) Put/size=256,thread=20-16 415.0 ± 0% 473.5 ± 0% +14.10% (p=0.000 n=10) Put/size=256,thread=100-16 2.070k ± 0% 2.163k ± 0% +4.47% (p=0.000 n=10) Put/size=256,thread=200-16 4.160k ± 0% 4.319k ± 0% +3.83% (p=0.000 n=10) Put/size=1024,thread=1-16 22.00 ± 5% 32.00 ± 0% +45.45% (p=0.000 n=10) Put/size=1024,thread=20-16 413.0 ± 1% 470.0 ± 1% +13.80% (p=0.000 n=10) Put/size=1024,thread=100-16 2.074k ± 0% 2.160k ± 0% +4.15% (p=0.000 n=10) Put/size=1024,thread=200-16 4.155k ± 0% 4.319k ± 0% +3.96% (p=0.000 n=10) Put/size=4096,thread=1-16 22.00 ± 0% 32.00 ± 0% +45.45% (p=0.000 n=10) Put/size=4096,thread=20-16 419.0 ± 0% 469.0 ± 0% +11.93% (p=0.000 n=10) Put/size=4096,thread=100-16 2.088k ± 0% 2.162k ± 0% +3.54% (p=0.000 n=10) Put/size=4096,thread=200-16 4.173k ± 0% 4.319k ± 0% +3.50% (p=0.000 n=10) Put/size=16384,thread=1-16 22.00 ± 0% 32.00 ± 0% +45.45% (p=0.000 n=18+10) Put/size=16384,thread=20-16 414.0 ± 0% 471.0 ± 0% +13.77% (p=0.000 n=10) Put/size=16384,thread=100-16 2.082k ± 1% 2.173k ± 0% +4.37% (p=0.000 n=10) Put/size=16384,thread=200-16 4.162k ± 0% 4.340k ± 0% +4.29% (p=0.000 n=10) Put/size=65536,thread=1-16 23.00 ± 4% 32.00 ± 0% +39.13% (p=0.000 n=10) Put/size=65536,thread=20-16 420.0 ± 0% 476.5 ± 1% +13.45% (p=0.000 n=10) Put/size=65536,thread=100-16 2.103k ± 0% 2.197k ± 1% +4.49% (p=0.000 n=10) Put/size=65536,thread=200-16 4.204k ± 0% 4.389k ± 0% +4.41% (p=0.000 n=10) Put/size=262144,thread=1-16 23.00 ± 0% 32.00 ± 0% +39.13% (p=0.000 n=10) Put/size=262144,thread=20-16 430.0 ± 1% 478.5 ± 0% +11.28% (p=0.000 n=10) Put/size=262144,thread=100-16 2.162k ± 2% 2.354k ± 1% +8.91% (p=0.000 n=10) Put/size=262144,thread=200-16 4.362k ± 2% 4.641k ± 2% +6.38% (p=0.000 n=10) Put/size=1048576,thread=1-16 25.00 ± 0% 33.00 ± 3% +32.00% (p=0.000 n=10) Put/size=1048576,thread=20-16 464.5 ± 3% 509.5 ± 2% +9.69% (p=0.000 n=10) Put/size=1048576,thread=100-16 2.322k ± 2% 2.535k ± 1% +9.17% (p=0.000 n=10) Put/size=1048576,thread=200-16 4.760k ± 1% 5.062k ± 1% +6.36% (p=0.000 n=10) Put/size=4194304,thread=1-16 26.00 ± 4% 33.00 ± 0% +26.92% (p=0.000 n=10) Put/size=4194304,thread=20-16 491.0 ± 2% 573.0 ± 1% +16.70% (p=0.000 n=10) Put/size=4194304,thread=100-16 2.550k ± 2% 2.914k ± 3% +14.29% (p=0.000 n=10) Put/size=4194304,thread=200-16 5.254k ± 4% 5.767k ± 10% +9.76% (p=0.000 n=10) geomean 552.5 638.2 +15.50% This makes flush_interval common for peapod and fstree since they're almost the same in meaning and then there are no peapod-specific configurations left. Signed-off-by: Roman Khimov <[email protected]>
- Loading branch information