Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

osd: add multiple objecter finishers #16521

Merged
merged 1 commit into from Aug 31, 2017

Conversation

myoungwon
Copy link
Member

Bluestore and Filestore already adapt multiple finishers to improve IO performance.
But Objecter finisher (for tier approach) is still single thread. This can be a
bottleneck if we generate many IOs as Bluestore and Filestore because most of
completion processes (proxy, writeback) are handled by a objecter finisher.

Signed-off-by: Myoungwon Oh omwmw@sk.com

@myoungwon myoungwon force-pushed the wip-objecter-finishers branch 2 times, most recently from 2241632 to e2b5e87 Compare July 24, 2017 10:40
Copy link
Contributor

@liu-chunmei liu-chunmei left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

code is good to me. how much performance benefit do you get by adding multiple objector finishers?

@myoungwon
Copy link
Member Author

@liu-chunmei Performance improvement is less than 10 percent in my experiment environment (proxy random read 220K IOPS-> 240K IOPS). But I observed that as the load increases, a objecter finisher use more CPU (light load: 25%, heavy load: nearly 60%). So I think this would be a bottleneck if msgr-workers send/receive packets faster.

Copy link
Member

@liewegas liewegas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good!

Bluestore and Filestore already adapt multiple finishers to improve IO performance.
But Objecter finisher (for tier approach) is still single thread. This can be a
bottleneck if we generate many IOs as Bluestore and Filestore because most of
completion processes (proxy, writeback) are handled by a objecter finisher.

Signed-off-by: Myoungwon Oh <omwmw@sk.com>
@myoungwon
Copy link
Member Author

Rebase is done

@liewegas liewegas merged commit b308f20 into ceph:master Aug 31, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
5 participants