<div class="gmail_quote">On Sat, May 9, 2009 at 6:14 AM, Lars Ellenberg <span dir="ltr">&lt;<a href="mailto:lars.ellenberg@linbit.com">lars.ellenberg@linbit.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="im">On Fri, May 08, 2009 at 06:27:36PM -0400, Gennadiy Nerubayev wrote:<br>
&gt; Possibly related to my earlier post, but this time I focused on two things<br>
&gt; primarily: SSDs and metadata.<br>
&gt;<br>
&gt; Hardware: DRBD on top of 1 X25-e in each of the DRBD nodes, configured as<br>
&gt; simple volume on a hardware raid controller, and connected via IP over<br>
&gt; infiniband.<br>
&gt; Workload: 100% random io writes, 8KB block size<br>
&gt;<br>
&gt; Direct to the disk: 77.78MB/s, average latency 2ms<br>
&gt; Disconnected DRBD, metadata on ramdisk: 75.64MB/s, average latency 2ms<br>
&gt; Connected DRBD, metadata on ramdisk: 50.87MB/s, average latency 4ms<br>
&gt; Disconnected DRBD, metadata internal: 6.25MB/s, average latency 39ms<br>
&gt; Connected DRBD, metadata internal: 6.20MB/s, average latency 39ms<br>
&gt; Disconnected DRBD, metadata on a single 15K sas disk: 43.46MB/s, average<br>
&gt; latency 5ms<br>
&gt; Connected DRBD, metadata on a single 15K sas disk: 39.32MB/s, average<br>
&gt; latency 5ms<br>
<br>
</div>Could you add a &quot;dm linear&quot; to the table?<br>
i.e. just checking if just one small layer of &quot;virtual&quot; block device<br>
has any effect on throughput and or latency.<br>
dmsetup create experiment &lt;&lt;&lt;&quot;0 $[20 &lt;&lt;21] linear /dev/sdX&quot;<br>
then do your benchmark against /dev/mapper/experiment<br>
(just to see if that performs any different than &quot;raw&quot; /dev/sdx)</blockquote><div> <br>Doesn&#39;t seem to work:<br>dmsetup create experiment &lt;&lt;&lt; &quot;0 $[20 &lt;&lt;21] linear /dev/sdb&quot;<br>device-mapper: reload ioctl failed: Invalid argument<br>
Command failed<br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">&gt; Full resync speeds for all tests were 180-200MB/s (about what&#39;s expected<br>
<div class="im">
&gt; from a single x25-e). There is no difference between flexible and regular<br>
&gt; metadata for internal or external usage (metadata was recreated for those<br>
&gt; tests). Interestingly, ~6MBs is the same speed that I got when testing a 7<br>
&gt; disk raid 0 15K sas array with internal metadata (everything else is the<br>
&gt; same) and putting metadata on ramdisk moved that up to ~35MB/s.<br>
&gt;<br>
&gt; So for some reason even in the case of a very fast SSD, internal metadata<br>
&gt; performance for random writes is really bad. Putting it on any kind of<br>
&gt; external disk brings an immediate exponential performance increase..<br>
<br>
</div>IO scheduler? try deadline and noop.<br>
echo deadline  &gt; /sys/block/sdX/queue/scheduler</blockquote><div><br>Oooh, aaah:<br><br>Disconnected DRBD, metadata internal, deadline: 42.59MB/s, average latency 5ms<br>Connected DRBD, metadata internal, deadline: 39.34MB/s, average latency 5ms<br>
Disconnected DRBD, metadata internal, noop: 44.06MB/s, average latency 5ms<br>Connected DRBD, metadata internal, noop: 38.61MB/s, average latency 5ms<br><br>After running the above deadline and noop tests, I went back to cfq and got identical results as in the original test (~6MB/s). Kernel for reference is 2.6.29.1.<br>
<br>-Gennadiy<br></div></div>