<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Exchange Server">
<!-- converted from text --><style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>
</head>
<body>
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Arial,Helvetica,sans-serif;">
<p>Sorry, I phrased one thing wrong:<br>
I said &quot;transferring to the network&quot;, but it's actually until it's received confirmation the data has been received successfully, I believe.</p>
<p><br>
</p>
<p>In any case, only one I/O (per thread) can be outstanding at a time with direct I/O.<br>
</p>
</div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> lustre-discuss &lt;lustre-discuss-bounces@lists.lustre.org&gt; on behalf of Patrick Farrell &lt;paf@cray.com&gt;<br>
<b>Sent:</b> Friday, October 14, 2016 3:12:22 PM<br>
<b>To:</b> Riccardo Veraldi; lustre-discuss@lists.lustre.org<br>
<b>Subject:</b> Re: [lustre-discuss] Lustre on ZFS pooer direct I/O performance</font>
<div>&nbsp;</div>
</div>
<div>
<meta content="text/html; charset=UTF-8">
<style type="text/css" style="">
<!--
p
        {margin-top:0;
        margin-bottom:0}
-->
</style>
<div dir="ltr">
<div id="x_divtagdefaultwrapper" style="font-size:12pt; color:#000000; font-family:Calibri,Arial,Helvetica,sans-serif">
<p>Riccardo,</p>
<p><br>
</p>
<p>While the difference is extreme, direct I/O write performance will always be poor.&nbsp; Direct I/O writes cannot be asynchronous, since they don't use the page cache.&nbsp; This means Lustre cannot return from one write (and start the next) until it has finished
 transferring the data to the network.</p>
<p><br>
</p>
<p>This means you can only have one I/O in flight at a time.&nbsp; Good write performance from Lustre (or any network filesystem) depends on keeping a lot of data in flight at once.</p>
<p><br>
</p>
<p>What sort of direct write performance were you hoping for?&nbsp; It will never match that 800 MB/s from one thread you see with buffered I/O.</p>
<p><br>
</p>
<p>- Patrick<br>
</p>
</div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="x_divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> lustre-discuss &lt;lustre-discuss-bounces@lists.lustre.org&gt; on behalf of Riccardo Veraldi &lt;Riccardo.Veraldi@cnaf.infn.it&gt;<br>
<b>Sent:</b> Friday, October 14, 2016 2:22:32 PM<br>
<b>To:</b> lustre-discuss@lists.lustre.org<br>
<b>Subject:</b> [lustre-discuss] Lustre on ZFS pooer direct I/O performance</font>
<div>&nbsp;</div>
</div>
</div>
<font size="2"><span style="font-size:10pt;">
<div class="PlainText">Hello,<br>
<br>
I would like how may I improve the situation of my lustre cluster.<br>
<br>
I have 1 MDS and 1 OSS with 20 OST defined.<br>
<br>
Each OST is a 8x Disks RAIDZ2.<br>
<br>
A single process write performance is around 800MB/sec<br>
<br>
anyway if I force direct I/O, for example using oflag=direct in dd, the <br>
write performance drop as low as 8MB/sec<br>
<br>
with 1MB block size. And each write it's about 120ms latency.<br>
<br>
I used these ZFS settings<br>
<br>
options zfs zfs_prefetch_disable=1<br>
options zfs zfs_txg_history=120<br>
options zfs metaslab_debug_unload=1<br>
<br>
i am quite worried for the low performance.<br>
<br>
Any hints or suggestions that may help me to improve the situation ?<br>
<br>
<br>
thank you<br>
<br>
<br>
Rick<br>
<br>
<br>
_______________________________________________<br>
lustre-discuss mailing list<br>
lustre-discuss@lists.lustre.org<br>
<a href="http://lists.lustre.org/listinfo.cgi/lustre-discuss-lustre.org">http://lists.lustre.org/listinfo.cgi/lustre-discuss-lustre.org</a><br>
</div>
</span></font></div>
</body>
</html>