[Gluster-users] Test results and Performance Tuning efforts ...

Lindsay Mathieson lindsay.mathieson at gmail.com
Fri Oct 9 00:10:09 UTC 2015


Morning, hope the folllowing ramble is ok, just examining the results of some extensive (and destructive 😊) testing of gluster 3.6.4 on some disks I had spare. Cluster purpose is solely for hosting qemu vm’s via Proxmox 3.4

Setup: 3 Nodes, well spec’d
-          64 GB RAM
-	VNB & VNG
	* CPU : E5-2620
- 	VNA
	* CPU’s : Dual E5-2660
-          Already in use as a Proxmox and Ceph Cluster running 30 Windows VM’s

Gluster Bricks.
-          All bricks on ZFS with 4 GB RAM ZIL, 1GB SSD SLOG and 10GB SSD Cache
-          LZ4 Compression
-          Sync disabled

Brick 1:
-          6 Velocitoraptors in a RAID10+ (3 Mirrors)
-          High performance
-          Already hosting 8 VM’s

Bricks 2 & 3:
-          Spare external USB 1TB Toshiba Drive attached via USB3
-          Crap performance 😊 About 50/100 MB/s R/W


Overall impressions – pretty good. Installation is easy and now I’ve been pointed to up to date docs and got the hang of the commands, I’m happy with the administration – vastly simpler than Ceph. The ability to access the files on the native filesystem is good for peace of mind and enables some interesting benchmark comparisons. I simulated drive failure by killing all the gluster processes on a node and it seemed to cope ok. 

I would like to see better status information such as “Heal % progress”, “Rebalance % progress”

NB: Pulling a USB external drive is a *bad* idea as it has no TLER support and this killed an entire node, had to hard reset it. In production I would use  something like WD Red NAS drives.


Despite all the abuse I threw at it I had no problems with split brain etc and the integration with proxmox is excellent. When running write tests I was very pleased to see it max out my bonded 2x1GB connections, something ceph has never been able to do. I consistently got 110+ MB/s raw write results inside VM’s

Currently running 4 VM’s off the Gluster datastore with no issues.

Benchmark results – done using Crystal DiskMark inside a Windows 7 VM, with VIRTIO drivers and writeback enabled. I tested a Gluster replica 3 setup, replica 1 and direct off the disk (ZFS). Multpile tests were run to get a feel for average results.

Node VNB
- Replica 3
- Local Brick: External USB Toshiba Drive
- -----------------------------------------------------------------------
- CrystalDiskMark 3.0.3 x64 (C) 2007-2013 hiyohiyo
-                            Crystal Dew World : http://crystalmark.info/
- -----------------------------------------------------------------------
- * MB/s = 1,000,000 byte/s [SATA/300 = 300,000,000 byte/s]
- 
-            Sequential Read :   738.642 MB/s
-           Sequential Write :   114.461 MB/s
-          Random Read 512KB :   720.623 MB/s
-         Random Write 512KB :   115.084 MB/s
-     Random Read 4KB (QD=1) :     9.684 MB/s [  2364.3 IOPS]
-    Random Write 4KB (QD=1) :     2.511 MB/s [   613.0 IOPS]
-    Random Read 4KB (QD=32) :    24.264 MB/s [  5923.7 IOPS]
-   Random Write 4KB (QD=32) :     5.685 MB/s [  1387.8 IOPS]
- 
-   Test : 1000 MB [C: 70.1% (44.8/63.9 GB)] (x5)
-   Date : 2015/10/09 9:30:37
-     OS : Windows 7 Professional N SP1 [6.1 Build 7601] (x64)


Node VNA
- Replica 1 (So no writing over ethernet)
- Local Brick: High performance Velocipraptors in RAID10
-            Sequential Read :   735.224 MB/s
-           Sequential Write :   718.203 MB/s
-          Random Read 512KB :   888.090 MB/s
-         Random Write 512KB :   453.174 MB/s
-     Random Read 4KB (QD=1) :    11.808 MB/s [  2882.9 IOPS]
-    Random Write 4KB (QD=1) :     4.249 MB/s [  1037.4 IOPS]
-    Random Read 4KB (QD=32) :    34.787 MB/s [  8492.8 IOPS]
-   Random Write 4KB (QD=32) :     5.487 MB/s [  1339.5 IOPS]


Node VNA
- Direct on ZFS (No Gluster)
-            Sequential Read :  2841.216 MB/s
-           Sequential Write :  1568.681 MB/s
-          Random Read 512KB :  1753.746 MB/s
-         Random Write 512KB :  1219.437 MB/s
-     Random Read 4KB (QD=1) :    26.852 MB/s [  6555.6 IOPS]
-    Random Write 4KB (QD=1) :    20.930 MB/s [  5109.8 IOPS]
-    Random Read 4KB (QD=32) :    58.515 MB/s [ 14286.0 IOPS]
-   Random Write 4KB (QD=32) :    46.303 MB/s [ 11304.3 IOPS]



Performance:
Raw read performance is excellent, averaging 700Mb/s – I’d say the ZFS & Cluster caches are working well.
As  mentioned raw write maxed out at 110 MB/s, near the max ethernet speed.
Random I/O is pretty average, it could be the Toshba drives bring things down, though even when I took them out of the equation it wasn’t much improved.

Direct off the disk was more than double the replica 1 brick in all areas, but I don’t find that surprising. I expected a fair amount of overhead with a cluster fs, and a 1-brick setup is not a real world usage. I was fairly impressed that adding two bricks to replica 3 made no real difference to the read results and the write results were obviously limuted by network speed. If only I could afford 10GB cards and a switch ...

I would like to improve the IOPS – these are the current tunables I have set – any suggestions for improvements would be much appreciated:


Volume Name: datastore1
Type: Replicate
Volume ID: 3bda2eee-54de-4540-a556-2f5d045c033a
Status: Started
Number of Bricks: 1 x 3 = 3
Transport-type: tcp
Bricks:
Brick1: vna.proxmox.softlog:/zfs_vm/datastore1
Brick2: vnb.proxmox.softlog:/glusterdata/datastore1
Brick3: vng.proxmox.softlog:/glusterdata/datastore1
Options Reconfigured:
performance.io-thread-count: 32
performance.write-behind-window-size: 32MB
performance.cache-size: 1GB
performance.cache-refresh-timeout: 4
nfs.disable: on
nfs.addr-namelookup: off
nfs.enable-ino32: on
diagnostics.client-log-level: WARNING
diagnostics.brick-log-level: WARNING
performance.write-behind: on

Thanks,

Lindsay




Sent from Mail for Windows 10
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.gluster.org/pipermail/gluster-users/attachments/20151009/2f05aa56/attachment.html>


More information about the Gluster-users mailing list