Re: default debug_client level is too high

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Aug 9, 2017 at 6:42 PM, John Spray <jspray@xxxxxxxxxx> wrote:
> On Wed, Aug 9, 2017 at 5:32 PM, Dan van der Ster <dan@xxxxxxxxxxxxxx> wrote:
>> Hi all,
>>
>> During some ceph-fuse perf testing I've noticed that small buffered
>> write throughput is slowed down by the debug_client ldout logs.
>> At the default 0/5, the in mem log is filled with, e.g.:
>>
>>  -9760> 2017-08-09 18:16:10.487511 7f848c1a5700  3 client.407554315
>> xattr_permission 0x7f84a52c8a00 = 0
>>  -9759> 2017-08-09 18:16:10.487515 7f848c1a5700  3 client.407554315
>> _getxattr(10003284f73, "security.capability", 0) = -61
>>  -9758> 2017-08-09 18:16:10.487525 7f848c1a5700  3 client.407554315
>> ll_forget 10003284f73 1
>>  -9757> 2017-08-09 18:16:10.487542 7f848b9a4700  3 client.407554315
>> ll_write 0x7f84a5147680 10003284f73 71824~1
>>  -9756> 2017-08-09 18:16:10.487566 7f848b9a4700  3 client.407554315
>> ll_write 0x7f84a5147680 71824~1 = 1
>>  -9755> 2017-08-09 18:16:10.487599 7f848c9a6700  3 client.407554315
>> ll_getxattr 10003284f73.head security.capability size 0
>>  -9754> 2017-08-09 18:16:10.487609 7f848c9a6700  3 client.407554315
>> xattr_permission 0x7f84a52c8a00 = 0
>>  -9753> 2017-08-09 18:16:10.487612 7f848c9a6700  3 client.407554315
>> _getxattr(10003284f73, "security.capability", 0) = -61
>>
>> (so even tiny 1 byte buffered writes result in huge amounts of logging work).
>>
>> In a simple test [1], I found that 100000 one byte writes takes
>> ~10-11s with the default client log level, and ~5 to 6s with
>> debug_client=0/2.
>
> Wow, I had no idea the overhead was so high!
>
>> I would therefore propose either increasing the ldout level for these
>> ll_* client ops to 6, or decreasing the default debug_client level to
>> 0/2.
>
> Hmm.  I'm not sure what would be left in the memory log at 0/2 though?
>  For example in the case of a crash would we even have the message
> from the start of the operation that crashed?

AFAICT only mount/umount get logged at level 2.

-- Dan


>
> John
>
>>
>> Any opinions?
>>
>> Cheers, Dan
>>
>> [1]
>> for i in xrange(100000):
>>   f.write('x')
>>   f.flush()
>> f.close()
>> --
>> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
>> the body of a message to majordomo@xxxxxxxxxxxxxxx
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux