On Fri, Mar 11, 2022 at 1:42 PM Paul Menzel <pmenzel@xxxxxxxxxxxxx> wrote: > > Dear Song, > > > Am 11.03.22 um 17:59 schrieb Song Liu: > > > On Fri, Mar 11, 2022 at 6:16 AM Jens Axboe <axboe@xxxxxxxxx> wrote: > >> > >> On 3/10/22 5:07 PM, Jens Axboe wrote: > >>> In any case, just doing larger reads would likely help quite a bit, but > >>> would still be nice to get to the bottom of why we're not seeing the > >>> level of merging we expect. > >> > >> Song, can you try this one? It'll do the dispatch in a somewhat saner > >> fashion, bundling identical queues. And we'll keep iterating the plug > >> list for a merge if we have multiple disks, until we've seen a queue > >> match and checked. > > > > This one works great! We are seeing 99% read request merge and > > 500kB+ average read size. The original patch in this thread only got > > 88% and 34kB for these two metrics. > > Nice. I am curious, how these metrics can be obtained? > We can use tools as iostat: iostat -mx 2 Device r/s w/s rMB/s wMB/s rrqm/s wrqm/s %rrqm %wrqm r_await w_await aqu-sz rareq-sz wareq-sz svctm %util sdb 3176.50 1.00 100.57 0.00 22503.00 0.00 87.63 0.00 10.22 3.50 32.46 32.42 4.00 0.24 76.60 sdi 3167.00 1.00 100.57 0.00 22512.50 0.00 87.67 0.00 11.58 4.00 36.68 32.52 4.00 0.24 77.55 The two metrics we used here are %rrqm and rareq-sz. Thanks, Song