[Gluster-users] glusterfs performance issue with fio fdatasync
Strahil Nikolov
hunter86_bg at yahoo.com
Thu Jan 16 19:43:52 UTC 2020
On January 16, 2020 11:10:14 AM GMT+02:00, venky evr <venky.evr at gmail.com> wrote:
>Description of problem:
>
>I am getting bad performance with glusterfs 7 with fio.
>Any help is greatly appreicated.
>
>With glusterfs :
>
>1 node
>1 brick
>1 volume (ssd volume) formated with ext4
>
>volume created and mounted with default values.
>
>
>
>fio --rw=write --ioengine=sync --fdatasync=1 --directory=/mnt/1
>--size=64m --bs=1024 --name=mytest
>
>
>
>fio-3.16
>Starting 1 process
>mytest2: Laying out IO file (1 file / 64MiB)
>Jobs: 1 (f=1): [W(1)][100.0%][w=2759KiB/s][w=2759 IOPS][eta 00m:00s]
>mytest2: (groupid=0, jobs=1): err= 0: pid=11970: Thu Jan 16 13:06:50
>2020
> write: IOPS=2632, BW=2633KiB/s (2696kB/s)(64.0MiB/24892msec)
> clat (usec): min=50, max=1433, avg=61.43, stdev=11.78
> lat (usec): min=50, max=1435, avg=61.68, stdev=11.82
> clat percentiles (usec):
> | 1.00th=[ 54], 5.00th=[ 55], 10.00th=[ 55], 20.00th=[ 56],
> | 30.00th=[ 56], 40.00th=[ 57], 50.00th=[ 58], 60.00th=[ 59],
> | 70.00th=[ 64], 80.00th=[ 69], 90.00th=[ 72], 95.00th=[ 79],
> | 99.00th=[ 103], 99.50th=[ 121], 99.90th=[ 133], 99.95th=[ 137],
> | 99.99th=[ 155]
> bw ( KiB/s): min= 1834, max= 2752, per=99.94%, avg=2630.37,
>stdev=146.81, samples=49
>iops : min= 1834, max= 2752, avg=2630.37, stdev=146.81,
>samples=49
> lat (usec) : 100=98.72%, 250=1.28%, 750=0.01%
> lat (msec) : 2=0.01%
> fsync/fdatasync/sync_file_range:
> sync (usec): min=245, max=13622, avg=315.54, stdev=84.93
> sync percentiles (usec):
> | 1.00th=[ 255], 5.00th=[ 262], 10.00th=[ 265], 20.00th=[ 269],
> | 30.00th=[ 273], 40.00th=[ 277], 50.00th=[ 281], 60.00th=[ 289],
> | 70.00th=[ 310], 80.00th=[ 400], 90.00th=[ 416], 95.00th=[ 433],
> | 99.00th=[ 486], 99.50th=[ 519], 99.90th=[ 676], 99.95th=[ 848],
> | 99.99th=[ 914]
> cpu : usr=1.41%, sys=3.50%, ctx=196761, majf=0, minf=13
>IO depths : 1=200.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%,
>>=64=0.0%
>submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%,
>>=64=0.0%
>complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%,
>>=64=0.0%
> issued rwts: total=0,65536,0,0 short=65535,0,0,0 dropped=0,0,0,0
> latency : target=0, window=0, percentile=100.00%, depth=1
>
>Run status group 0 (all jobs):
> WRITE: bw=2633KiB/s (2696kB/s), 2633KiB/s-2633KiB/s
>(2696kB/s-2696kB/s), io=64.0MiB (67.1MB), run=24892-24892msec
>
>
>Without Glusterfs:
>
>
>Ext4 filesystem created and mounted locally, there is no gluster
>involved during this test
>
> mount /dev/sdb1 /mnt/1
>
>
>Starting 1 process
>mytest: Laying out IO file (1 file / 64MiB)
>Jobs: 1 (f=1): [W(1)][100.0%][w=10.2MiB/s][w=10.5k IOPS][eta 00m:00s]
>mytest: (groupid=0, jobs=1): err= 0: pid=9308: Thu Jan 16 13:00:20 2020
> write: IOPS=10.2k, BW=9.99MiB/s (10.5MB/s)(64.0MiB/6407msec)
> clat (nsec): min=1257, max=831943, avg=2674.65, stdev=10327.82
> lat (nsec): min=1323, max=832038, avg=2783.73, stdev=10330.58
> clat percentiles (nsec):
>| 1.00th=[ 1352], 5.00th=[ 1400], 10.00th=[ 1448], 20.00th=[
>1496],
>| 30.00th=[ 1560], 40.00th=[ 1656], 50.00th=[ 2320], 60.00th=[
>2448],
>| 70.00th=[ 2864], 80.00th=[ 2992], 90.00th=[ 3280], 95.00th=[
>4384],
>| 99.00th=[ 8896], 99.50th=[ 11328], 99.90th=[ 20608],
>99.95th=[222208],
> | 99.99th=[464896]
> bw ( KiB/s): min= 8946, max=10536, per=99.92%, avg=10219.75,
>stdev=441.53, samples=12
>iops : min= 8946, max=10536, avg=10219.75, stdev=441.53,
>samples=12
> lat (usec) : 2=42.86%, 4=50.26%, 10=6.19%, 20=0.57%, 50=0.06%
> lat (usec) : 100=0.01%, 250=0.01%, 500=0.04%, 750=0.01%, 1000=0.01%
> fsync/fdatasync/sync_file_range:
> sync (usec): min=50, max=1174, avg=93.61, stdev=62.99
> sync percentiles (usec):
> | 1.00th=[ 52], 5.00th=[ 53], 10.00th=[ 54], 20.00th=[ 55],
> | 30.00th=[ 55], 40.00th=[ 56], 50.00th=[ 57], 60.00th=[ 61],
> | 70.00th=[ 82], 80.00th=[ 178], 90.00th=[ 194], 95.00th=[ 215],
> | 99.00th=[ 253], 99.50th=[ 265], 99.90th=[ 334], 99.95th=[ 627],
> | 99.99th=[ 758]
> cpu : usr=2.68%, sys=16.98%, ctx=81932, majf=0, minf=16
>IO depths : 1=200.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%,
>>=64=0.0%
>submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%,
>>=64=0.0%
>complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%,
>>=64=0.0%
> issued rwts: total=0,65536,0,0 short=65535,0,0,0 dropped=0,0,0,0
> latency : target=0, window=0, percentile=100.00%, depth=1
>
>Run status group 0 (all jobs):
> WRITE: bw=9.99MiB/s (10.5MB/s), 9.99MiB/s-9.99MiB/s
>(10.5MB/s-10.5MB/s), io=64.0MiB (67.1MB), run=6407-6407msec
>
>Disk stats (read/write):
>sdb: ios=0/98184, merge=0/16369, ticks=0/4804, in_queue=4788,
>util=73.71%
>
>
>
>
>
>we tried following tuning parameters, but performance didnt increase.
>
>performance. Client-io-threads on
>performance.io-thread-count 64
>server. Event-threads 4 or 8
>client. Event-threads 4 or 8
Something that come to my mind:
1. Switch to XFS
2. Set I/O scheduler of the brick to none/noop
3. Mount options of the brick : 'noatime' and if there is battery-backed cache 'nobarrier'
4. Set reasonable value for 'vm.dirty_background_bytes' & 'vm.dirty_bytes' to a reasonable values
5. Disable gluster logs or raise them at ERR or higher.
Check if any of the described 'profiles' in /var/lib/gluster/groups' match your workload.
Best Regards,
Strahil Nikolov
More information about the Gluster-users
mailing list