<html><head><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Feb 18, 2015, at 12:04 PM, Rune Tipsmark <<a href="mailto:rt@steait.net" class="">rt@steait.net</a>> wrote:</div><br class="Apple-interchange-newline"><div class="">

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" class="">
<style type="text/css" style="display:none" class=""><!-- p { margin-top: 0px; margin-bottom: 0px; }--></style>

<div dir="ltr" style="font-size: 12pt; background-color: rgb(255, 255, 255); font-family: Calibri, Arial, Helvetica, sans-serif;" class=""><p class="">hi all,</p><div class=""> <br class="webkit-block-placeholder"></div><p class="">I found an entry about zil_slog_limit here: <a href="http://utcc.utoronto.ca/~cks/space/blog/solaris/ZFSWritesAndZILII" class="">
http://utcc.utoronto.ca/~cks/space/blog/solaris/ZFSWritesAndZILII</a></p><p class="">it basically explains how writes larger than 1MB per default hits the main pool rather than my Slog device - I could not find much further information nor the equivalent setting in OmniOS. I also read
<a href="http://nex7.blogspot.ca/2013/04/zfs-intent-log.html" class="">http://nex7.blogspot.ca/2013/04/zfs-intent-log.html</a> but it didn't truly help me understand just how I can force every written byte to my ZFS box to go the ZIL regardless of size, I never ever
 want anything to go directly to my man pool ever.</p><div class=""><br class=""></div></div></div></blockquote><div><br class=""></div><div>"never ever want anything to go to main pool" is not feasible. The ZIL is a ZFS Intent Log</div><div><a href="http://en.wikipedia.org/wiki/Intent_log" class="">http://en.wikipedia.org/wiki/Intent_log</a> and, unless you overwrite prior to txg commit, everything</div><div>ends up in the main pool.</div><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" style="font-size: 12pt; background-color: rgb(255, 255, 255); font-family: Calibri, Arial, Helvetica, sans-serif;" class=""><div class=""> <br class="webkit-block-placeholder"></div><p class="">I have sync=always and disabled write back cache on my volume based LU's.</p><div class=""> <br class="webkit-block-placeholder"></div><p class="">Testing with zfs_txg_timeout set to 30 or 60 seconds seems to make no difference if I write large files to my LU's - I don't seem the write speed being consistent with the performance of the Slog devices. It looks as if it goes straight to disk and hence
 the performance is less than great to say the least.</p><div class=""><br class=""></div></div></div></blockquote><div><br class=""></div>Ultimately, the pool must be able to sustain the workload, or it will have to throttle.</div><div><br class=""></div><div>The comment for zil_slog_limit is concise:</div><div><div>/*</div><div> * Use the slog as long as the logbias is 'latency' and the current commit size</div><div> * doesn't exceed the limit or the total list size doesn't exceed its limit.</div><div> * Limit checking is disabled by setting zil_slog_limit to UINT64_MAX.</div><div> */</div><div>uint64_t zil_slog_limit = (1024 * 1024);</div><div>uint64_t zil_slog_list_limit = (1024 * 1024 * 200);</div><div class=""><br class=""></div></div><div>and you can change this on the fly using mdb to experiment.<br class=""><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" style="font-size: 12pt; background-color: rgb(255, 255, 255); font-family: Calibri, Arial, Helvetica, sans-serif;" class=""><div class=""> <br class="webkit-block-placeholder"></div><p class="">How do I ensure 100% that all writes always goes to my Slog devices - no exceptions.</p><div class=""><br class=""></div></div></div></blockquote><div><br class=""></div><div>The question really isn't "how" the question is "why"? Now that you know what an </div><div>Intent Log is, and how the performance of the pool is your ultimate limit, perhaps you</div><div>can explain what you are really trying to accomplish?</div><div> -- richard</div></div><br class=""></body></html>