Intel S3500 SSD for ZIL

Status
Not open for further replies.

Ericloewe

Server Wrangler
Moderator
Joined
Feb 15, 2014
Messages
20,194
Is a ZIL device some kind of a "boost" for total write speeds to the pool or "max write speed to the ZIL = max write speed to the pool" ?

Neither. I strongly suggest you read Cyberjock's guide. If you still have questions then, feel free to ask them.

That said, the SSD is a decent choice, but you most likely will not be using an SSD.
 

prescott

Dabbler
Joined
Feb 8, 2014
Messages
21
I've read it... What I understand out of it it works as a boost and not absolute write speed. That is exactly why I have made this thread to get a confirmation on this subject.

I mean boost as boosting/helping pools absolute write speed to the HDDs...

What about S3500 SSDs are they good with being only 100MB/s and 7000IOPS? I have 6x WD blacks 4TB in raidz2...
 

Ericloewe

Server Wrangler
Moderator
Joined
Feb 15, 2014
Messages
20,194
I've read it... What I understand out of it it works as a boost and not absolute write speed. That is exactly why I have made this thread to get a confirmation on this subject.

I mean boost as boosting/helping pools absolute write speed to the HDDs...

What about S3500 SSDs are they good with being only 100MB/s and 7000IOPS? I have 6x WD blacks 4TB in raidz2...

The ZFS intent log contains sync writes that have not yet been committed to the pool. It's typically not read from, except when something went wrong and the original write was not completed. In these cases (Kernel Panics, power losses, etc.), the ZFS intent log is read and the writes committed to the pool. This whole process only happens for sync writes, not every single write operation. Sync writes require that the data be stored safely (in ZFS' case, this means they can only be acknowledged after being written to the ZFS Intent Log, so sync write heavy operations may be bottlenecked by the ZIL).

Using a Separate Log (SLOG, what you called ZIL) device allows these sync writes to be written to a faster device. However, you will still be limited to the typical write performance of the pool.

The ZIL is not a general write buffer, and by extension, an SLOG is also not a general write buffer.

The general rule is that if you don't know if you'll be needing a SLOG, that means you won't be needing one..
 

prescott

Dabbler
Joined
Feb 8, 2014
Messages
21
Let me rephrase my question:
FreeNAS is capable of writing 500MB/s, but not sync writing
SERVER-->10GbE NFS sync write-->FreeNAS with Intel S3500 SSD (100MB/s writes)

Will the SERVER sync write over NFS to the FreeNAS:
1) max speed of the ZIL SSD, that is 100MB/s
2) max speed of the raidz2 pool, that is 500MB/s
3) something in between, closer to 1) or 2)

Please I still do not understand and that is my question.

Thanks!

EDIT:
And yes, I do need one because SERVER=ESXi, so is it 1) 2) or 3)?
EDIT2:
Also, if I understand this correctly and make this a super safe pool in the future, by this I mean making ALL writes SYNC writes, that means then that ZIL is a general write buffer for ALL writes then, yes?
 

Ericloewe

Server Wrangler
Moderator
Joined
Feb 15, 2014
Messages
20,194
Let me rephrase my question:
FreeNAS is capable of writing 500MB/s, but not sync writing
SERVER-->10GbE NFS sync write-->FreeNAS with Intel S3500 SSD (100MB/s writes)

Will the SERVER sync write over NFS to the FreeNAS:
1) max speed of the ZIL SSD, that is 100MB/s
2) max speed of the raidz2 pool, that is 500MB/s
3) something in between, closer to 1) or 2)

Please I still do not understand and that is my question.

Thanks!

EDIT:
And yes, I do need one because SERVER=ESXi, so is it 1) 2) or 3)?
EDIT2:
Also, if I understand this correctly and make this a super safe pool in the future, by this I mean making ALL writes SYNC writes, that means then that ZIL is a general write buffer for ALL writes then, yes?

In that somewhat absurd situation (The SSD can easily push more than that), sync writes will be limited to 100MB/s, because sync writes must be stored safely (not necessarily permanently) before being acknowledged (In this, the slow SLOG would be slowing down the process, assuming the pool is faster than the SLOG).

Let's turn the numbers around: Pool writes 100MB/s, SLOG SSD writes 500MB/s

The limit is still 100MB/s, because data will not be transferred faster (at least over a longer period) than it can be written to the pool.

Let's look at something closer to real life: The pool can write at 300MB/s generally, but slows to 100MB/s when doing sync writes (disks are constantly moving between ZIL and pool areas). If we now add our 500MB/s SSD as an SLOG, we can have the pool write at 300MB/s, because it's not bottlenecked by the need to constantly move the heads back and forth (the SSD now contaisn the SLOG). The system will now accept data at 300MB/s.

(Yes, it's a bit more complicated, but this should illustrate the general idea)

The ZIL is never used as a buffer in the sense that data is stored there and later retrieved at a more opportune time. The ZIL serves as a non-volatile backup of the write cache kept in RAM. Without the ZIL, every single sync write would have to be immediately written to the pool and then individually acknowledged, slowing things down, as per sync requirements. The ZIL offloads these to a non-volatile scratch area immediately, keeping the RAM copy - the data is then processed normally in a way that maximizes performance. The real write buffer is always in RAM, but since sync demands that the data be stored in non-volatile memory, a sort of "emergency copy" is kept in the ZIL.
 

prescott

Dabbler
Joined
Feb 8, 2014
Messages
21
I kinda understand what your explaining, but the SSD has 100MB/s writes! Check the link!

So SSD "has" 100MB/s... Is it good for ZIL for sync writes or not?

Thanks for explanation!
 

Ericloewe

Server Wrangler
Moderator
Joined
Feb 15, 2014
Messages
20,194
You're right, and that sounds pitifully slow for an SSD (I guess I'm too used to higher-capacity drives).

I suggest you try something faster (like the same drive but in a 120 or 240 GB version, those should be faster) and compare the system's performance with and without the SSD under real-life conditions. Then it'll be easier to figure out how to proceed.
 

prescott

Dabbler
Joined
Feb 8, 2014
Messages
21
Thank you very much so far.

I know I should go for bigger SSDs but they get more expensive.. Which ones do you have? I've been looking into these Intel S3500 SSDs because they have a supercap which I thought is very much needed?
 

Ericloewe

Server Wrangler
Moderator
Joined
Feb 15, 2014
Messages
20,194
Thank you very much so far.

I know I should go for bigger SSDs but they get more expensive.. Which ones do you have? I've been looking into these Intel S3500 SSDs because they have a supercap which I thought is very much needed?

I don't have any appropriate SSDs (the ones that I do have are not in servers). Backup capacitors are definitely nice to have (not absolutely essential, but almost given that we're talking about the SLOG). Intel's enterprise SSDs should all be appropriate for the job, look around for good deals.
 

mka

Contributor
Joined
Sep 26, 2013
Messages
107
I don't think the 100MB/s write speed of the Intel SSD would be much of performance penalty ...probably except for long sequential sync writes. For the most part the workloads will often feature small random sync writes and these hitting typical slow random IOPS of mechanical drives. In that case the SSD will react much quicker than the pool. You can monitor the sync write throughput by running "zilstat.py -p <poolname> txg"
 

cyberjock

Inactive Account
Joined
Mar 25, 2012
Messages
19,526
You just responded to a thread from 4 months ago... lol.
 

mka

Contributor
Joined
Sep 26, 2013
Messages
107
I stumbled upon that thread while I had the same topic back that. Maybe some else will too.
 
Status
Not open for further replies.
Top