Windows7ge
Contributor
- Joined
- Sep 26, 2017
- Messages
- 124
I just upgraded the boot drive in my computer so I had a spare 400GB Intel 750 Series PCI_e SSD. My server which runs 8x WD Gold 7200RPM drives in a raidz2 config would average around 500~600MBps so its pushing about the max the HBA can process information (SATAIII). I heard of people using SSDs as a form of read/write cache. As I learned on my own under the Volume Manager the cache option is for reads and ZIL is for writes. Some research into ZIL showed that it's not REALLY intended as a form of boosting performance but preventing the loss of in transit information as it's being flushed to the array (or something to that degree, please don't quote me on any of this). However a little more research showed that depending on how it's configured it will increase write performance.
So, I do some baseline testing. As I said earlier around 500~600MBps. I install the SSD. I go into Volume Manager and add the SSD to the volume as a ZIL device and...no performance change what-so-ever...I take a look in the Reporting tab on FreeNAS and look under Disk. Located the PCI_e SSD and according to the report no information is being written to the SSD at all but all 8 disks show a spike in writes at the time of copy.
A little bit more research brings me to synchronous vs asynchronous write (Looking up the difference between the two I couldn't understand). An article mentioned that by default only synchronous writes are...enabled?...my understanding starts to fall apart here. I found there's a setting for the SLOG device called sync. By default sync=standard. The article spoke about how setting sync=always does something with asynchronous writes and forces data to be written to the SLOG device which would force the writes to operate at the speed of the slog device. Well, the PCI_e SSD is rated for 900MBps writes. Setting sync=always made transfer speeds go from 500~600MBps to a steady 300MBps.
Going back into the Reporting tab under disk it reported this time that data WAS being written to the SSD. So it did what it was suppose to do...just at 1/3rd the rated speed.
I know the issue isn't the files or network card because when data is saved to the server's RAM I can saturate the 10Gbit link reading information.
The server's primary application is backup so writes are more important than reads.
Shell commands I was using were:
So, I do some baseline testing. As I said earlier around 500~600MBps. I install the SSD. I go into Volume Manager and add the SSD to the volume as a ZIL device and...no performance change what-so-ever...I take a look in the Reporting tab on FreeNAS and look under Disk. Located the PCI_e SSD and according to the report no information is being written to the SSD at all but all 8 disks show a spike in writes at the time of copy.
A little bit more research brings me to synchronous vs asynchronous write (Looking up the difference between the two I couldn't understand). An article mentioned that by default only synchronous writes are...enabled?...my understanding starts to fall apart here. I found there's a setting for the SLOG device called sync. By default sync=standard. The article spoke about how setting sync=always does something with asynchronous writes and forces data to be written to the SLOG device which would force the writes to operate at the speed of the slog device. Well, the PCI_e SSD is rated for 900MBps writes. Setting sync=always made transfer speeds go from 500~600MBps to a steady 300MBps.
Going back into the Reporting tab under disk it reported this time that data WAS being written to the SSD. So it did what it was suppose to do...just at 1/3rd the rated speed.
I know the issue isn't the files or network card because when data is saved to the server's RAM I can saturate the 10Gbit link reading information.
The server's primary application is backup so writes are more important than reads.
Shell commands I was using were:
zfs get sync [Volume Name]
zfs set sync=[standard | always | disabled] [Volume Name]