[Gluster-users] 3.10.5 vs 3.12.0 huge performance loss

Shyam Ranganathan srangana at redhat.com
Mon Sep 11 14:44:28 UTC 2017


Here are my results:

Summary: I am not able to reproduce the problem, IOW I get relatively 
equivalent numbers for sequential IO when going against 3.10.5 or 3.12.0

Next steps:
- Could you pass along your volfile (both for a brick and also the 
client vol file (from 
/var/lib/glusterd/vols/<yourvolname>/patchy.tcp-fuse.vol and a brick vol 
file from the same place)
   - I want to check what options are in use in your setup as compared 
to mine and see if that makes a difference

- Is it possible for you to run the IOZone test, as below (it needs more 
clarification in case you have not used IOZone before, so reach out in 
that case) in your setup and report the results?

- Details:

Test: IOZone iozone -+m /<clientlistfile> -+h <hostaddr> -C -w -c -e -i 
0 -+n -r 256k -s 2g -t 4/8/16/32
   - Sequential IOZone write tests, with -t number of threads (files) 
per client, across 4 clients, and using a 256k record size
   - Essentially 8/16/32 threads per client, which are 4 in total

Volume: 6x(4+2) disperse, on 36 disks, each disk is a SAS 10k JBOD, 
configured with the defaults, when creating the volume using 3.10.5 as a 
start point.

Server network saturation expectation: The brick nodes will get 1.5 
times the data that the client generated (4+2). As a result, aggregate 
IOZone results should be seen as, 1.5XAggregate/4 per server network 
utilization.

Results:
Threads/client	3.10.5 		3.12.0
		 (bytes/sec aggregate)
8		1938564		1922249
16		2044677		2082817
32		2465990		2435669

The brick nodes (which are separate from the client nodes) have a 
(greater than) 10G interface.

At best (32 threads/client case), I see the server link getting utilized as,
3.10.5: (2465990*1.5)/(4*1024) = 903MB/sec
3.12.0: (2465990*1.5)/(4*1024) = 892MB/sec

Shyam
On 09/07/2017 12:07 AM, Serkan Çoban wrote:
> It is sequential write with file size 2GB. Same behavior observed with
> 3.11.3 too.
> 
> On Thu, Sep 7, 2017 at 12:43 AM, Shyam Ranganathan <srangana at redhat.com> wrote:
>> On 09/06/2017 05:48 AM, Serkan Çoban wrote:
>>>
>>> Hi,
>>>
>>> Just do some ingestion tests to 40 node 16+4EC 19PB single volume.
>>> 100 clients are writing each has 5 threads total 500 threads.
>>> With 3.10.5 each server has 800MB/s network traffic, cluster total is
>>> 32GB/s
>>> With 3.12.0 each server has 200MB/s network traffic, cluster total is
>>> 8GB/s
>>> I did not change any volume options in both configs.
>>
>>
>> I just performed some *basic* IOZone tests on a 6 x (4+2) disperse volume
>> and compared this against 3.10.5 and 3.12.0. The tests are no where near
>> your capacity, but I do not see anything alarming in the results. (4 server,
>> 4 clients, 4 worker thread per client)
>>
>> I do notice a 6% drop in Sequential and random write performance, and gains
>> in the sequential and random reads.
>>
>> I need to improve the test to do larger files and for a longer duration,
>> hence not reporting any numbers as yet.
>>
>> Tests were against 3.10.5 and then a down server upgrade to 3.12.0 and
>> remounting on the clients (after the versions were upgraded there as well).
>>
>> I guess your test can be characterized as a sequential write workload
>> (ingestion of data). What is the average file size being ingested? I can
>> mimic something equivalent to that to look at this further.
>>
>> I would like to ensure there are no evident performance regressions as you
>> report.
>>
>> Shyam


More information about the Gluster-users mailing list