Do you have any notion what if any performance penalty there is staying
with 512 byte sectors?
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 <ja...@broken.net
<mailto:ja...@broken.net>> 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
_______________________________________________
openindiana-discuss mailing list
openindiana-discuss@openindiana.org
http://openindiana.org/mailman/listinfo/openindiana-discuss