Continuation of: ZFS Raid-Z3 Performance with Zstandard (ZSTD) - Part 1 - Benchmark Background Information
Read & Random Read Results:
fio --name=test --numjobs=1 --allrandrepeat=1 --ioengine=libaio --filesize=80G --iodepth=64 --direct=1 --buffered=0 --time_based --runtime=300 --directory=VOLUME_MOUNTPOINT
| bs=4k | ||||
| volblocksize | Read IOPS | Read BW | RandRead IOPS | RandRead BW |
| 8k | 18.9k | 73.7MiB/s | 906 | 3625KiB/s |
| 16k | 34.6k | 135MiB/s | 735 | 2942KiB/s |
| 32k | 43.0k | 168MiB/s | 408 | 1632KiB/s |
| 64k | 45.0k | 180MiB/s | 380 | 1524KiB/s |
| 128k | 46.9k | 183MiB/s | 360 | 1442KiB/s |
| 256k | 47.9k | 187MiB/s | 320 | 1283KiB/s |
| 512k | 43.7k | 171MiB/s | 296 | 1187KiB/s |
| 1024k | 42.7k | 167MiB/s | 274 | 1097KiB/s |
| bs=16k | ||||
| volblocksize | Read IOPS | Read BW | RandRead IOPS | RandRead BW |
| 8k | 2679.0 | 41.9MiB/s | 445 | 7127KiB/s |
| 16k | 3101.0 | 48.5MiB/s | 815 | 12.7MiB/s |
| 32k | 3767.0 | 58.9MiB/s | 796 | 12.5MiB/s |
| 64k | 8429.0 | 132MiB/s | 683 | 10.7MiB/s |
| 128k | 8729.0 | 136MiB/s | 590 | 9455KiB/s |
| 256k | 11.0k | 173MiB/s | 427 | 6846KiB/s |
| 512k | 8746.0 | 137MiB/s | 364 | 5831KiB/s |
| 1024k | 9861.0 | 154MiB/s | 293 | 4698KiB/s |
| bs=64k | ||||
| volblocksize | Read IOPS | Read BW | RandRead IOPS | RandRead BW |
| 8k | 901.0 | 56.3MiB/s | 236 | 14.8MiB/s |
| 16k | 965.0 | 60.4MiB/s | 234 | 14.6MiB/s |
| 32k | 973.0 | 60.8MiB/s | 224 | 14.0MiB/s |
| 64k | 1229.0 | 76.8MiB/s | 320 | 20.0MiB/s |
| 128k | 1864.0 | 117MiB/s | 505 | 31.6MiB/s |
| 256k | 3072.0 | 192MiB/s | 436 | 27.3MiB/s |
| 512k | 3013.0 | 188MiB/s | 368 | 23.0MiB/s |
| 1024k | 3172.0 | 198MiB/s | 281 | 17.6MiB/s |
As can be seen clearly, random read performance peaks when bs value is same as volblocksize. Although the performance peaked at 128k volblocksize for the 64k bs value.
Write & Random Write Results (with and without fsync):
The same command as in read tests was used with --rw option having write and randwrite setting. Also the --fsync setting was usedWrite:
| bs=4k | fsync=0 | fsync=1 | ||
| volblocksize | Write IOPS | Write BW | Write IOPS | Write BW |
| 8k | 10.5k | 41.2MiB/s | 65 | 260KiB/s |
| 16k | 14.3k | 55.0MiB/s | 34 | 136KiB/s |
| 32k | 14.1k | 55.3MiB/s | 39 | 156KiB/s |
| 64k | 12.0k | 47.0MiB/s | 44 | 177KiB/s |
| 128k | 10.6k | 41.6MiB/s | 45 | 180KiB/s |
| 256k | 13.2k | 51.4MiB/s | 45 | 182KiB/s |
| 512k | 3901 | 15.2MiB/s | 64 | 258KiB/s |
| 1024k | 5633 | 22.0MiB/s | 121 | 486KiB/s |
| bs=16k | fsync=0 | fsync=1 | ||
| volblocksize | Write IOPS | Write BW | Write IOPS | Write BW |
| 8k | 3494 | 54.6MiB/s | 51 | 828KiB/s |
| 16k | 5216 | 81.5MiB/s | 35 | 561KiB/s |
| 32k | 2020 | 31.6MiB/s | 55 | 889KiB/s |
| 64k | 1563 | 24.4MiB/s | 43 | 689KiB/s |
| 128k | 1690 | 26.4MiB/s | 42 | 682KiB/s |
| 256k | 1568 | 24.5MiB/s | 43 | 689KiB/s |
| 512k | 1058 | 16.5MiB/s | 40 | 642KiB/s |
| 1024k | 1441 | 22.5MiB/s | 42 | 675KiB/s |
| bs=64k | fsync=0 | fsync=1 | ||
| volblocksize | Write IOPS | Write BW | Write IOPS | Write BW |
| 8k | 1020 | 63.8MiB/s | 59 | 3823KiB/s |
| 16k | 1441 | 90.1MiB/s | 36 | 2344KiB/s |
| 32k | 1834 | 115MiB/s | 37 | 2394KiB/s |
| 64k | 4019 | 251MiB/s | 43 | 2784KiB/s |
| 128k | 1006 | 62.9MiB/s | 49 | 3188KiB/s |
| 256k | 996 | 62.3MiB/s | 49 | 3160KiB/s |
| 512k | 902 | 56.4MiB/s | 46 | 2997KiB/s |
| 1024k | 854 | 53.4MiB/s | 49 | 3199KiB/s |
Random Write:
| bs=4k | fsync=0 | fsync=1 | ||
| volblocksize | RandWrite IOPS | RandWrite BW | RandWrite IOPS | RandWrite BW |
| 8k | 1593 | 6372KiB/s | 47 | 188KiB/s |
| 16k | 1329 | 5318KiB/s | 40 | 162KiB/s |
| 32k | 753 | 3014KiB/s | 50 | 200KiB/s |
| 64k | 650 | 2600KiB/s | 43 | 175KiB/s |
| 128k | 582 | 2332KiB/s | 58 | 235KiB/s |
| 256k | 261 | 1048KiB/s | 59 | 237KiB/s |
| 512k | 233 | 934KiB/s | 70 | 281KiB/s |
| 1024k | 181 | 726KiB/s | 108 | 435KiB/s |
| bs=16k | fsync=0 | fsync=1 | ||
| volblocksize | RandWrite IOPS | RandWrite BW | RandWrite IOPS | RandWrite BW |
| 8k | 4540 | 70.9MiB/s | 91 | 1458KiB/s |
| 16k | 6510 | 102MiB/s | 36 | 581KiB/s |
| 32k | 1013 | 15.8MiB/s | 37 | 600KiB/s |
| 64k | 865 | 13.5MiB/s | 59 | 946KiB/s |
| 128k | 416 | 6667KiB/s | 47 | 757KiB/s |
| 256k | 353 | 5661KiB/s | 63 | 1020KiB/s |
| 512k | 291 | 4671KiB/s | 80 | 1296KiB/s |
| 1024k | 204 | 3273KiB/s | 80 | 1288KiB/s |
| bs=64k | fsync=0 | fsync=1 | ||
| volblocksize | RandWrite IOPS | RandWrite BW | RandWrite IOPS | RandWrite BW |
| 8k | 1330 | 83.2MiB/s | 55 | 3531KiB/s |
| 16k | 1975 | 123MiB/s | 41 | 2672KiB/s |
| 32k | 2065 | 129MiB/s | 39 | 2524KiB/s |
| 64k | 4228 | 264MiB/s | 40 | 2594KiB/s |
| 128k | 513 | 32.1MiB/s | 48 | 3073KiB/s |
| 256k | 358 | 22.4MiB/s | 54 | 3504KiB/s |
| 512k | 286 | 17.9MiB/s | 67 | 4343KiB/s |
| 1024k | 209 | 13.1MiB/s | 65 | 4213KiB/s |
Read & Random Read Results With & Without Cache:
fio --name=test --loops=8 --numjobs=1 --allrandrepeat=1 --ioengine=libaio --filesize=10G --iodepth=64 --direct=1 --buffered=0 --directory=VOLUME_MOUNTPOINT
fio --name=test --numjobs=1 --allrandrepeat=1 --ioengine=libaio --filesize=10G --iodepth=64 --direct=1 --buffered=0 --directory=VOLUME_MOUNTPOINT
The results are with cache:
| Cache: MK0100GCTYU | ||||
| bs=4k | ||||
| volblocksize | Read IOPS | Read BW | RandRead IOPS | RandRead BW |
| 8k | 34.1k | 133MiB/s | 34.2k | 134MiB/s |
| 16k | 40.0k | 160MiB/s | 5509 | 21.5MiB/s |
| 32k | 45.5k | 178MiB/s | 5215 | 20.4MiB/s |
| 64k | 49.9k | 195MiB/s | 5423 | 21.2MiB/s |
| 128k | 55.9k | 218MiB/s | 3624 | 14.2MiB/s |
| 256k | 53.7k | 210MiB/s | 2020 | 8081KiB/s |
| 512k | 52.5k | 205MiB/s | 1043 | 4174KiB/s |
| 1024k | 47.7k | 186MiB/s | 529 | 2118KiB/s |
| bs=16k | ||||
| volblocksize | Read IOPS | Read BW | RandRead IOPS | RandRead BW |
| 8k | 16.1k | 251MiB/s | 19.3k | 301MiB/s |
| 16k | 21.9k | 342MiB/s | 22.4k | 350MiB/s |
| 32k | 23.2k | 362MiB/s | 13.4k | 209MiB/s |
| 64k | 26.3k | 410MiB/s | 7077 | 111MiB/s |
| 128k | 30.8k | 481MiB/s | 3950 | 61.7MiB/s |
| 256k | 26.4k | 413MiB/s | 2083 | 32.6MiB/s |
| 512k | 26.5k | 414MiB/s | 1070 | 16.7MiB/s |
| 1024k | 26.0k | 421MiB/s | 539 | 8633KiB/s |
| bs=64k | ||||
| volblocksize | Read IOPS | Read BW | RandRead IOPS | RandRead BW |
| 8k | 3606 | 225MiB/s | 4704 | 294MiB/s |
| 16k | 5046 | 315MiB/s | 5482 | 343MiB/s |
| 32k | 5666 | 354MiB/s | 5833 | 365MiB/s |
| 64k | 6064 | 379MiB/s | 6092 | 381MiB/s |
| 128k | 7101 | 444MiB/s | 3705 | 232MiB/s |
| 256k | 8264 | 517MiB/s | 2079 | 130MiB/s |
| 512k | 8752 | 547MiB/s | 1082 | 67.6MiB/s |
| 1024k | 7878 | 492MiB/s | 550 | 34.4MiB/s |
Without Cache:
| No Cache | ||||
| bs=4k | ||||
| volblocksize | Read IOPS | Read BW | RandRead IOPS | RandRead BW |
| 8k | 34.5k | 135MiB/s | 791 | 3167KiB/s |
| 16k | 42.3k | 165MiB/s | 796 | 3187KiB/s |
| 32k | 46.1k | 180MiB/s | 476 | 1906KiB/s |
| 64k | 50.6k | 198MiB/s | 445 | 1781KiB/s |
| 128k | 61.7k | 241MiB/s | 412 | 1650KiB/s |
| 256k | 54.7k | 214MiB/s | 501 | 2006KiB/s |
| 512k | 54.7k | 214MiB/s | 375 | 1501KiB/s |
| 1024k | 51.2k | 200MiB/s | 293 | 1173KiB/s |
| bs=16k | ||||
| volblocksize | Read IOPS | Read BW | RandRead IOPS | RandRead BW |
| 8k | 12.7k | 199MiB/s | 679 | 10.6MiB/s |
| 16k | 15.0k | 250MiB/s | 717 | 11.2MiB/s |
| 32k | 19.2k | 300MiB/s | 440 | 7042KiB/s |
| 64k | 24.9k | 389MiB/s | 416 | 6657KiB/s |
| 128k | 30.0k | 484MiB/s | 392 | 6281KiB/s |
| 256k | 26.6k | 416MiB/s | 485 | 7763KiB/s |
| 512k | 27.3k | 427MiB/s | 365 | 5842KiB/s |
| 1024k | 26.4k | 412MiB/s | 293 | 4703KiB/s |
| bs=64k | ||||
| volblocksize | Read IOPS | Read BW | RandRead IOPS | RandRead BW |
| 8k | 3080 | 193MiB/s | 499 | 31.2MiB/s |
| 16k | 4395 | 275MiB/s | 572 | 35.8MiB/s |
| 32k | 4847 | 303MiB/s | 397 | 24.8MiB/s |
| 64k | 6568 | 411MiB/s | 394 | 24.6MiB/s |
| 128k | 8692 | 543MiB/s | 386 | 24.2MiB/s |
| 256k | 8110 | 507MiB/s | 495 | 30.0MiB/s |
| 512k | 8773 | 548MiB/s | 367 | 22.9MiB/s |
| 1024k | 7680 | 480MiB/s | 294 | 18.4MiB/s |
Write & Random Write Results (with and without fsync) + SLOG:
Same command as the previous write tests was used with and without fsync and with the addition of SLOG device.
Write:
| SLOG: INTEL SSDSC2KG480G8 | ||||
| bs=4k | fsync=0 | fsync=1 | ||
| volblocksize | Write IOPS | Write BW | Write IOPS | Write BW |
| 8k | 9343 | 36.5MiB/s | 686 | 2747KiB/s |
| 16k | 14.5k | 56.7MiB/s | 668 | 2674KiB/s |
| 32k | 9775 | 38.2MiB/s | 873 | 3493KiB/s |
| 64k | 8245 | 32.2MiB/s | 1027 | 4108KiB/s |
| 128k | 11.8k | 46.1MiB/s | 1087 | 4349KiB/s |
| 256k | 12.3k | 48.1MiB/s | 1175 | 4703KiB/s |
| 512k | 13.8k | 53.8MiB/s | 1085 | 4344KiB/s |
| 1024k | 16.6k | 64.0MiB/s | 1230 | 4923KiB/s |
| bs=16k | fsync=0 | fsync=1 | ||
| volblocksize | Write IOPS | Write BW | Write IOPS | Write BW |
| 8k | 6007 | 93.9MiB/s | 452 | 7236KiB/s |
| 16k | 9875 | 154MiB/s | 681 | 10.6MiB/s |
| 32k | 4804 | 75.1MiB/s | 564 | 9030KiB/s |
| 64k | 3691 | 57.7MiB/s | 730 | 11.4MiB/s |
| 128k | 5233 | 81.8MiB/s | 755 | 11.8MiB/s |
| 256k | 5479 | 85.6MiB/s | 653 | 10.2MiB/s |
| 512k | 4888 | 76.4MiB/s | 669 | 10.5MiB/s |
| 1024k | 5894 | 92.1MiB/s | 542 | 8677KiB/s |
| bs=64k | fsync=0 | fsync=1 | ||
| volblocksize | Write IOPS | Write BW | Write IOPS | Write BW |
| 8k | 1765 | 110MiB/s | 456 | 28.6MiB/s |
| 16k | 2530 | 158MiB/s | 499 | 31.2MiB/s |
| 32k | 2815 | 176MiB/s | 594 | 37.2MiB/s |
| 64k | 5298 | 331MiB/s | 214 | 13.4MiB/s |
| 128k | 1555 | 97.2MiB/s | 538 | 33.6MiB/s |
| 256k | 1819 | 114MiB/s | 634 | 39.7MiB/s |
| 512k | 1751 | 109MiB/s | 666 | 41.6MiB/s |
| 1024k | 1915 | 120MiB/s | 601 | 37.6MiB/s |
Random Write:
| SLOG: INTEL SSDSC2KG480G8 | ||||
| bs=4k | fsync=0 | fsync=1 | ||
| volblocksize | RandWrite IOPS | RandWrite BW | RandWrite IOPS | RandWrite BW |
| 8k | 524 | 2098KiB/s | 719 | 2879KiB/s |
| 16k | 785 | 3140KiB/s | 721 | 2885KiB/s |
| 32k | 502 | 2011KiB/s | 713 | 2853KiB/s |
| 64k | 662 | 2651KiB/s | 826 | 3305KiB/s |
| 128k | 546 | 2185KiB/s | 593 | 2372KiB/s |
| 256k | 417 | 1671KiB/s | 469 | 1877KiB/s |
| 512k | 330 | 1321KiB/s | 343 | 1373KiB/s |
| 1024k | 271 | 1085KiB/s | 265 | 1063KiB/s |
| bs=16k | fsync=0 | fsync=1 | ||
| volblocksize | RandWrite IOPS | RandWrite BW | RandWrite IOPS | RandWrite BW |
| 8k | 5198 | 81.2MiB/s | 454 | 7272KiB/s |
| 16k | 9380 | 147MiB/s | 440 | 7042KiB/s |
| 32k | 958 | 14.0MiB/s | 501 | 8020KiB/s |
| 64k | 995 | 15.6MiB/s | 643 | 10.1MiB/s |
| 128k | 733 | 11.5MiB/s | 537 | 8600KiB/s |
| 256k | 553 | 8858KiB/s | 505 | 8081KiB/s |
| 512k | 368 | 5900KiB/s | 343 | 5504KiB/s |
| 1024k | 260 | 4168KiB/s | 248 | 3972KiB/s |
| bs=64k | fsync=0 | fsync=1 | ||
| volblocksize | RandWrite IOPS | RandWrite BW | RandWrite IOPS | RandWrite BW |
| 8k | 1531 | 95.7MiB/s | 378 | 23.6MiB/s |
| 16k | 2545 | 159MiB/s | 439 | 27.5MiB/s |
| 32k | 2577 | 161MiB/s | 453 | 28.4MiB/s |
| 64k | 4998 | 312MiB/s | 205 | 12.8MiB/s |
| 128k | 743 | 46.5MiB/s | 444 | 27.8MiB/s |
| 256k | 527 | 32.0MiB/s | 377 | 23.6MiB/s |
| 512k | 387 | 24.2MiB/s | 331 | 20.7MiB/s |
| 1024k | 270 | 16.9MiB/s | 238 | 14.9MiB/s |
Read Results With 1GB ARC + With & Without 100GB L2ARC
| No Cache | ||||
| bs=4k | ||||
| volblocksize | Read IOPS | Read BW | RandRead IOPS | RandRead BW |
| 8k | 34.5k | 135MiB/s | 791 | 3167KiB/s |
| 16k | 42.3k | 165MiB/s | 796 | 3187KiB/s |
| 32k | 46.1k | 180MiB/s | 476 | 1906KiB/s |
| 64k | 50.6k | 198MiB/s | 445 | 1781KiB/s |
| 128k | 61.7k | 241MiB/s | 412 | =1650KiB/s |
| 256k | 54.7k | 214MiB/s | 501 | 2006KiB/s |
| 512k | 54.7k | 214MiB/s | 375 | 1501KiB/s |
| 1024k | 51.2k | 200MiB/s | 293 | 1173KiB/s |
| bs=16k | ||||
| volblocksize | Read IOPS | Read BW | RandRead IOPS | RandRead BW |
| 8k | 12.7k | 199MiB/s | 679 | 10.6MiB/s |
| 16k | 15.0k | 250MiB/s | 717 | 11.2MiB/s |
| 32k | 19.2k | 300MiB/s | 440 | 7042KiB/s |
| 64k | 24.9k | 389MiB/s | 416 | 6657KiB/s |
| 128k | 30.0k | 484MiB/s | 392 | 6281KiB/s |
| 256k | 26.6k | 416MiB/s | 485 | 7763KiB/s |
| 512k | 27.3k | 427MiB/s | 365 | 5842KiB/s |
| 1024k | 26.4k | 412MiB/s | 293 | 4703KiB/s |
| bs=64k | ||||
| volblocksize | Read IOPS | Read BW | RandRead IOPS | RandRead BW |
| 8k | 3080 | 193MiB/s | 499 | 31.2MiB/s |
| 16k | 4395 | 275MiB/s | 572 | 35.8MiB/s |
| 32k | 4847 | 303MiB/s | 397 | 24.8MiB/s |
| 64k | 6568 | 411MiB/s | 394 | 24.6MiB/s |
| 128k | 8692 | 543MiB/s | 386 | 24.2MiB/s |
| 256k | 8110 | 507MiB/s | 495 | 30.0MiB/s |
| 512k | 8773 | 548MiB/s | 367 | 22.9MiB/s |
| 1024k | 7680 | 480MiB/s | 294 | 18.4MiB/s |
| Cache: MK0100GCTYU | ||||
| bs=4k | ||||
| volblocksize | Read IOPS | Read BW | RandRead IOPS | RandRead BW |
| 8k | 34.1k | 133MiB/s | 34.2k | 134MiB/s |
| 16k | 40.0k | 160MiB/s | 5509 | 21.5MiB/s |
| 32k | 45.5k | 178MiB/s | 5215 | 20.4MiB/s |
| 64k | 49.9k | 195MiB/s | 5423 | 21.2MiB/s |
| 128k | 55.9k | 218MiB/s | 3624 | 14.2MiB/s |
| 256k | 53.7k | 210MiB/s | 2020 | 8081KiB/s |
| 512k | 52.5k | 205MiB/s | 1043 | 4174KiB/s |
| 1024k | 47.7k | 186MiB/s | 529 | 2118KiB/s |
| Cache: MK0100GCTYU | ||||
| bs=16k | ||||
| volblocksize | Read IOPS | Read BW | RandRead IOPS | RandRead BW |
| 8k | 16.1k | 251MiB/s | 19.3k | 301MiB/s |
| 16k | 21.9k | 342MiB/s | 22.4k | 350MiB/s |
| 32k | 23.2k | 362MiB/s | 13.4k | 209MiB/s |
| 64k | 26.3k | 410MiB/s | 7077 | 111MiB/s |
| 128k | 30.8k | 481MiB/s | 3950 | 61.7MiB/s |
| 256k | 26.4k | 413MiB/s | 2083 | 32.6MiB/s |
| 512k | 26.5k | 414MiB/s | 1070 | 16.7MiB/s |
| 1024k | 26.0k | 421MiB/s | 539 | 8633KiB/s |
| Cache: MK0100GCTYU | ||||
| bs=64k | ||||
| volblocksize | Read IOPS | Read BW | RandRead IOPS | RandRead BW |
| 8k | 3606 | 225MiB/s | 4704 | 294MiB/s |
| 16k | 5046 | 315MiB/s | 5482 | 343MiB/s |
| 32k | 5666 | 354MiB/s | 5833 | 365MiB/s |
| 64k | 6064 | 379MiB/s | 6092 | 381MiB/s |
| 128k | 7101 | 444MiB/s | 3705 | 232MiB/s |
| 256k | 8264 | 517MiB/s | 2079 | 130MiB/s |
| 512k | 8752 | 547MiB/s | 1082 | 67.6MiB/s |
| 1024k | 7878 | 492MiB/s | 550 | 34.4MiB/s |