RE: Looking to improve small I/O performance

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

 



> -----Original Message-----
> From: ceph-devel-owner@xxxxxxxxxxxxxxx [mailto:ceph-devel-
>
> I'm digging into perf and the code to see here/how I might be able to
> improve performance for small I/O around 16K.
> 
> I ran fio with rados and used perf to record. Looking through the report,
> there is a very substantial amount of time creating threads (or so it looks, but
> I'm really new to perf). It seems to point to messenger, so I looked in the
> code. From perf if looks like thread pooling isn't happening, but from what I
> can gather from the code, it should.
> [..]

This is so because you use SimpleMessenger, which can't handle small I/O well.
Indeed, threads are problematic with it, as well as memory allocation. I did some
benchmarking some time ago and the gist of it is that you could try going for
AsyncMessenger and see if it helps. You can also see my results here:
http://stuff.predictor.org.pl/chunksize.xlsx 
>From there you can see that most of the time of small I/Os in SimpleMessenger
Is spent in tcmalloc code, and also there's a performance drop around 64k
Blocksize in Async Messenger.

With best regards / Pozdrawiam
Piotr Dałek

��.n��������+%������w��{.n����z��u���ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f





[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