Re: Why RD/WR>>3 for rwmixread=75

From: Jens Axboe <jens.axboe_at_oracle.com>
Date: Fri, 16 Mar 2007 11:51:30 +0100

On Fri, Mar 16 2007, Ananiev, Leonid I wrote:
> I run rwmixread=75, thinktime=1 but get READ/WRITE KiB ratio >>3 (=75% /
> 25%)
> Why?
> int READ KiB runtime (msec) WR KiB RD/WR
> inter 1363752 1213896 10592 128.8
> inter 9541236 1213646 9824 971.2
> inter 33547524 0 6912 4853.5
> inter 13386260 1213868 11040 1212.5
> inter 22179188 1213611 10336 2145.8
> inter 8161424 1213995 10912 747.9
> inter 29992764 1213964 10720 2797.8
> inter 33426228 1210025 9696 3447.4
>
> And why WR is constant=96 and RD/WR ratio is far from 3?
>
> mix READ KiB runtime (msec) WR KiB RD/WR
> largeio 16683392 1221793 5592320 3.0
> inter 80 1219706 96 0.8
> inter 828 1220616 96 8.6
> inter 52 1219439 96 0.5
> inter 660 1219730 96 6.9
> inter 1392 1218701 96 14.5
> inter 20 1221118 96 0.2
> inter 24 1220556 96 0.3
> inter 72 1220585 96 0.8

I tried your job file here, and for group 0 I got:

Run status group 0 (all jobs):
   READ: io=8,994MiB, aggrb=7,727KiB/s, minb=7,727KiB/s,
maxb=7,727KiB/s, mint=1220409msec, maxt=1220409msec
  WRITE: io=3,763MiB, aggrb=3,232KiB/s, minb=3,232KiB/s,
maxb=3,232KiB/s, mint=1220456msec, maxt=1220456msec

which is about 70% reads and 30% writes. For group 1 I got:

Run status group 1 (all jobs):
   READ: io=73,700KiB, aggrb=61KiB/s, minb=6KiB/s, maxb=8KiB/s,
mint=1220320msec, maxt=1220342msec
  WRITE: io=129MiB, aggrb=111KiB/s, minb=10KiB/s, maxb=16KiB/s,
mint=1220405msec, maxt=1220421msec

or 36% reads and the rest writes. I would assume the reason is largely
that the buffered writes go so fast to cache, that the cycle needs to be
shorter to be closer the set limit. I guess I could compensate for that,
though. With the direct IO from the other job, we don't get that effect.

-- 
Jens Axboe
Received on Fri Mar 16 2007 - 11:51:30 CET

This archive was generated by hypermail 2.2.0 : Fri Mar 16 2007 - 12:00:01 CET