Skip to content

Parameter directio and dsync can't prevent from writing in the buffer? #124

Open

Description

@MaTianmao

I'm using filebench to test performance of ceph.
I map the image of rbd to device and mount the device to local directory, and i use aiowrite to test. My configure is following:


set $dir=rbdmap/rbdmap0
set $bytes=100g
set $filesize=100g
set $iosize=4m
set $iters=1
set $nthreads=1

define file name=bigfile1,path=$dir,size=$filesize,prealloc,reuse

define process name=filewriter,instances=1
{
  thread name=filewriterthread,instances=$nthreads
  {
    flowop aiowrite name=write-file,filename=bigfile1,random,dsync,iosize=$iosize,iters=$iters,directio
    flowop finishonbytes name=finish,value=$bytes
  }
}
run 300

I set the parameter directio and dsync but when i run the test, my memory is used about 100G, and the bw is almost 25GB/s, i think data is written into memory and slowly flush into the device.
I want to ask how to set non-buffered and test accurate result?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions