comparision sync io

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I have tested fio with sync engine and my simple io app based on read in the same environment. fio is more efficient in the same testbed. I check the fio sync logic, but I didn't get the reason. Could anyone explain for me? How could fio utilize cpu to get better bandwidth?


bandwidth result
--
fio:         805.26 MBytes/sec: aggrb=824579KB/s 
my app: 555.00 MBytes/sec

cpu usage
--
fio: 39%
my app: 26%


my app logic
--
thread 1:

bufsiz = 1MB


open(O_RDONLY)

while ( (cl = read(fd, buf, bufsiz)) > 0)
    totallen += cl;

thread 2:
calculate the bandwidth every few seconds.


fio
--

1) jobfile

[global]
ioengine=sync
direct=0
bs=1M
rw=read
directory=/data/fio
ioscheduler=deadline
time_based
runtime=60

[job]
filename=readhg
size=100g
iodepth=16

2) test result

job: (g=0): rw=read, bs=1M-1M/1M-1M, ioengine=sync, iodepth=16
fio 1.54
Starting 1 process
Jobs: 1 (f=1): [R] [100.0% done] [777.1M/0K /s] [759 /0  iops] [eta 

00m:00s]
job: (groupid=0, jobs=1): err= 0: pid=15733
  read : io=48316MB, bw=824579KB/s, iops=805 , runt= 60001msec
    clat (usec): min=826 , max=38326 , avg=1238.18, stdev=294.26
     lat (usec): min=826 , max=38327 , avg=1238.47, stdev=294.25
    bw (KB/s) : min=731136, max=976896, per=100.14%, avg=825702.05, 

stdev=51012.43
  cpu          : usr=0.43%, sys=43.70%, ctx=102003, majf=0, minf=280
  IO depths    : 1=100.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 r/w/d: total=48316/0/0, short=0/0/0
     lat (usec): 1000=3.90%
     lat (msec): 2=95.95%, 4=0.06%, 10=0.09%, 20=0.01%, 50=0.01%

Run status group 0 (all jobs):
   READ: io=48316MB, aggrb=824579KB/s, minb=844369KB/s, maxb=844369KB/s, 

mint=60001msec, maxt=60001msec

Disk stats (read/write):
  sdb: ios=193022/22, merge=0/11, ticks=67943/112, in_queue=81657, 

util=80.52%



notes
--
each time before i do the test, the cache is cleaned.
# sync; echo 3 > /proc/sys/vm/drop_caches


Thanks.

Yufei


--
To unsubscribe from this list: send the line "unsubscribe fio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel]     [Linux SCSI]     [Linux IDE]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux