Thank you~ But for bluestore, does this mean that it still needs to be called many times, and the requests should be executed by bluestore one by one? Can we let bluestore execute multiple requests at a time? Maybe bluestore already has a batch read api, but I can find the read(offset, length) api . Sage Weil <sage@xxxxxxxxxxxx> 于2018年10月25日周四 下午10:05写道: > > On Thu, 25 Oct 2018, 韦皓诚 wrote: > > Hi, > > We need to read multiple locations in a big object(4MB) at the same > > time with librados and each part is 16KB. If librados provides a batch > > read api(vector<pair<offset, length>>) and issue multiple requests to > > SSD, will there be any improvement in performance? > > For the C API, ty rados_create_read_op(), rados_read_op_read(..) for each > extent, and then rados[_aio]_read_op_operate() to do the compound > operation. The interface varies a bit for the C++ and Python interfaces, > but the same capability is there. > > sage