Hi Sam,<div id="yMail_cursorElementTracker_1643026812861"><br></div><div id="yMail_cursorElementTracker_1643026813004">with the provided information it will be hard to find the reason behind those results.</div><div id="yMail_cursorElementTracker_1643026838241"><br></div><div id="yMail_cursorElementTracker_1643026838395">Let me try to guide you to some extend...</div><div id="yMail_cursorElementTracker_1643026853058"><br></div><div id="yMail_cursorElementTracker_1643026940146">Usually synthetic benchmarks do not show anything, because gluster has to be tuned to your real workload and not to a synth.</div><div id="yMail_cursorElementTracker_1643026971987"><br></div><div id="yMail_cursorElementTracker_1643026972214"><br></div><div id="yMail_cursorElementTracker_1643026853279">Also, RH recommends disks of 3-4TB each in a HW raid of 10-12 disks with a stripe size between 1M and 2M.</div><div id="yMail_cursorElementTracker_1643026880630">Next, you need to ensure that hardware alignment is properly done.</div><div id="yMail_cursorElementTracker_1643026897534"><br></div><div id="yMail_cursorElementTracker_1643026897728">Also, You can experiment with various I/O schedulers with your workload. Sometimes deadline is better , sometimes noop/none is. In your case (you are testing mainly writing) the second one should be more performant if the HW Raid card can cope with it.</div><div id="yMail_cursorElementTracker_1643027084523"><br></div><div id="yMail_cursorElementTracker_1643027084722">As you test on a single node, network lattency is out of the scope.</div><div id="yMail_cursorElementTracker_1643027128809"><br></div><div id="yMail_cursorElementTracker_1643027129008">You can tune the tuned daemon for sequential or random I/O (which changes the dirty sysctl settings).</div><div id="yMail_cursorElementTracker_1643027169492"><br></div><div id="yMail_cursorElementTracker_1643027169821">Then the hard part comes, as there are several predefined groups of settings based on your workload that alter the behaviour totally.You are not required to use any of them, but they are a good start.</div><div id="yMail_cursorElementTracker_1643027227080"><br></div><div id="yMail_cursorElementTracker_1643027227303">Keep in mind that Gluster performs better the more gluster nodes you have and the more clients connect to the volume. Single client to single node is not optimal and even if you had enought RAM (for RAMFS) -> your server cpu would be your bottleneck.</div><div id="yMail_cursorElementTracker_1643027301422"><br></div><div id="yMail_cursorElementTracker_1643027301658">What kind of workload do you have ? I think that a lot of users would be able to help with recommendations.</div><div id="yMail_cursorElementTracker_1643027339973"><br></div><div id="yMail_cursorElementTracker_1643027340206">Also, share:</div><div id="yMail_cursorElementTracker_1643027345850">HW Raid cache & settings</div><div id="yMail_cursorElementTracker_1643027361285">OS</div><div id="yMail_cursorElementTracker_1643027373369">Mount options</div><div id="yMail_cursorElementTracker_1643027377452">Volume options</div><div id="yMail_cursorElementTracker_1643027385549">Workload</div><div id="yMail_cursorElementTracker_1643027389632"><br></div><div id="yMail_cursorElementTracker_1643027389792">Best Regards,</div><div id="yMail_cursorElementTracker_1643027393077">Strahil Nikolov</div><div id="yMail_cursorElementTracker_1643026850290"> <br> <blockquote style="margin: 0 0 20px 0;"> <div style="font-family:Roboto, sans-serif; color:#6D00F6;"> <div>On Sun, Jan 23, 2022 at 7:46, Sam</div><div><mygluster22@eml.cc> wrote:</div> </div> <div style="padding: 10px 0 0 20px; margin: 10px 0 0 0; border-left: 1px solid #6D00F6;"> <div dir="ltr">Hello Everyone,<br></div><div dir="ltr"><br></div><div dir="ltr">I am just starting up with Gluster so pardon my ignorance if I am doing something incorrectly. In order to test the efficiency of GlusterFS, I wanted to compare its performance with the native file system on which it resides and thus I kept both gluster server & client on localhost to discount the role of network.<br></div><div dir="ltr"><br></div><div dir="ltr">"/data" is the XFS mount point of my 36 spinning disks in a RAID10 array. I got following results when I ran a fio based bench script directly on "/data".<br></div><div dir="ltr"><br></div><div dir="ltr">fio Disk Speed Tests (Mixed R/W 50/50):<br></div><div dir="ltr">---------------------------------<br></div><div dir="ltr">Block Size | 4k            (IOPS) | 64k           (IOPS)<br></div><div dir="ltr">  ------   | ---            ----  | ----           ---- <br></div><div dir="ltr">Read       | 302.17 MB/s  (75.5k) | 1.68 GB/s    (26.3k)<br></div><div dir="ltr">Write      | 302.97 MB/s  (75.7k) | 1.69 GB/s    (26.4k)<br></div><div dir="ltr">Total      | 605.15 MB/s (151.2k) | 3.38 GB/s    (52.8k)<br></div><div dir="ltr">           |                      |                     <br></div><div dir="ltr">Block Size | 512k          (IOPS) | 1m            (IOPS)<br></div><div dir="ltr">  ------   | ---            ----  | ----           ---- <br></div><div dir="ltr">Read       | 1.73 GB/s     (3.3k) | 3.24 GB/s     (3.1k)<br></div><div dir="ltr">Write      | 1.82 GB/s     (3.5k) | 3.46 GB/s     (3.3k)<br></div><div dir="ltr">Total      | 3.56 GB/s     (6.9k) | 6.71 GB/s     (6.5k)<br></div><div dir="ltr"><br></div><div dir="ltr">I then created a simple gluster volume "test" under "/data" after pointing "server" to 127.0.0.1 in "/etc/hosts" and mounted it on the same server to "/mnt":<br></div><div dir="ltr"><br></div><div dir="ltr"># mkdir /data/gluster<br></div><div dir="ltr"># gluster volume create test server:/data/gluster<br></div><div dir="ltr"># gluster volume start test<br></div><div dir="ltr"># mount -t glusterfs server:test /mnt<br></div><div dir="ltr"><br></div><div dir="ltr">Now when I am running the same bench script on "/mnt", I am getting abysmally poor results:<br></div><div dir="ltr"><br></div><div dir="ltr">fio Disk Speed Tests (Mixed R/W 50/50):<br></div><div dir="ltr">---------------------------------<br></div><div dir="ltr">Block Size | 4k            (IOPS) | 64k           (IOPS)<br></div><div dir="ltr">  ------   | ---            ----  | ----           ---- <br></div><div dir="ltr">Read       | 27.96 MB/s    (6.9k) | 13.96 MB/s     (218)<br></div><div dir="ltr">Write      | 27.98 MB/s    (6.9k) | 14.59 MB/s     (228)<br></div><div dir="ltr">Total      | 55.94 MB/s   (13.9k) | 28.55 MB/s     (446)<br></div><div dir="ltr">           |                      |                     <br></div><div dir="ltr">Block Size | 512k          (IOPS) | 1m            (IOPS)<br></div><div dir="ltr">  ------   | ---            ----  | ----           ---- <br></div><div dir="ltr">Read       | 41.21 MB/s      (80) | 126.50 MB/s    (123)<br></div><div dir="ltr">Write      | 42.97 MB/s      (83) | 134.92 MB/s    (131)<br></div><div dir="ltr">Total      | 84.18 MB/s     (163) | 261.42 MB/s    (254)<br></div><div dir="ltr"><br></div><div dir="ltr">There is plenty of free CPU & RAM available when the above test is running (70-80%) and negligible i/o wait (2-3%) so where is the bottleneck then? Or this kind of performance degradation is to be expected? Will really appreciate any insights.<br></div><div dir="ltr"><br></div><div dir="ltr">Thanks,<br></div><div dir="ltr">Sam<br></div><div dir="ltr">________<br></div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr">Community Meeting Calendar:<br></div><div dir="ltr"><br></div><div dir="ltr">Schedule -<br></div><div dir="ltr">Every 2nd and 4th Tuesday at 14:30 IST / 09:00 UTC<br></div><div dir="ltr">Bridge: <a href="https://meet.google.com/cpu-eiue-hvk" target="_blank">https://meet.google.com/cpu-eiue-hvk</a><br></div><div dir="ltr">Gluster-users mailing list<br></div><div dir="ltr"><a ymailto="mailto:Gluster-users@gluster.org" href="mailto:Gluster-users@gluster.org">Gluster-users@gluster.org</a><br></div><div dir="ltr"><a href="https://lists.gluster.org/mailman/listinfo/gluster-users" target="_blank">https://lists.gluster.org/mailman/listinfo/gluster-users</a><br></div> </div> </blockquote></div>