Skip to content

Write cache multibatching for small objects #3414

@roman-khimov

Description

@roman-khimov

Is your feature request related to a problem? Please describe.

I'm always frustrated when we're not squeezing the most of performance out of write cache. Currently it always writes only a single batch of small objects at a time. While a single writing operation makes sense in general since HDDs are sequential by their nature, in practice various delays, processing and FS updates allow to squeeze more juice out of HDD when there are multiple threads doing things. In a stream of small writes that's not currently possible.

Describe the solution you'd like

Make writer threads accept sets of objects to write. If there are multiple (prepared batch) --- write them. If there is a single one --- write it. This would allow to write N batches at the same time which should be better on average.

Metadata

Metadata

Assignees

No one assigned

    Labels

    I4No visible changesS4RoutineU3RegularenhancementImproving existing functionalityneofs-storageStorage node application issuesperformanceMore of something per second

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions