[Gluster-devel] Iusses with Random read/write

Susant Palai spalai at redhat.com
Thu Jul 23 07:04:37 UTC 2015


++CCing gluster-devel to have more eye on this problem.

Susant

----- Original Message -----
> From: "Subrata Ghosh" <subrata.ghosh at ericsson.com>
> To: "Susant Palai <spalai at redhat.com> (spalai at redhat.com)" <spalai at redhat.com>, "Vijay Bellur <vbellur at redhat.com>
> (vbellur at redhat.com)" <vbellur at redhat.com>
> Cc: "Subrata Ghosh" <subrata.ghosh at ericsson.com>
> Sent: Sunday, 19 July, 2015 7:57:28 PM
> Subject: Iusses with Random read/write
> 
> Hi Vijay/Prashant,
> 
> How you are  you :).
> 
> We need your  immediate  help / suggestion  to meet our random I/IO
> performance metrics.
> Currently we have performance issues with random read/write - our basic
> requirement 20 MB/sec for random I/O.
> 
> We tried with both "iozone" and "fio", received almost same ( random I/O)
> performance which is not meeting our fundamental I/IO requirements.
> 
> Our use case is as below.
> 
> "Application running on different cards Writes/Reads (random) continuous
> files to the volume comprising with storage belonging from different cards
> in the distributed system, where replica presence  across cards and
> applications are using non-local storages."
> We have verified and identified  the bottleneck mostly on Gluster Client side
> inside the application, however gluster server to server I/O speed looks
> enough good. Performance tuning on gluster server side would not expected to
> help.
> 
> We also cross verified checked using NFS client we are getting far better
> performance, but we cannot use NFS client /libgfapi because of use case
> limitation ( brick failures cases etc..)
> 
> Please throw some lights or thoughts to improve gluster client to achieve >
> 20 MB/Secs
> 
> Observations:
> 
> Fio:
> 
> 
> lease find the test results of Random write & read in 2 APPs scenarios.
> 
> Scenario
> 
> APP_1
> 
> APP_2
> 
> File size
> 
> No of AMC's
> 
> Random-Write
> 
> 3.06  MB/s
> 
> 3.02 MB/s
> 
> 100 MB
> 
> 4
> 
> Random-Read
> 
> 8.1 MB/s
> 
> 8.4 MB/s
> 
> 100 MB
> 
> 4
> 
> 
> 
> Iozone:
> 
> ./iozone -R -l 1 -u 1 -r 4k -s 2G -F /home/cdr/f1 | tee -a
> /tmp/iozone_results.txt &
> 
> 
> APP 1
> 
> APP2
> 
> File Size : 2GB
> 
> File size : 2GB
> 
> Record size = 4 Kbytes
> 
> Record size = 4 Kbytes
> 
> Output is in Kbytes/sec
> 
> Output is in Kbytes/sec
> 
> 
> 
> 
> Initial write    41061.78
> 
> Initial write    41167.36
> 
> 
> Rewrite    40395.64
> 
> Rewrite    40810.41
> 
> 
> Read   262685.69
> 
> Read   269644.62
> 
> 
> Re-read  263751.66
> 
> Re-read   270760.62
> 
> 
> Reverse Read   27715.72
> 
> Reverse Read    28604.22
> 
> 
> Stride read   83776.44
> 
> Stride read    84347.88
> 
> 
> Random read    16239.74 (15.8 MB/s )
> 
> Random read    15815.94  (15.4 MB/s )
> 
> 
> Mixed workload    16260.95
> 
> Mixed workload    15787.55
> 
> 
> Random write     3356.57 (3.3 MB/s )
> 
> Random write     3365.17 ( 3.3 MB/s)
> 
> 
> Pwrite    40914.55
> 
> Pwrite    40692.34
> 
> 
> Pread   260613.83
> 
> Pread   269850.59
> 
> 
> Fwrite    40412.40
> 
> Fwrite    40369.78
> 
> 
> Fread   261506.61
> 
> Fread   267142.41
> 
> 
> 
> Some of the info on performance testing is at
> http://www.gluster.org/community/documentation/index.php/Performance_Testing
> Also pls check iozone limitations listed there.
> 
> "WARNING: random I/O testing in iozone is very restricted by iozone
> constraint that it must randomly read then randomly write the entire file!
> This is not what we want - instead it should randomly read/write for some
> fraction of file size or time duration, allowing us to spread out more on
> the disk while not waiting too long for test to finish. This is why fio
> (below) is the preferred test tool for random I/O workloads."
> 
> 


More information about the Gluster-devel mailing list