I apologize profusely for bringing this back up, but i'm confused.
i read the following article (along with countless others) and i
thought i understand the point of the zil/slog and my understanding
seems to coincide with this article. However i've been told i'm wrong and i'm hoping someone can explain where i'm wrong in my thought process. i will explain how it all pertains to the design/build of my home nas based upon the latest version of truenas core 13.xx (stable).
keep in mind, my nas is just that - a nas.. no plugins or anything. i have separate mediaserver that is win10 based, runs plex, radarr/sonarr/nzbget, handbrake and is solely for use as a plex and movie rendering box with a 500G OS and software nvme, and a 2TB NVME for temporary storage of downloads until they're transferred to my nas.
movies are downloaded to mediasvr, rendered to mp4, the pumped to the nas. from there, if someone puts on a movie, plex (on mediasvr) has a mapped drive to the nas and it reads from that drive across a dedicated/direct 10G link. from there the movie goes out the 1G link to where ever it is requested.
my humble little nas is built with the following hardware:
supermicro x11ssh-f motherboard
i3-7100T (2 cores, 4 threads, although hyperthreading is disabled).
32Gigs of ECC ram
lsi 9211-8i in IT mode.
500GB NVME (intended for use as a slog/zil)
5x 4TB spinners attached to the aforementioned LSI controller.
onboard intel 1G nic
added intel x710-da2 (for large file transfers that would otherwise take a while)
from this article "
www.servethehome.com/what-is-the-zfs-zil-slog-and-what-makes-a-good-one/" and all else that i've researched it seems that i'm correct in my assumptions.
my nas and mediaserver diagram is as follows: mediasvr ->10Glink -> TNC Nas. the mediasvr and nas are accessed via the 1G links to my network, however the mediasvr and nas have a direct connection via DAC to one another for large file transfers (movies).. yes, it's overkill
Because of my spinners being slow (raidz1), TNC would never be able to write a data stream to them as fast as it can accept it from the mediasvr, so it would all go as follows:
1) mediasvr sends stream over the 10G link to TNC.
2) zfs cache (ram) fills and attempts to write to the spinners.
3) since the spinners can't keep up with the write speed, TNC starts writting the data stream to my NVME drive to A) ensure data is on persistent storage, and B) free up ram so as to keep accepting the incoming data stream.
4) the contents of the NVME drive from there would be written to the spinners at their pace.
in this scenario, considering the NVME is more than capable of accepting a 10Gb data stream, my file transfers should be able to achieve a sustained rate of 10Gb/s, however when i test, the file transfer starts at 10Gb/s, goes for a several seconds, then drops to between 150-400Mb/s.
is there a setting i can change? how am i wrong in my assumptions? I'm SURE other novices have made the same assumptions so working through this would help many.
Thank you for your time!