[Gluster-users] Test results and Performance Tuning efforts ...
Ben Turner
bturner at redhat.com
Mon Oct 12 21:54:55 UTC 2015
----- Original Message -----
> From: "Lindsay Mathieson" <lindsay.mathieson at gmail.com>
> To: "gluster-users" <gluster-users at gluster.org>
> Sent: Thursday, October 8, 2015 8:10:09 PM
> Subject: [Gluster-users] Test results and Performance Tuning efforts ...
>
>
>
> 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:
Random IO has vastly improved with MT epoll introduced in 3.7, try a test on 3.7 with server and client event threads set to 4. If you want to confirm this before you upgrade run top -H during your testing and look for a hot thread(single thread / CPU pegged at 100%). If you see this during your runs on 3.6 then the MT epoll implementation in 3.7 will def help you out.
-b
>
>
>
>
>
> 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
>
> _______________________________________________
> Gluster-users mailing list
> Gluster-users at gluster.org
> http://www.gluster.org/mailman/listinfo/gluster-users
More information about the Gluster-users
mailing list