Is the following possible?
Posted: Thu Jul 11, 2019 5:37 am
Hi,
Here's the setup:
I have 48GB of RAM in an X58 system with Xeon CPU.
2 pairs of mirrored 12TB disks. (4 total).
Server does nothing but serve up files via SMB over 10 Gigabit link.
Here's what I'm seeing:
Using the Finder to copy data via SMB (so async writes) writing from Mac Mini with 10GB Nic to server with 10GB Nic and I see 1.1GB/s for about 5 seconds, and then transfer drops down to about 170MB/sec.
So that means about ~6GB of data is written to RAM before ZFS decides to commit RAM to the disks? After this, the transfer drops down to the sum of the vdev spindle speeds for the remaining data until the transfer is complete.
Here's what I'm wanting:
Because I have 48GB RAM, I'm wanting the RAM to be filled to at least 20GB before ZFS starts writing to the disks from RAM.
The reason for this is because almost all my files I ever send to the server don't exceed 20GB. Plus it would be nice to use the RAM for async writes because there's no need for any cache devices with this setup.
I have played with all sorts of sysctl commands in an attempt to make this happen, but no matter what I try, it's always slowing down after ~5 seconds.
What is/are the sysctl settings to achieve the above? or is this 5 seconds (or the equivalent of 5 seconds of data being written) hard coded somewhere?
I've found heaps of weblinks such as https://www.freebsd.org/doc/handbook/zfs-advanced.html describing tunables such as vfs.zfs.txg.timeout but I'm just not having any luck achieving a 15-20sec duration of writing to RAM or ~20GB ram fill equivalent.
Can anyone help with this?
ta.
Here's the setup:
I have 48GB of RAM in an X58 system with Xeon CPU.
2 pairs of mirrored 12TB disks. (4 total).
Server does nothing but serve up files via SMB over 10 Gigabit link.
Here's what I'm seeing:
Using the Finder to copy data via SMB (so async writes) writing from Mac Mini with 10GB Nic to server with 10GB Nic and I see 1.1GB/s for about 5 seconds, and then transfer drops down to about 170MB/sec.
So that means about ~6GB of data is written to RAM before ZFS decides to commit RAM to the disks? After this, the transfer drops down to the sum of the vdev spindle speeds for the remaining data until the transfer is complete.
Here's what I'm wanting:
Because I have 48GB RAM, I'm wanting the RAM to be filled to at least 20GB before ZFS starts writing to the disks from RAM.
The reason for this is because almost all my files I ever send to the server don't exceed 20GB. Plus it would be nice to use the RAM for async writes because there's no need for any cache devices with this setup.
I have played with all sorts of sysctl commands in an attempt to make this happen, but no matter what I try, it's always slowing down after ~5 seconds.
What is/are the sysctl settings to achieve the above? or is this 5 seconds (or the equivalent of 5 seconds of data being written) hard coded somewhere?
I've found heaps of weblinks such as https://www.freebsd.org/doc/handbook/zfs-advanced.html describing tunables such as vfs.zfs.txg.timeout but I'm just not having any luck achieving a 15-20sec duration of writing to RAM or ~20GB ram fill equivalent.
Can anyone help with this?
ta.