Project

General

Profile

Actions

Bug #21845

closed

Objecter::_send_op unnecessarily constructs costly hobject_t

Added by Jason Dillaman over 6 years ago. Updated over 6 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Jason Dillaman
Category:
Performance/Resource Usage
Target version:
-
% Done:

0%

Source:
Tags:
Backport:
luminous
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Component(RADOS):
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

With zero backoffs, just constructing an hobject_t ("hobject_t hoid = op->target.get_hobj();") results in an approximate 10% performance degradation on RBD 4K IO random read tests. Moving the object construction to within the backoff clause where it's used skips the penalty for the cases where there is no backoff from the OSDs.

12.2.1 original fio results:

   bw (  KiB/s): min=119040, max=154472, per=100.00%, avg=146800.00, stdev=9222.50, samples=30
   iops        : min=29760, max=38618, avg=36700.00, stdev=2305.62, samples=30

12.2.1 fio results after skipping the unnecessary construction:

   bw (  KiB/s): min=158688, max=165488, per=100.00%, avg=162691.57, stdev=1706.77, samples=30
   iops        : min=39672, max=41372, avg=40672.87, stdev=426.71, samples=30

Related issues 1 (0 open1 closed)

Copied to RADOS - Backport #21921: luminous: Objecter::_send_op unnecessarily constructs costly hobject_t ResolvedShinobu KinjoActions
Actions

Also available in: Atom PDF