From: Josh Durgin <josh.durgin@inktank.com>
To: Stefan Priebe <s.priebe@profihost.ag>
Cc: Mark Nelson <mark.nelson@inktank.com>,
Sage Weil <sage@inktank.com>,
"ceph-devel@vger.kernel.org" <ceph-devel@vger.kernel.org>
Subject: Re: extreme ceph-osd cpu load for rand. 4k write
Date: Thu, 08 Nov 2012 13:50:49 -0800 [thread overview]
Message-ID: <509C2939.5000201@inktank.com> (raw)
In-Reply-To: <509C23A7.9010109@profihost.ag>
On 11/08/2012 01:27 PM, Stefan Priebe wrote:
> Am 08.11.2012 17:06, schrieb Mark Nelson:
>> On 11/08/2012 09:45 AM, Stefan Priebe - Profihost AG wrote:
>>> Am 08.11.2012 16:01, schrieb Sage Weil:
>>>> On Thu, 8 Nov 2012, Stefan Priebe - Profihost AG wrote:
>>>>> Is there any way to find out why a ceph-osd process takes around 10
>>>>> times more
>>>>> load on rand 4k writes than on 4k reads?
>>>>
>>>> Something like perf or oprofile is probably your best bet. perf can be
>>>> tedious to deploy, depending on where your kernel is coming from.
>>>> oprofile seems to be deprecated, although I've had good results with
>>>> it in
>>>> the past.
>>>
>>> I've recorded 10s with perf - it is now a 300MB perf.data file. Sadly
>>> i've no idea what todo with it next.
>>
>> Pour yourself a stiff drink! (haha!)
>>
>> Try just doing a "perf report" in the directory where you've got the
>> data file. Here's a nice tutorial:
>>
>> https://perf.wiki.kernel.org/index.php/Tutorial
>>
>> Also, if you see missing symbols you might benefit by chowning the file
>> to root and running perf report as root. If you still see missing
>> symbols, you may want to just give up and try sysprof.
>
> I've now used google perftools / google CPU profiler. It was the only
> tool who worked out of the box ;-)
>
> Attached is a PDF with a profiled ceph-osd process while 4k random write.
It looks like a not insignificant portion of time is spent in the
logging infrastructure. Could you add this to the osds' configuration
to prevent any debug log gathering (it's logged/gathered):
debug lockdep = 0/0
debug context = 0/0
debug crush = 0/0
debug buffer = 0/0
debug timer = 0/0
debug journaler = 0/0
debug osd = 0/0
debug optracker = 0/0
debug objclass = 0/0
debug filestore = 0/0
debug journal = 0/0
debug ms = 0/0
debug monc = 0/0
debug tp = 0/0
debug auth = 0/0
debug finisher = 0/0
debug heartbeatmap = 0/0
debug perfcounter = 0/0
debug asok = 0/0
debug throttle = 0/0
Josh
next prev parent reply other threads:[~2012-11-08 21:51 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-11-07 20:41 extreme ceph-osd cpu load for rand. 4k write Stefan Priebe
2012-11-08 14:58 ` Stefan Priebe - Profihost AG
2012-11-08 15:01 ` Sage Weil
2012-11-08 15:45 ` Stefan Priebe - Profihost AG
2012-11-08 16:06 ` Mark Nelson
2012-11-08 21:27 ` Stefan Priebe
2012-11-08 21:50 ` Josh Durgin [this message]
2012-11-08 21:58 ` Mark Nelson
2012-11-08 22:06 ` Stefan Priebe
2012-11-08 22:31 ` Stefan Priebe
2012-11-09 10:09 ` Stefan Priebe - Profihost AG
2012-11-09 10:21 ` Stefan Priebe - Profihost AG
2012-11-09 21:21 ` Samuel Just
2012-11-09 21:34 ` Stefan Priebe - Profihost AG
2012-11-10 20:36 ` Samuel Just
2012-11-10 20:37 ` Samuel Just
2012-11-10 20:43 ` Stefan Priebe
2012-11-10 20:42 ` Stefan Priebe
2012-11-08 15:01 ` Mark Nelson
2012-11-08 15:45 ` Stefan Priebe - Profihost AG
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=509C2939.5000201@inktank.com \
--to=josh.durgin@inktank.com \
--cc=ceph-devel@vger.kernel.org \
--cc=mark.nelson@inktank.com \
--cc=s.priebe@profihost.ag \
--cc=sage@inktank.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.