Somebody was asking some time ago how the Optane P4801X 200G will change its performance when the sector size will be changed from the default 512 to 4096. I was looking for an answer myself and I was finally able to find out. Below is the result of my comparison. The difference is insignificant. This Optane drive has Variable Sector Size feature. The sector size can be changed and it is not like with the regular drives when setting the sector size too small to the physical sector size will result with high write penalty.
First with 4k sector:
512 sector for reference:
I'm researching this for the purpose of setting the right sector size for my mirrored Optanes as a SLOG device in my build. What I still didn't figure out is how the ashift of the SLOG should be alligned with the pool vdev ashift to get the best results for select recordsize parameters when working with pool vdev of 8 drives in RAIDz2 with lz4 compression. My main use is MySQL, so I'm testing recordsize of 16k right now. Can anybody suggest some good materials to read about how to properly do the sector size aligment between SLOG/vdev/dataset recordsize for best performance?
First with 4k sector:
Code:
root@nas02[~]# sysctl kern.geom.debugflags=16 kern.geom.debugflags: 0 -> 16 root@nas02[~]# diskinfo -wS /dev/nvd0 /dev/nvd0 4096 # sectorsize 200049647616 # mediasize in bytes (186G) 48840246 # mediasize in sectors 0 # stripesize 0 # stripeoffset INTEL SSDPEL1K200GA # Disk descr. PHKM9163002C200E # Disk ident. Yes # TRIM/UNMAP support 0 # Rotation rate in RPM Synchronous random writes: 4 kbytes: 24.9 usec/IO = 156.9 Mbytes/s 8 kbytes: 28.4 usec/IO = 275.1 Mbytes/s 16 kbytes: 34.9 usec/IO = 447.2 Mbytes/s 32 kbytes: 45.0 usec/IO = 694.9 Mbytes/s 64 kbytes: 62.6 usec/IO = 998.7 Mbytes/s 128 kbytes: 96.4 usec/IO = 1296.9 Mbytes/s 256 kbytes: 161.0 usec/IO = 1552.5 Mbytes/s 512 kbytes: 290.4 usec/IO = 1722.0 Mbytes/s 1024 kbytes: 545.6 usec/IO = 1833.0 Mbytes/s 2048 kbytes: 1055.4 usec/IO = 1895.0 Mbytes/s 4096 kbytes: 2085.0 usec/IO = 1918.4 Mbytes/s 8192 kbytes: 4125.8 usec/IO = 1939.0 Mbytes/s
512 sector for reference:
Code:
root@nas02[~]# diskinfo -wS /dev/nvd0 /dev/nvd0 512 # sectorsize 200049647616 # mediasize in bytes (186G) 390721968 # mediasize in sectors 0 # stripesize 0 # stripeoffset INTEL SSDPEL1K200GA # Disk descr. PHKM9163002C200E # Disk ident. Yes # TRIM/UNMAP support 0 # Rotation rate in RPM Synchronous random writes: 0.5 kbytes: 27.7 usec/IO = 17.6 Mbytes/s 1 kbytes: 28.4 usec/IO = 34.4 Mbytes/s 2 kbytes: 29.1 usec/IO = 67.2 Mbytes/s 4 kbytes: 25.6 usec/IO = 152.3 Mbytes/s 8 kbytes: 29.4 usec/IO = 265.4 Mbytes/s 16 kbytes: 35.7 usec/IO = 438.0 Mbytes/s 32 kbytes: 47.4 usec/IO = 659.6 Mbytes/s 64 kbytes: 64.5 usec/IO = 968.6 Mbytes/s 128 kbytes: 101.0 usec/IO = 1238.2 Mbytes/s 256 kbytes: 170.0 usec/IO = 1470.2 Mbytes/s 512 kbytes: 302.1 usec/IO = 1655.2 Mbytes/s 1024 kbytes: 577.1 usec/IO = 1732.7 Mbytes/s 2048 kbytes: 1114.9 usec/IO = 1794.0 Mbytes/s 4096 kbytes: 2190.1 usec/IO = 1826.4 Mbytes/s 8192 kbytes: 4353.6 usec/IO = 1837.6 Mbytes/s
I'm researching this for the purpose of setting the right sector size for my mirrored Optanes as a SLOG device in my build. What I still didn't figure out is how the ashift of the SLOG should be alligned with the pool vdev ashift to get the best results for select recordsize parameters when working with pool vdev of 8 drives in RAIDz2 with lz4 compression. My main use is MySQL, so I'm testing recordsize of 16k right now. Can anybody suggest some good materials to read about how to properly do the sector size aligment between SLOG/vdev/dataset recordsize for best performance?