<div dir="ltr"><div><div>Hi, I&#39;m trying to set up a very simple glusterfs based system, but I&#39;m getting some strange performance numbers.<br><br></div>To keep the test simple I&#39;ve:<br>* Set up a volume on a single server<br>* Mounted the volume only via localhost<br>* Kept the files small (1-10G) so they always fit in page cache.<br><br>I hope this means that I&#39;m testing only glusterfs performance and not other aspects of my machine.<br><br></div>The host has two E5-2687W v3 @ 3.10GHz CPUs and 377 GB of ram and nothing else running.<br><div><div><br></div><div>I&#39;m running ubuntu server 16.04 with the glusterfs 3.10 from:<br><a href="https://launchpad.net/~gluster/+archive/ubuntu/glusterfs-3.10">https://launchpad.net/~gluster/+archive/ubuntu/glusterfs-3.10</a> <br></div><div><br></div><div>The script I&#39;m using is:<br>#!/bin/bash                                                                                                                                                                                         <br><br>set -x<br><br># Volume was created using:                                                                                                                                                                         <br># gluster volume create testvol transport tcp localhost:/mnt force                                                                                                                                  <br># gluster volume start testvol                                                                                                                                                                      <br><br><br><br>BS=1M<br>BC=1k<br><br><br>umount hest<br>mount -t glusterfs localhost:/testvol hest<br>dd if=/dev/zero of=hest/test/10g bs=$BS count=$BC<br>dd if=/mnt/test/10g of=/dev/null bs=$BS<br>dd if=/mnt/test/10g of=/dev/null bs=$BS<br>dd if=hest/test/10g of=/dev/null bs=$BS<br>dd if=hest/test/1g of=/dev/null bs=$BS<br><br><br>echo &quot;Purely local test&quot;<br>dd if=/dev/zero of=/mnt/fest/10g bs=$BS count=$BC<br>dd if=/mnt/fest/10g of=/dev/null bs=$BS<br>dd if=/mnt/fest/10g of=/dev/null bs=$BS<br><br></div><div><br></div><div>The typical results I get are:<br>+ BS=1M<br>+ BC=1k<br>+ umount hest<br>+ mount -t glusterfs localhost:/testvol hest<br>+ dd if=/dev/zero of=hest/test/10g bs=1M count=1k<br>1073741824 bytes (1.1 GB, 1.0 GiB) copied, 0.824452 s, 1.3 GB/s<br>+ dd if=/mnt/test/10g of=/dev/null bs=1M<br>1073741824 bytes (1.1 GB, 1.0 GiB) copied, 0.374057 s, 2.9 GB/s<br>+ dd if=/mnt/test/10g of=/dev/null bs=1M<br>1073741824 bytes (1.1 GB, 1.0 GiB) copied, 0.202726 s, 5.3 GB/s<br>+ dd if=hest/test/10g of=/dev/null bs=1M<br>1073741824 bytes (1.1 GB, 1.0 GiB) copied, 1.38545 s, 775 MB/s<br>+ dd if=hest/test/1g of=/dev/null bs=1M<br>1073741824 bytes (1.1 GB, 1.0 GiB) copied, 1.26429 s, 849 MB/s<br><br><br>Purely local test<br>+ dd if=/dev/zero of=/mnt/fest/10g bs=1M count=1k<br>1073741824 bytes (1.1 GB, 1.0 GiB) copied, 0.957372 s, 1.1 GB/s<br>+ dd if=/mnt/fest/10g of=/dev/null bs=1M<br>1073741824 bytes (1.1 GB, 1.0 GiB) copied, 0.245052 s, 4.4 GB/s<br>+ dd if=/mnt/fest/10g of=/dev/null bs=1M<br>1073741824 bytes (1.1 GB, 1.0 GiB) copied, 0.229069 s, 4.7 GB/s<br><br></div><div><br></div><div>I have a few questions:<br><br></div><div>1: Why is read performance so horrendously bad at 849 MB/s when I read the file back via glusterfs after I have just read the file from the local filesystem at 5.3 GB/s and thus ensuring that the file is in page cache for the glusterfs server to read from?<br><br></div><div>2: When I write the file locally and read it locally I can read the file out of page cache at more than 4 GB/s the first time I read it as well as the second, but when I write the file via glusterfs and read it locally the first read is much slower, indicating that the glusterfs server does something strange wrt. caching, what&#39;s going on here?<br><br></div><div><br>I&#39;m aiming to run the real system on 40Gb/s IB, so I&#39;m a bit annoyed that glusterfs seems to bottleneck at 22% of line speed even on localhost, without any real IO going on.<br></div><div><div><br>-- <br><div class="gmail_signature">Flemming Frandsen - YAPH - <a href="http://osaa.dk" target="_blank">http://osaa.dk</a> - <a href="http://dren.dk/" target="_blank">http://dren.dk/</a></div>
</div></div></div></div>