Bug 1550941 - [brick-mux] performance bottleneck introduced while solving ping timer expiry
Summary: [brick-mux] performance bottleneck introduced while solving ping timer expiry
Keywords:
Status: CLOSED UPSTREAM
Alias: None
Product: GlusterFS
Classification: Community
Component: rpc
Version: mainline
Hardware: Unspecified
OS: Unspecified
low
low
Target Milestone: ---
Assignee: Mohit Agrawal
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-03-02 10:50 UTC by Milind Changire
Modified: 2020-03-12 12:55 UTC (History)
7 users (show)

Fixed In Version:
Clone Of: 1549497
Environment:
Last Closed: 2020-03-12 12:55:39 UTC
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Embargoed:


Attachments (Terms of Use)

Description Milind Changire 2018-03-02 10:50:33 UTC
+++ This bug was initially created as a clone of Bug #1549497 +++

Description of problem:
Bottleneck has been introduced due to upstream patch
https://review.gluster.org/17105

To be more responsive to client pings in brick-mux mode, the IO/Management fops to the brick were separated from the ping responder code by designating a single rpcsvc request handler thread per gluster program. This created a bottleneck with multiple event threads queuing request to a queue that was being read by a single request handler thread that dispatched request to the IO thread pool. To alleviate this bottleneck it was necessary to scale rpcsvc request handler threads.

As part of brick-mux implementation the event handler threads were scaled so that there was one event thread serving requests per brick. I'd like to propose patch https://review.gluster.org/19337 for RHGS 3.4.0 to alleviate the bottleneck of a single gluster program thread interfacing with the IO thread pool.

Patch https://review.gluster.org/19337 attempts to continue work on brick-mux to facilitate request processing per gluster program by scaling the gluster program threads to match the event handler threads. The gluster program threads help the event handler threads to delegate the dispatch of the request to the IO handler threads much quicker so that the event handler threads can go back to reading RPC requests quicker than being busy with request hand-off at the brick.

Comment 1 Worker Ant 2018-03-02 10:55:48 UTC
REVIEW: https://review.gluster.org/19659 (rpcsvc: scale rpcsvc_request_handler threads) posted (#1) for review on release-3.12 by Milind Changire

Comment 2 Shyamsundar 2018-10-23 14:54:49 UTC
Release 3.12 has been EOLd and this bug was still found to be in the NEW state, hence moving the version to mainline, to triage the same and take appropriate actions.

Comment 3 Worker Ant 2020-03-12 12:55:39 UTC
This bug is moved to https://github.com/gluster/glusterfs/issues/967, and will be tracked there from now on. Visit GitHub issues URL for further details


Note You need to log in before you can comment on or make changes to this bug.