On Fri, Dec 11, 2020 at 11:06:03AM -0500, Vivek Goyal wrote: [..] > > > > Could we measure at what point does a large window size actually make > > performance worse? > > Will do. Will run tests with varying window sizes (small to large) > and see how does it impact performance for same workload with > same guest memory. >
Ok, I ran some tests with virtiofs cache=auto and varied dax window size from 1G to 64G. (1, 2, 4, 8, 16, 32, 64). Still using file size 4G each. And -multi test use 4 files of 4G each. Here are the test results. To run tests faster, I ran one iteration of each job (instead of running 3 iterations and taking average). This should be good enough to give some idea. I have also pushed raw data file and test results here. https://github.com/rhvgoyal/virtiofs-tests/tree/master/performance-results/dec-10-2020 First line is vtfs cache auto without dax to see with what dax window size dax helps as opposed to without dax. Conclusion ---------- - Decreasing window size hurts tremendously for random read and random write workloads. - seqread/seqwrite still perform reasonably well even with smaller window size. - Increasing DAX window does not hurt. I will try to spend some time with smaller dax window and random read and ramdom write workloads and see if there is anything I can do to reduce the performance drop. Thanks Vivek NAME WORKLOAD Bandwidth IOPS vtfs-auto seqread-psync 650.0mb 162.5k vtfs-auto-dax-1G seqread-psync 653.1mb 163.2k vtfs-auto-dax-2G seqread-psync 668.2mb 167.0k vtfs-auto-dax-4G seqread-psync 657.8mb 164.4k vtfs-auto-dax-8G seqread-psync 699.5mb 174.8k vtfs-auto-dax-16G seqread-psync 674.3mb 168.5k vtfs-auto-dax-32G seqread-psync 667.6mb 166.9k vtfs-auto-dax-64G seqread-psync 696.1mb 174.0k vtfs-auto seqread-psync-multi 2530.7mb 632.6k vtfs-auto-dax-1G seqread-psync-multi 1931.1mb 482.7k vtfs-auto-dax-2G seqread-psync-multi 2105.6mb 526.4k vtfs-auto-dax-4G seqread-psync-multi 2142.2mb 535.5k vtfs-auto-dax-8G seqread-psync-multi 2229.7mb 557.4k vtfs-auto-dax-16G seqread-psync-multi 2324.3mb 581.0k vtfs-auto-dax-32G seqread-psync-multi 2421.1mb 605.2k vtfs-auto-dax-64G seqread-psync-multi 2469.7mb 617.4k vtfs-auto seqread-mmap 570.6mb 142.6k vtfs-auto-dax-1G seqread-mmap 823.9mb 205.9k vtfs-auto-dax-2G seqread-mmap 798.1mb 199.5k vtfs-auto-dax-4G seqread-mmap 874.4mb 218.6k vtfs-auto-dax-8G seqread-mmap 960.5mb 240.1k vtfs-auto-dax-16G seqread-mmap 917.1mb 229.2k vtfs-auto-dax-32G seqread-mmap 884.4mb 221.1k vtfs-auto-dax-64G seqread-mmap 855.6mb 213.9k vtfs-auto seqread-mmap-multi 2210.1mb 552.5k vtfs-auto-dax-1G seqread-mmap-multi 2722.9mb 680.7k vtfs-auto-dax-2G seqread-mmap-multi 2828.2mb 707.0k vtfs-auto-dax-4G seqread-mmap-multi 2777.4mb 694.3k vtfs-auto-dax-8G seqread-mmap-multi 2880.4mb 720.1k vtfs-auto-dax-16G seqread-mmap-multi 3159.2mb 789.8k vtfs-auto-dax-32G seqread-mmap-multi 2989.2mb 747.3k vtfs-auto-dax-64G seqread-mmap-multi 3007.3mb 751.8k vtfs-auto seqread-libaio 303.3mb 75.8k vtfs-auto-dax-1G seqread-libaio 396.4mb 99.1k vtfs-auto-dax-2G seqread-libaio 391.9mb 97.9k vtfs-auto-dax-4G seqread-libaio 422.9mb 105.7k vtfs-auto-dax-8G seqread-libaio 419.0mb 104.7k vtfs-auto-dax-16G seqread-libaio 411.2mb 102.8k vtfs-auto-dax-32G seqread-libaio 436.1mb 109.0k vtfs-auto-dax-64G seqread-libaio 418.0mb 104.5k vtfs-auto seqread-libaio-multi 1500.0mb 375.0k vtfs-auto-dax-1G seqread-libaio-multi 1271.7mb 317.9k vtfs-auto-dax-2G seqread-libaio-multi 1338.1mb 334.5k vtfs-auto-dax-4G seqread-libaio-multi 1306.6mb 326.6k vtfs-auto-dax-8G seqread-libaio-multi 1416.8mb 354.2k vtfs-auto-dax-16G seqread-libaio-multi 1461.9mb 365.4k vtfs-auto-dax-32G seqread-libaio-multi 1531.9mb 382.9k vtfs-auto-dax-64G seqread-libaio-multi 1495.4mb 373.8k vtfs-auto randread-psync 77.9mb 19.4k vtfs-auto-dax-1G randread-psync 18.7mb 4792 vtfs-auto-dax-2G randread-psync 25.2mb 6463 vtfs-auto-dax-4G randread-psync 59.9mb 14.9k vtfs-auto-dax-8G randread-psync 693.7mb 173.4k vtfs-auto-dax-16G randread-psync 646.0mb 161.5k vtfs-auto-dax-32G randread-psync 635.4mb 158.8k vtfs-auto-dax-64G randread-psync 663.4mb 165.8k vtfs-auto randread-psync-multi 285.2mb 71.3k vtfs-auto-dax-1G randread-psync-multi 28.7mb 7357 vtfs-auto-dax-2G randread-psync-multi 29.6mb 7596 vtfs-auto-dax-4G randread-psync-multi 35.0mb 8969 vtfs-auto-dax-8G randread-psync-multi 51.3mb 12.8k vtfs-auto-dax-16G randread-psync-multi 497.1mb 124.2k vtfs-auto-dax-32G randread-psync-multi 2092.9mb 523.2k vtfs-auto-dax-64G randread-psync-multi 2051.0mb 512.7k vtfs-auto randread-mmap 57.7mb 14.4k vtfs-auto-dax-1G randread-mmap 15.1mb 3889 vtfs-auto-dax-2G randread-mmap 21.5mb 5506 vtfs-auto-dax-4G randread-mmap 59.4mb 14.8k vtfs-auto-dax-8G randread-mmap 970.1mb 242.5k vtfs-auto-dax-16G randread-mmap 883.1mb 220.7k vtfs-auto-dax-32G randread-mmap 874.2mb 218.5k vtfs-auto-dax-64G randread-mmap 954.3mb 238.5k vtfs-auto randread-mmap-multi 243.5mb 60.8k vtfs-auto-dax-1G randread-mmap-multi 11.7mb 3005 vtfs-auto-dax-2G randread-mmap-multi 20.4mb 5232 vtfs-auto-dax-4G randread-mmap-multi 23.1mb 5937 vtfs-auto-dax-8G randread-mmap-multi 35.3mb 9058 vtfs-auto-dax-16G randread-mmap-multi 1009.8mb 252.4k vtfs-auto-dax-32G randread-mmap-multi 2612.6mb 653.1k vtfs-auto-dax-64G randread-mmap-multi 2908.5mb 727.1k vtfs-auto randread-libaio 276.2mb 69.0k vtfs-auto-dax-1G randread-libaio 19.4mb 4968 vtfs-auto-dax-2G randread-libaio 23.3mb 5981 vtfs-auto-dax-4G randread-libaio 60.6mb 15.1k vtfs-auto-dax-8G randread-libaio 413.5mb 103.3k vtfs-auto-dax-16G randread-libaio 410.8mb 102.7k vtfs-auto-dax-32G randread-libaio 392.0mb 98.0k vtfs-auto-dax-64G randread-libaio 412.9mb 103.2k vtfs-auto randread-libaio-multi 271.0mb 67.7k vtfs-auto-dax-1G randread-libaio-multi 29.2mb 7479 vtfs-auto-dax-2G randread-libaio-multi 30.4mb 7803 vtfs-auto-dax-4G randread-libaio-multi 36.6mb 9387 vtfs-auto-dax-8G randread-libaio-multi 49.0mb 12.2k vtfs-auto-dax-16G randread-libaio-multi 364.3mb 91.0k vtfs-auto-dax-32G randread-libaio-multi 1435.0mb 358.7k vtfs-auto-dax-64G randread-libaio-multi 1358.4mb 339.6k vtfs-auto seqwrite-psync 78.6mb 19.6k vtfs-auto-dax-1G seqwrite-psync 440.7mb 110.1k vtfs-auto-dax-2G seqwrite-psync 428.6mb 107.1k vtfs-auto-dax-4G seqwrite-psync 476.5mb 119.1k vtfs-auto-dax-8G seqwrite-psync 547.8mb 136.9k vtfs-auto-dax-16G seqwrite-psync 530.1mb 132.5k vtfs-auto-dax-32G seqwrite-psync 486.6mb 121.6k vtfs-auto-dax-64G seqwrite-psync 515.8mb 128.9k vtfs-auto seqwrite-psync-multi 305.7mb 76.4k vtfs-auto-dax-1G seqwrite-psync-multi 1405.0mb 351.2k vtfs-auto-dax-2G seqwrite-psync-multi 1447.0mb 361.7k vtfs-auto-dax-4G seqwrite-psync-multi 1329.4mb 332.3k vtfs-auto-dax-8G seqwrite-psync-multi 1250.4mb 312.5k vtfs-auto-dax-16G seqwrite-psync-multi 1264.7mb 316.1k vtfs-auto-dax-32G seqwrite-psync-multi 1224.5mb 306.1k vtfs-auto-dax-64G seqwrite-psync-multi 1165.6mb 291.4k vtfs-auto seqwrite-mmap 199.7mb 49.9k vtfs-auto-dax-1G seqwrite-mmap 1262.6mb 315.6k vtfs-auto-dax-2G seqwrite-mmap 1369.4mb 342.3k vtfs-auto-dax-4G seqwrite-mmap 1363.5mb 340.8k vtfs-auto-dax-8G seqwrite-mmap 1368.9mb 342.2k vtfs-auto-dax-16G seqwrite-mmap 1305.2mb 326.3k vtfs-auto-dax-32G seqwrite-mmap 1299.4mb 324.8k vtfs-auto-dax-64G seqwrite-mmap 1301.1mb 325.2k vtfs-auto seqwrite-mmap-multi 384.1mb 96.0k vtfs-auto-dax-1G seqwrite-mmap-multi 2162.9mb 540.7k vtfs-auto-dax-2G seqwrite-mmap-multi 2191.8mb 547.9k vtfs-auto-dax-4G seqwrite-mmap-multi 2045.1mb 511.2k vtfs-auto-dax-8G seqwrite-mmap-multi 1973.0mb 493.2k vtfs-auto-dax-16G seqwrite-mmap-multi 1911.3mb 477.8k vtfs-auto-dax-32G seqwrite-mmap-multi 2263.9mb 565.9k vtfs-auto-dax-64G seqwrite-mmap-multi 1718.4mb 429.6k vtfs-auto seqwrite-libaio 279.1mb 69.7k vtfs-auto-dax-1G seqwrite-libaio 294.2mb 73.5k vtfs-auto-dax-2G seqwrite-libaio 308.7mb 77.1k vtfs-auto-dax-4G seqwrite-libaio 308.3mb 77.0k vtfs-auto-dax-8G seqwrite-libaio 339.0mb 84.7k vtfs-auto-dax-16G seqwrite-libaio 323.3mb 80.8k vtfs-auto-dax-32G seqwrite-libaio 311.4mb 77.8k vtfs-auto-dax-64G seqwrite-libaio 334.2mb 83.5k vtfs-auto seqwrite-libaio-multi 306.4mb 76.6k vtfs-auto-dax-1G seqwrite-libaio-multi 968.7mb 242.1k vtfs-auto-dax-2G seqwrite-libaio-multi 1050.7mb 262.6k vtfs-auto-dax-4G seqwrite-libaio-multi 989.4mb 247.3k vtfs-auto-dax-8G seqwrite-libaio-multi 1017.8mb 254.4k vtfs-auto-dax-16G seqwrite-libaio-multi 1101.5mb 275.3k vtfs-auto-dax-32G seqwrite-libaio-multi 915.0mb 228.7k vtfs-auto-dax-64G seqwrite-libaio-multi 1067.5mb 266.8k vtfs-auto randwrite-psync 82.2mb 20.5k vtfs-auto-dax-1G randwrite-psync 20.4mb 5240 vtfs-auto-dax-2G randwrite-psync 29.6mb 7585 vtfs-auto-dax-4G randwrite-psync 65.4mb 16.3k vtfs-auto-dax-8G randwrite-psync 502.6mb 125.6k vtfs-auto-dax-16G randwrite-psync 501.6mb 125.4k vtfs-auto-dax-32G randwrite-psync 461.6mb 115.4k vtfs-auto-dax-64G randwrite-psync 481.2mb 120.2k vtfs-auto randwrite-psync-multi 302.1mb 75.5k vtfs-auto-dax-1G randwrite-psync-multi 30.9mb 7915 vtfs-auto-dax-2G randwrite-psync-multi 35.0mb 8968 vtfs-auto-dax-4G randwrite-psync-multi 36.7mb 9399 vtfs-auto-dax-8G randwrite-psync-multi 57.1mb 14.2k vtfs-auto-dax-16G randwrite-psync-multi 499.0mb 124.7k vtfs-auto-dax-32G randwrite-psync-multi 1123.0mb 280.7k vtfs-auto-dax-64G randwrite-psync-multi 1058.3mb 264.5k vtfs-auto randwrite-mmap 55.9mb 13.9k vtfs-auto-dax-1G randwrite-mmap 16.4mb 4221 vtfs-auto-dax-2G randwrite-mmap 22.0mb 5648 vtfs-auto-dax-4G randwrite-mmap 60.6mb 15.1k vtfs-auto-dax-8G randwrite-mmap 763.3mb 190.8k vtfs-auto-dax-16G randwrite-mmap 859.2mb 214.8k vtfs-auto-dax-32G randwrite-mmap 792.5mb 198.1k vtfs-auto-dax-64G randwrite-mmap 807.7mb 201.9k vtfs-auto randwrite-mmap-multi 208.9mb 52.2k vtfs-auto-dax-1G randwrite-mmap-multi 12.4mb 3191 vtfs-auto-dax-2G randwrite-mmap-multi 19.8mb 5072 vtfs-auto-dax-4G randwrite-mmap-multi 22.3mb 5710 vtfs-auto-dax-8G randwrite-mmap-multi 33.2mb 8511 vtfs-auto-dax-16G randwrite-mmap-multi 1061.2mb 265.3k vtfs-auto-dax-32G randwrite-mmap-multi 2113.2mb 528.3k vtfs-auto-dax-64G randwrite-mmap-multi 2099.4mb 524.8k vtfs-auto randwrite-libaio 258.7mb 64.6k vtfs-auto-dax-1G randwrite-libaio 20.4mb 5231 vtfs-auto-dax-2G randwrite-libaio 26.4mb 6774 vtfs-auto-dax-4G randwrite-libaio 64.9mb 16.2k vtfs-auto-dax-8G randwrite-libaio 326.7mb 81.6k vtfs-auto-dax-16G randwrite-libaio 303.6mb 75.9k vtfs-auto-dax-32G randwrite-libaio 298.2mb 74.5k vtfs-auto-dax-64G randwrite-libaio 328.5mb 82.1k vtfs-auto randwrite-libaio-multi 320.9mb 80.2k vtfs-auto-dax-1G randwrite-libaio-multi 31.1mb 7977 vtfs-auto-dax-2G randwrite-libaio-multi 34.2mb 8772 vtfs-auto-dax-4G randwrite-libaio-multi 38.8mb 9945 vtfs-auto-dax-8G randwrite-libaio-multi 55.9mb 13.9k vtfs-auto-dax-16G randwrite-libaio-multi 363.2mb 90.8k vtfs-auto-dax-32G randwrite-libaio-multi 800.4mb 200.1k vtfs-auto-dax-64G randwrite-libaio-multi 805.5mb 201.3k vtfs-auto randrw-psync 38.1mb/12.7mb 9775/3265 vtfs-auto-dax-1G randrw-psync 15.0mb/5134kb 3855/1283 vtfs-auto-dax-2G randrw-psync 19.0mb/6490kb 4866/1622 vtfs-auto-dax-4G randrw-psync 41.9mb/14.0mb 10.4k/3595 vtfs-auto-dax-8G randrw-psync 422.2mb/141.1mb 105.5k/35.2k vtfs-auto-dax-16G randrw-psync 395.9mb/132.3mb 98.9k/33.0k vtfs-auto-dax-32G randrw-psync 378.2mb/126.4mb 94.5k/31.5k vtfs-auto-dax-64G randrw-psync 419.2mb/140.1mb 104.8k/35.0k vtfs-auto randrw-psync-multi 151.4mb/50.7mb 37.8k/12.6k vtfs-auto-dax-1G randrw-psync-multi 23.5mb/8091kb 6020/2022 vtfs-auto-dax-2G randrw-psync-multi 24.7mb/8515kb 6343/2128 vtfs-auto-dax-4G randrw-psync-multi 27.9mb/9606kb 7148/2401 vtfs-auto-dax-8G randrw-psync-multi 38.6mb/12.9mb 9882/3309 vtfs-auto-dax-16G randrw-psync-multi 277.7mb/93.0mb 69.4k/23.2k vtfs-auto-dax-32G randrw-psync-multi 1233.6mb/412.5mb308.4k/103.1k vtfs-auto-dax-64G randrw-psync-multi 1447.4mb/483.9mb361.8k/120.9k vtfs-auto randrw-mmap 44.4mb/14.8mb 11.1k/3806 vtfs-auto-dax-1G randrw-mmap 11.6mb/3978kb 2980/994 vtfs-auto-dax-2G randrw-mmap 15.0mb/5133kb 3854/1283 vtfs-auto-dax-4G randrw-mmap 36.1mb/12.0mb 9247/3088 vtfs-auto-dax-8G randrw-mmap 618.2mb/206.6mb 154.5k/51.6k vtfs-auto-dax-16G randrw-mmap 638.2mb/213.3mb 159.5k/53.3k vtfs-auto-dax-32G randrw-mmap 554.6mb/185.3mb 138.6k/46.3k vtfs-auto-dax-64G randrw-mmap 608.5mb/203.3mb 152.1k/50.8k vtfs-auto randrw-mmap-multi 179.3mb/60.0mb 44.8k/15.0k vtfs-auto-dax-1G randrw-mmap-multi 11.7mb/4069kb 3007/1017 vtfs-auto-dax-2G randrw-mmap-multi 14.7mb/5088kb 3768/1272 vtfs-auto-dax-4G randrw-mmap-multi 16.8mb/5806kb 4307/1451 vtfs-auto-dax-8G randrw-mmap-multi 24.7mb/8515kb 6341/2128 vtfs-auto-dax-16G randrw-mmap-multi 479.4mb/160.4mb 119.8k/40.1k vtfs-auto-dax-32G randrw-mmap-multi 1290.1mb/431.3mb322.5k/107.8k vtfs-auto-dax-64G randrw-mmap-multi 1828.4mb/611.4mb457.1k/152.8k vtfs-auto randrw-libaio 83.4mb/27.9mb 20.8k/7161 vtfs-auto-dax-1G randrw-libaio 13.9mb/4725kb 3565/1181 vtfs-auto-dax-2G randrw-libaio 17.1mb/5866kb 4396/1466 vtfs-auto-dax-4G randrw-libaio 38.1mb/12.7mb 9756/3259 vtfs-auto-dax-8G randrw-libaio 253.0mb/84.5mb 63.2k/21.1k vtfs-auto-dax-16G randrw-libaio 252.5mb/84.4mb 63.1k/21.1k vtfs-auto-dax-32G randrw-libaio 239.9mb/80.1mb 59.9k/20.0k vtfs-auto-dax-64G randrw-libaio 255.7mb/85.4mb 63.9k/21.3k vtfs-auto randrw-libaio-multi 209.6mb/70.2mb 52.4k/17.5k vtfs-auto-dax-1G randrw-libaio-multi 23.8mb/8197kb 6105/2049 vtfs-auto-dax-2G randrw-libaio-multi 21.5mb/7418kb 5507/1854 vtfs-auto-dax-4G randrw-libaio-multi 28.0mb/9651kb 7186/2412 vtfs-auto-dax-8G randrw-libaio-multi 34.6mb/11.6mb 8873/2976 vtfs-auto-dax-16G randrw-libaio-multi 197.4mb/66.1mb 49.3k/16.5k vtfs-auto-dax-32G randrw-libaio-multi 633.8mb/211.9mb 158.4k/52.9k vtfs-auto-dax-64G randrw-libaio-multi 943.8mb/315.5mb 235.9k/78.8k