On Wed, Apr 8, 2015 at 7:02 PM, Jason Matthews <[email protected]> wrote:
> > > Do you have any notion what if any performance penalty there is staying > with 512 byte sectors? > That's entirely hardware dependent. Varies between "none" and "a lot" :-) --matt > > Given the cost of high quality SSDs I am not inclined to move to larger > sector sizes unless there is a real pay off. Right now, I dont see it. > > j. > > > On 4/8/2015 5:41 PM, Matthew Ahrens wrote: > > On Wed, Apr 8, 2015 at 5:12 PM, jason matthews <[email protected]> wrote: > >> >> cross posting to zfs >> >> The data seems to indicate that something strange is happening between >> the compression algorithms and sector sizes > 512 bytes. ZFS reports >> virtually the same compression ratios for either ashift=9 or ashift=12 >> zpools, > > > This is a bug. The compression ratio with sector size other than 512 > bytes (i.e. ashift != 9) is reported higher than it really is. I have a > fix in the works. > > >> but the number of data blocks > > > I think you mean amount of space allocated, e.g. as reported by the > "referenced" or "used" properties. Number of data blocks should be the > same. > > >> consumed varies drastically between 9 bit and 12 bit sectors. > > > I think you mean 512-byte and 4KB sectors (2^9 and 2^12). 9-bit sectors > sounds like something from my nightmares :-) > > >> Uncompressed file systems report the same disk usage so the problem seems >> tied towards the compression mechanisms. Moving to 13 bit, as the illumos >> advanced sector wiki page implies, results in even more amplication. >> >> why should 4k sectors consume nearly 2x storage compressed versus 512 >> byte zpools? this looks like some sort of bug to me. > > > This is not a bug, it's an inherent effect of sector size. Take for > example a 8KB (logical size) block that compresses down to 4.12KB. With > 512 byte sectors, we will allocate 4.5KB (9 sectors), vs with 4KB sectors, > we must allocate 8KB (2 sectors). This effect will be more pronounced with > smaller blocks (e.g. recordsize=8k), and not very noticeable with large > blocks (e.g. the default of 128KB), unless the compression ratio is very > high (e.g. 128KB blocks that compresses to 4.12KB) > > --matt > > >> >> With Identical datasets installed on each file system we see a almost 2x >> magnification in disk usage in ashift=12 versus ashift=9. > > >> Do you any of you big brains on the ZFS team know why this happens? >> Is this a bug? Some sort of errant behavior in the Intel DC S3700? >> If it is not a bug, why would we want to move to 4k sectors? >> Is this a case where ZFS compression isnt tuned against 4k blocks? >> >> should I file a ticket? >> >> root@dbb005:/root# zfs list -r ashift9 ashift12 |grep postgres >> ashift12/128k/lz4/postgres 355G 40.7G 355G >> /ashift12/128k/lz4/postgres >> ashift12/128k/lzjb/postgres 403G 40.7G 403G >> /ashift12/128k/lzjb/postgres >> ashift12/128k/no-compression/postgres 640G 40.7G 640G >> /ashift12/128k/no-compression/postgres >> ashift12/8k/lz4/postgres 355G 40.7G 355G >> /ashift12/8k/lz4/postgres >> ashift12/8k/lzjb/postgres 403G 40.7G 403G >> /ashift12/8k/lzjb/postgres >> >> ashift9/128k/lz4/postgres 224G 6.32T 224G >> /ashift9/128k/lz4/postgres >> ashift9/128k/lzjb/postgres 277G 6.32T 277G >> /ashift9/128k/lzjb/postgres >> ashift9/128k/no-compression/postgres 638G 6.32T 638G >> /ashift9/128k/no-compression/postgres >> ashift9/8k/lz4/postgres 224G 6.32T 224G >> /ashift9/8k/lz4/postgres >> ashift9/8k/lzjb/postgres 224G 6.32T 224G >> /ashift9/8k/lzjb/postgres >> >> root@dbb005:/root# zfs get -r compressratio ashift9 ashift12 | grep >> postgres |grep -v @ >> ashift12/128k/lz4/postgres compressratio 2.86x - >> ashift12/128k/lzjb/postgres compressratio 2.31x - >> ashift12/128k/no-compression/postgres compressratio 1.00x - >> ashift12/8k/lz4/postgres compressratio 2.86x - >> ashift12/8k/lzjb/postgres compressratio 2.31x - >> >> ashift9/128k/lz4/postgres compressratio 2.86x - >> ashift9/128k/lzjb/postgres compressratio 2.31x - >> ashift9/128k/no-compression/postgres compressratio 1.00x - >> ashift9/8k/lz4/postgres compressratio 2.86x - >> ashift9/8k/lzjb/postgres compressratio 2.86x - >> >> >> >> root@dbb005:/root# zpool status ashift12 ashift9 >> pool: ashift12 >> state: ONLINE >> scan: none requested >> config: >> >> NAME STATE READ WRITE CKSUM >> ashift12 ONLINE 0 0 0 >> c3t55CD2E404B63FCD9d0 ONLINE 0 0 0 >> c3t55CD2E404B64033Bd0 ONLINE 0 0 0 >> c3t55CD2E404B63F93Cd0 ONLINE 0 0 0 >> >> errors: No known data errors >> >> root@dbb005:/root# zdb ashift12 |egrep ashift: >> ashift: 12 >> ashift: 12 >> ashift: 12 >> ashift: 12 >> ashift: 12 >> ashift: 12 >> >> >> >> pool: ashift9 >> state: ONLINE >> scan: none requested >> config: >> >> NAME STATE READ WRITE CKSUM >> ashift9 ONLINE 0 0 0 >> c3t55CD2E404B417CFEd0 ONLINE 0 0 0 >> c3t55CD2E404B43F0C9d0 ONLINE 0 0 0 >> c3t55CD2E404B640592d0 ONLINE 0 0 0 >> c3t55CD2E404B43F183d0 ONLINE 0 0 0 >> c3t55CD2E404B417D1Fd0 ONLINE 0 0 0 >> c3t55CD2E404B43F14Cd0 ONLINE 0 0 0 >> c3t55CD2E404B43EFAAd0 ONLINE 0 0 0 >> c3t55CD2E404B43EFCCd0 ONLINE 0 0 0 >> c3t55CD2E404B41904Ad0 ONLINE 0 0 0 >> c3t50015178F3659395d0 ONLINE 0 0 0 >> c3t55CD2E404B64062Fd0 ONLINE 0 0 0 >> >> errors: No known data errors >> >> root@dbb005:/root# zdb ashift9 |egrep ashift: >> ashift: 9 >> ashift: 9 >> ashift: 9 >> ashift: 9 >> ashift: 9 >> ashift: 9 >> ashift: 9 >> ashift: 9 >> ashift: 9 >> ashift: 9 >> ashift: 9 >> ashift: 9 >> ashift: 9 >> ashift: 9 >> ashift: 9 >> ashift: 9 >> ashift: 9 >> ashift: 9 >> ashift: 9 >> ashift: 9 >> ashift: 9 >> ashift: 9 >> >> root@dbb005:/root# iostat -En >> c3t55CD2E404B417CFEd0 Soft Errors: 0 Hard Errors: 0 Transport Errors: 0 >> Vendor: ATA Product: INTEL SSDSC2BA80 Revision: DL04 Serial No: >> BTTV331202X3800 >> Size: 800.17GB <800166076416 bytes> >> Media Error: 0 Device Not Ready: 0 No Device: 0 Recoverable: 0 >> Illegal Request: 0 Predictive Failure Analysis: 0 >> c3t55CD2E404B41904Ad0 Soft Errors: 0 Hard Errors: 0 Transport Errors: 0 >> Vendor: ATA Product: INTEL SSDSC2BA80 Revision: DL04 Serial No: >> BTTV331207RE800 >> Size: 800.17GB <800166076416 bytes> >> Media Error: 0 Device Not Ready: 0 No Device: 0 Recoverable: 0 >> Illegal Request: 0 Predictive Failure Analysis: 0 >> c3t55CD2E404B8149FAd0 Soft Errors: 0 Hard Errors: 0 Transport Errors: 0 >> Vendor: ATA Product: INTEL SSDSC2CT18 Revision: 335u Serial No: >> CVKI338200ZT180 >> Size: 180.05GB <180045766656 bytes> >> Media Error: 0 Device Not Ready: 0 No Device: 0 Recoverable: 0 >> Illegal Request: 0 Predictive Failure Analysis: 0 >> c3t55CD2E404B43EFAAd0 Soft Errors: 0 Hard Errors: 0 Transport Errors: 0 >> Vendor: ATA Product: INTEL SSDSC2BA80 Revision: DL04 Serial No: >> BTTV333005CU800 >> Size: 800.17GB <800166076416 bytes> >> Media Error: 0 Device Not Ready: 0 No Device: 0 Recoverable: 0 >> Illegal Request: 0 Predictive Failure Analysis: 0 >> c3t55CD2E404B406BBCd0 Soft Errors: 0 Hard Errors: 0 Transport Errors: 0 >> Vendor: ATA Product: INTEL SSDSC2BA80 Revision: DL04 Serial No: >> BTTV330209W2800 >> Size: 800.17GB <800166076416 bytes> >> Media Error: 0 Device Not Ready: 0 No Device: 0 Recoverable: 0 >> Illegal Request: 0 Predictive Failure Analysis: 0 >> c3t55CD2E404B417D1Fd0 Soft Errors: 0 Hard Errors: 0 Transport Errors: 0 >> Vendor: ATA Product: INTEL SSDSC2BA80 Revision: DL04 Serial No: >> BTTV331202Y3800 >> Size: 800.17GB <800166076416 bytes> >> Media Error: 0 Device Not Ready: 0 No Device: 0 Recoverable: 0 >> Illegal Request: 0 Predictive Failure Analysis: 0 >> c3t55CD2E404B43F0C9d0 Soft Errors: 0 Hard Errors: 0 Transport Errors: 0 >> Vendor: ATA Product: INTEL SSDSC2BA80 Revision: DL04 Serial No: >> BTTV333005ME800 >> Size: 800.17GB <800166076416 bytes> >> Media Error: 0 Device Not Ready: 0 No Device: 0 Recoverable: 0 >> Illegal Request: 0 Predictive Failure Analysis: 0 >> c3t55CD2E404B43EFCCd0 Soft Errors: 0 Hard Errors: 0 Transport Errors: 0 >> Vendor: ATA Product: INTEL SSDSC2BA80 Revision: DL04 Serial No: >> BTTV333005DU800 >> Size: 800.17GB <800166076416 bytes> >> Media Error: 0 Device Not Ready: 0 No Device: 0 Recoverable: 0 >> Illegal Request: 0 Predictive Failure Analysis: 0 >> c3t50015178F3659395d0 Soft Errors: 0 Hard Errors: 0 Transport Errors: 0 >> Vendor: ATA Product: INTEL SSDSC2BA80 Revision: DL04 Serial No: >> BTTV326303UP800 >> Size: 800.17GB <800166076416 bytes> >> Media Error: 0 Device Not Ready: 0 No Device: 0 Recoverable: 0 >> Illegal Request: 0 Predictive Failure Analysis: 0 >> c3t55CD2E404B43F14Cd0 Soft Errors: 0 Hard Errors: 0 Transport Errors: 0 >> Vendor: ATA Product: INTEL SSDSC2BA80 Revision: DL04 Serial No: >> BTTV333005RC800 >> Size: 800.17GB <800166076416 bytes> >> Media Error: 0 Device Not Ready: 0 No Device: 0 Recoverable: 0 >> Illegal Request: 0 Predictive Failure Analysis: 0 >> c3t55CD2E404B43F183d0 Soft Errors: 0 Hard Errors: 0 Transport Errors: 0 >> Vendor: ATA Product: INTEL SSDSC2BA80 Revision: DL04 Serial No: >> BTTV333005T3800 >> Size: 800.17GB <800166076416 bytes> >> Media Error: 0 Device Not Ready: 0 No Device: 0 Recoverable: 0 >> Illegal Request: 0 Predictive Failure Analysis: 0 >> c3t55CD2E404B63FCD9d0 Soft Errors: 0 Hard Errors: 0 Transport Errors: 0 >> Vendor: ATA Product: INTEL SSDSC2BA80 Revision: 0270 Serial No: >> BTTV420600LD800 >> Size: 800.17GB <800166076416 bytes> >> Media Error: 0 Device Not Ready: 0 No Device: 0 Recoverable: 0 >> Illegal Request: 0 Predictive Failure Analysis: 0 >> c3t55CD2E404B640592d0 Soft Errors: 0 Hard Errors: 0 Transport Errors: 0 >> Vendor: ATA Product: INTEL SSDSC2BA80 Revision: 0270 Serial No: >> BTTV420602JK800 >> Size: 800.17GB <800166076416 bytes> >> Media Error: 0 Device Not Ready: 0 No Device: 0 Recoverable: 0 >> Illegal Request: 0 Predictive Failure Analysis: 0 >> c3t55CD2E404B63F93Cd0 Soft Errors: 0 Hard Errors: 0 Transport Errors: 0 >> Vendor: ATA Product: INTEL SSDSC2BA80 Revision: 0270 Serial No: >> BTTV420505XQ800 >> Size: 800.17GB <800166076416 bytes> >> Media Error: 0 Device Not Ready: 0 No Device: 0 Recoverable: 0 >> Illegal Request: 0 Predictive Failure Analysis: 0 >> c3t55CD2E404B64062Fd0 Soft Errors: 0 Hard Errors: 0 Transport Errors: 0 >> Vendor: ATA Product: INTEL SSDSC2BA80 Revision: 0270 Serial No: >> BTTV420602P6800 >> Size: 800.17GB <800166076416 bytes> >> Media Error: 0 Device Not Ready: 0 No Device: 0 Recoverable: 0 >> Illegal Request: 0 Predictive Failure Analysis: 0 >> c3t55CD2E404B64033Bd0 Soft Errors: 0 Hard Errors: 0 Transport Errors: 0 >> Vendor: ATA Product: INTEL SSDSC2BA80 Revision: 0270 Serial No: >> BTTV4206020X800 >> Size: 800.17GB <800166076416 bytes> >> Media Error: 0 Device Not Ready: 0 No Device: 0 Recoverable: 0 >> Illegal Request: 0 Predictive Failure Analysis: 0 >> >> All Intel DC S3700 drives used in the ashift9 and ashift12 zpools >> >> > >
_______________________________________________ developer mailing list [email protected] http://lists.open-zfs.org/mailman/listinfo/developer
