Project

General

Profile

Actions

Feature #40072

closed

[journal] tweak config defaults to improve small-IO performance

Added by Jason Dillaman almost 5 years ago. Updated about 3 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Jason Dillaman
Target version:
-
% Done:

0%

Source:
Tags:
Backport:
nautilus,mimic,luminous
Reviewed:
Affected Versions:
Pull request ID:

Description

Small IO throughput w/ journaling enabled is substantially worse than the expected worse-case of 2x the latency / 0.5x the IOPS. Tweak the config defaults to try to reduce the performance hit for small IO.

I suggest we create a new "rbd_journal_object_writethrough_until_flush"-style object (i.e. similar to "rbd_cache_writethrough_until_flush") which is defaulted to true. Then we can set "rbd_journal_object_flush_bytes" to 1MiB (i.e. similar to the current cache defaults when combined w/ the next point) w/o the need to worry about inconsistent IO in the case of failure since we know the app is sending flushes. Finally, increase the default "rbd_journal_splay_width" to 16 since (1) it's the default for "rbd bench", (2) it should match the max expected queue depth of workload.

The above are just ideas and should be tested to verify the best performance for small IO workloads.


Related issues 3 (0 open3 closed)

Copied to rbd - Backport #40509: luminous: [journal] tweak config defaults to improve small-IO performanceRejectedActions
Copied to rbd - Backport #40510: mimic: [journal] tweak config defaults to improve small-IO performanceRejectedActions
Copied to rbd - Backport #40511: nautilus: [journal] tweak config defaults to improve small-IO performanceResolvedJason DillamanActions
Actions #1

Updated by Jason Dillaman almost 5 years ago

  • Status changed from New to In Progress
  • Assignee set to Jason Dillaman
Actions #2

Updated by Jason Dillaman almost 5 years ago

  • Backport set to nautilus
Actions #3

Updated by Jason Dillaman almost 5 years ago

  • Status changed from In Progress to Fix Under Review
  • Pull request ID set to 28539
Actions #4

Updated by Jason Dillaman almost 5 years ago

  • Backport changed from nautilus to nautilus,mimic,luminous

Skip last commit (enabling writethrough mode) during backport

Actions #5

Updated by Mykola Golub almost 5 years ago

  • Status changed from Fix Under Review to Pending Backport
Actions #6

Updated by Nathan Cutler almost 5 years ago

  • Copied to Backport #40509: luminous: [journal] tweak config defaults to improve small-IO performance added
Actions #7

Updated by Nathan Cutler almost 5 years ago

  • Copied to Backport #40510: mimic: [journal] tweak config defaults to improve small-IO performance added
Actions #8

Updated by Nathan Cutler almost 5 years ago

  • Copied to Backport #40511: nautilus: [journal] tweak config defaults to improve small-IO performance added
Actions #9

Updated by Jason Dillaman over 4 years ago

See additional unit test fixes: #42598

Actions #10

Updated by Nathan Cutler about 3 years ago

  • Status changed from Pending Backport to Resolved

While running with --resolve-parent, the script "backport-create-issue" noticed that all backports of this issue are in status "Resolved" or "Rejected".

Actions

Also available in: Atom PDF