From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
To: Vivek Goyal <vgoyal@redhat.com>
Cc: virtio-fs-list <virtio-fs@redhat.com>, qemu-devel@nongnu.org
Subject: Re: [Virtio-fs] tools/virtiofs: Multi threading seems to hurt performance
Date: Mon, 21 Sep 2020 09:50:19 +0100 [thread overview]
Message-ID: <20200921085019.GB3221@work-vm> (raw)
In-Reply-To: <20200918213436.GA3520@redhat.com>
* Vivek Goyal (vgoyal@redhat.com) wrote:
> Hi All,
>
> virtiofsd default thread pool size is 64. To me it feels that in most of
> the cases thread pool size 1 performs better than thread pool size 64.
>
> I ran virtiofs-tests.
>
> https://github.com/rhvgoyal/virtiofs-tests
>
> And here are the comparision results. To me it seems that by default
> we should switch to 1 thread (Till we can figure out how to make
> multi thread performance better even when single process is doing
> I/O in client).
>
> I am especially more interested in getting performance better for
> single process in client. If that suffers, then it is pretty bad.
>
> Especially look at randread, randwrite, seqwrite performance. seqread
> seems pretty good anyway.
>
> If I don't run who test suite and just ran randread-psync job,
> my throughput jumps from around 40MB/s to 60MB/s. That's a huge
> jump I would say.
>
> Thoughts?
What's your host setup; how many cores has the host got and how many did
you give the guest?
Dave
> Thanks
> Vivek
>
>
> NAME WORKLOAD Bandwidth IOPS
> cache-auto seqread-psync 690(MiB/s) 172k
> cache-auto-1-thread seqread-psync 729(MiB/s) 182k
>
> cache-auto seqread-psync-multi 2578(MiB/s) 644k
> cache-auto-1-thread seqread-psync-multi 2597(MiB/s) 649k
>
> cache-auto seqread-mmap 660(MiB/s) 165k
> cache-auto-1-thread seqread-mmap 672(MiB/s) 168k
>
> cache-auto seqread-mmap-multi 2499(MiB/s) 624k
> cache-auto-1-thread seqread-mmap-multi 2618(MiB/s) 654k
>
> cache-auto seqread-libaio 286(MiB/s) 71k
> cache-auto-1-thread seqread-libaio 260(MiB/s) 65k
>
> cache-auto seqread-libaio-multi 1508(MiB/s) 377k
> cache-auto-1-thread seqread-libaio-multi 986(MiB/s) 246k
>
> cache-auto randread-psync 35(MiB/s) 9191
> cache-auto-1-thread randread-psync 55(MiB/s) 13k
>
> cache-auto randread-psync-multi 179(MiB/s) 44k
> cache-auto-1-thread randread-psync-multi 209(MiB/s) 52k
>
> cache-auto randread-mmap 32(MiB/s) 8273
> cache-auto-1-thread randread-mmap 50(MiB/s) 12k
>
> cache-auto randread-mmap-multi 161(MiB/s) 40k
> cache-auto-1-thread randread-mmap-multi 185(MiB/s) 46k
>
> cache-auto randread-libaio 268(MiB/s) 67k
> cache-auto-1-thread randread-libaio 254(MiB/s) 63k
>
> cache-auto randread-libaio-multi 256(MiB/s) 64k
> cache-auto-1-thread randread-libaio-multi 155(MiB/s) 38k
>
> cache-auto seqwrite-psync 23(MiB/s) 6026
> cache-auto-1-thread seqwrite-psync 30(MiB/s) 7925
>
> cache-auto seqwrite-psync-multi 100(MiB/s) 25k
> cache-auto-1-thread seqwrite-psync-multi 154(MiB/s) 38k
>
> cache-auto seqwrite-mmap 343(MiB/s) 85k
> cache-auto-1-thread seqwrite-mmap 355(MiB/s) 88k
>
> cache-auto seqwrite-mmap-multi 408(MiB/s) 102k
> cache-auto-1-thread seqwrite-mmap-multi 438(MiB/s) 109k
>
> cache-auto seqwrite-libaio 41(MiB/s) 10k
> cache-auto-1-thread seqwrite-libaio 65(MiB/s) 16k
>
> cache-auto seqwrite-libaio-multi 137(MiB/s) 34k
> cache-auto-1-thread seqwrite-libaio-multi 214(MiB/s) 53k
>
> cache-auto randwrite-psync 22(MiB/s) 5801
> cache-auto-1-thread randwrite-psync 30(MiB/s) 7927
>
> cache-auto randwrite-psync-multi 100(MiB/s) 25k
> cache-auto-1-thread randwrite-psync-multi 151(MiB/s) 37k
>
> cache-auto randwrite-mmap 31(MiB/s) 7984
> cache-auto-1-thread randwrite-mmap 55(MiB/s) 13k
>
> cache-auto randwrite-mmap-multi 124(MiB/s) 31k
> cache-auto-1-thread randwrite-mmap-multi 213(MiB/s) 53k
>
> cache-auto randwrite-libaio 40(MiB/s) 10k
> cache-auto-1-thread randwrite-libaio 64(MiB/s) 16k
>
> cache-auto randwrite-libaio-multi 139(MiB/s) 34k
> cache-auto-1-thread randwrite-libaio-multi 212(MiB/s) 53k
>
>
>
>
>
>
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
WARNING: multiple messages have this Message-ID (diff)
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
To: Vivek Goyal <vgoyal@redhat.com>
Cc: virtio-fs-list <virtio-fs@redhat.com>,
qemu-devel@nongnu.org, Stefan Hajnoczi <stefanha@redhat.com>
Subject: Re: tools/virtiofs: Multi threading seems to hurt performance
Date: Mon, 21 Sep 2020 09:50:19 +0100 [thread overview]
Message-ID: <20200921085019.GB3221@work-vm> (raw)
In-Reply-To: <20200918213436.GA3520@redhat.com>
* Vivek Goyal (vgoyal@redhat.com) wrote:
> Hi All,
>
> virtiofsd default thread pool size is 64. To me it feels that in most of
> the cases thread pool size 1 performs better than thread pool size 64.
>
> I ran virtiofs-tests.
>
> https://github.com/rhvgoyal/virtiofs-tests
>
> And here are the comparision results. To me it seems that by default
> we should switch to 1 thread (Till we can figure out how to make
> multi thread performance better even when single process is doing
> I/O in client).
>
> I am especially more interested in getting performance better for
> single process in client. If that suffers, then it is pretty bad.
>
> Especially look at randread, randwrite, seqwrite performance. seqread
> seems pretty good anyway.
>
> If I don't run who test suite and just ran randread-psync job,
> my throughput jumps from around 40MB/s to 60MB/s. That's a huge
> jump I would say.
>
> Thoughts?
What's your host setup; how many cores has the host got and how many did
you give the guest?
Dave
> Thanks
> Vivek
>
>
> NAME WORKLOAD Bandwidth IOPS
> cache-auto seqread-psync 690(MiB/s) 172k
> cache-auto-1-thread seqread-psync 729(MiB/s) 182k
>
> cache-auto seqread-psync-multi 2578(MiB/s) 644k
> cache-auto-1-thread seqread-psync-multi 2597(MiB/s) 649k
>
> cache-auto seqread-mmap 660(MiB/s) 165k
> cache-auto-1-thread seqread-mmap 672(MiB/s) 168k
>
> cache-auto seqread-mmap-multi 2499(MiB/s) 624k
> cache-auto-1-thread seqread-mmap-multi 2618(MiB/s) 654k
>
> cache-auto seqread-libaio 286(MiB/s) 71k
> cache-auto-1-thread seqread-libaio 260(MiB/s) 65k
>
> cache-auto seqread-libaio-multi 1508(MiB/s) 377k
> cache-auto-1-thread seqread-libaio-multi 986(MiB/s) 246k
>
> cache-auto randread-psync 35(MiB/s) 9191
> cache-auto-1-thread randread-psync 55(MiB/s) 13k
>
> cache-auto randread-psync-multi 179(MiB/s) 44k
> cache-auto-1-thread randread-psync-multi 209(MiB/s) 52k
>
> cache-auto randread-mmap 32(MiB/s) 8273
> cache-auto-1-thread randread-mmap 50(MiB/s) 12k
>
> cache-auto randread-mmap-multi 161(MiB/s) 40k
> cache-auto-1-thread randread-mmap-multi 185(MiB/s) 46k
>
> cache-auto randread-libaio 268(MiB/s) 67k
> cache-auto-1-thread randread-libaio 254(MiB/s) 63k
>
> cache-auto randread-libaio-multi 256(MiB/s) 64k
> cache-auto-1-thread randread-libaio-multi 155(MiB/s) 38k
>
> cache-auto seqwrite-psync 23(MiB/s) 6026
> cache-auto-1-thread seqwrite-psync 30(MiB/s) 7925
>
> cache-auto seqwrite-psync-multi 100(MiB/s) 25k
> cache-auto-1-thread seqwrite-psync-multi 154(MiB/s) 38k
>
> cache-auto seqwrite-mmap 343(MiB/s) 85k
> cache-auto-1-thread seqwrite-mmap 355(MiB/s) 88k
>
> cache-auto seqwrite-mmap-multi 408(MiB/s) 102k
> cache-auto-1-thread seqwrite-mmap-multi 438(MiB/s) 109k
>
> cache-auto seqwrite-libaio 41(MiB/s) 10k
> cache-auto-1-thread seqwrite-libaio 65(MiB/s) 16k
>
> cache-auto seqwrite-libaio-multi 137(MiB/s) 34k
> cache-auto-1-thread seqwrite-libaio-multi 214(MiB/s) 53k
>
> cache-auto randwrite-psync 22(MiB/s) 5801
> cache-auto-1-thread randwrite-psync 30(MiB/s) 7927
>
> cache-auto randwrite-psync-multi 100(MiB/s) 25k
> cache-auto-1-thread randwrite-psync-multi 151(MiB/s) 37k
>
> cache-auto randwrite-mmap 31(MiB/s) 7984
> cache-auto-1-thread randwrite-mmap 55(MiB/s) 13k
>
> cache-auto randwrite-mmap-multi 124(MiB/s) 31k
> cache-auto-1-thread randwrite-mmap-multi 213(MiB/s) 53k
>
> cache-auto randwrite-libaio 40(MiB/s) 10k
> cache-auto-1-thread randwrite-libaio 64(MiB/s) 16k
>
> cache-auto randwrite-libaio-multi 139(MiB/s) 34k
> cache-auto-1-thread randwrite-libaio-multi 212(MiB/s) 53k
>
>
>
>
>
>
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
next prev parent reply other threads:[~2020-09-21 8:50 UTC|newest]
Thread overview: 107+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-18 21:34 [Virtio-fs] tools/virtiofs: Multi threading seems to hurt performance Vivek Goyal
2020-09-18 21:34 ` Vivek Goyal
2020-09-21 8:39 ` [Virtio-fs] " Stefan Hajnoczi
2020-09-21 8:39 ` Stefan Hajnoczi
2020-09-21 13:39 ` [Virtio-fs] " Vivek Goyal
2020-09-21 13:39 ` Vivek Goyal
2020-09-21 16:57 ` [Virtio-fs] " Stefan Hajnoczi
2020-09-21 16:57 ` Stefan Hajnoczi
2020-09-21 8:50 ` Dr. David Alan Gilbert [this message]
2020-09-21 8:50 ` Dr. David Alan Gilbert
2020-09-21 13:35 ` [Virtio-fs] " Vivek Goyal
2020-09-21 13:35 ` Vivek Goyal
2020-09-21 14:08 ` [Virtio-fs] " Daniel P. Berrangé
2020-09-21 14:08 ` Daniel P. Berrangé
2020-09-21 15:32 ` [Virtio-fs] " Dr. David Alan Gilbert
2020-09-21 15:32 ` Dr. David Alan Gilbert
2020-09-22 10:25 ` [Virtio-fs] " Dr. David Alan Gilbert
2020-09-22 10:25 ` Dr. David Alan Gilbert
2020-09-22 17:47 ` [Virtio-fs] " Vivek Goyal
2020-09-22 17:47 ` Vivek Goyal
2020-09-24 21:33 ` [Virtio-fs] " Venegas Munoz, Jose Carlos
2020-09-24 21:33 ` Venegas Munoz, Jose Carlos
2020-09-24 22:10 ` [Virtio-fs] virtiofs vs 9p performance(Re: tools/virtiofs: Multi threading seems to hurt performance) Vivek Goyal
2020-09-24 22:10 ` Vivek Goyal
2020-09-25 8:06 ` [Virtio-fs] virtiofs vs 9p performance Christian Schoenebeck
2020-09-25 8:06 ` Christian Schoenebeck
2020-09-25 13:13 ` [Virtio-fs] " Vivek Goyal
2020-09-25 13:13 ` Vivek Goyal
2020-09-25 15:47 ` [Virtio-fs] " Christian Schoenebeck
2020-09-25 15:47 ` Christian Schoenebeck
2021-02-19 16:08 ` [Virtio-fs] Can not set high msize with virtio-9p (Was: Re: virtiofs vs 9p performance) Vivek Goyal
2021-02-19 16:08 ` Vivek Goyal
2021-02-19 17:33 ` [Virtio-fs] " Christian Schoenebeck
2021-02-19 17:33 ` Christian Schoenebeck
2021-02-19 19:01 ` [Virtio-fs] " Vivek Goyal
2021-02-19 19:01 ` Vivek Goyal
2021-02-20 15:38 ` [Virtio-fs] " Christian Schoenebeck
2021-02-20 15:38 ` Christian Schoenebeck
2021-02-22 12:18 ` [Virtio-fs] " Greg Kurz
2021-02-22 12:18 ` Greg Kurz
2021-02-22 15:08 ` [Virtio-fs] " Christian Schoenebeck
2021-02-22 15:08 ` Christian Schoenebeck
2021-02-22 17:11 ` [Virtio-fs] " Greg Kurz
2021-02-22 17:11 ` Greg Kurz
2021-02-23 13:39 ` [Virtio-fs] " Christian Schoenebeck
2021-02-23 13:39 ` Christian Schoenebeck
2021-02-23 14:07 ` [Virtio-fs] " Michael S. Tsirkin
2021-02-23 14:07 ` Michael S. Tsirkin
2021-02-24 15:16 ` [Virtio-fs] " Christian Schoenebeck
2021-02-24 15:16 ` Christian Schoenebeck
2021-02-24 15:43 ` [Virtio-fs] " Dominique Martinet
2021-02-24 15:43 ` Dominique Martinet
2021-02-26 13:49 ` [Virtio-fs] " Christian Schoenebeck
2021-02-26 13:49 ` Christian Schoenebeck
2021-02-27 0:03 ` [Virtio-fs] " Dominique Martinet
2021-02-27 0:03 ` Dominique Martinet
2021-03-03 14:04 ` [Virtio-fs] " Christian Schoenebeck
2021-03-03 14:04 ` Christian Schoenebeck
2021-03-03 14:50 ` [Virtio-fs] " Dominique Martinet
2021-03-03 14:50 ` Dominique Martinet
2021-03-05 14:57 ` [Virtio-fs] " Christian Schoenebeck
2021-03-05 14:57 ` Christian Schoenebeck
2020-09-25 12:41 ` [Virtio-fs] virtiofs vs 9p performance(Re: tools/virtiofs: Multi threading seems to hurt performance) Dr. David Alan Gilbert
2020-09-25 12:41 ` Dr. David Alan Gilbert
2020-09-25 13:04 ` [Virtio-fs] " Christian Schoenebeck
2020-09-25 13:04 ` Christian Schoenebeck
2020-09-25 13:05 ` [Virtio-fs] " Dr. David Alan Gilbert
2020-09-25 13:05 ` Dr. David Alan Gilbert
2020-09-25 16:05 ` [Virtio-fs] " Christian Schoenebeck
2020-09-25 16:05 ` Christian Schoenebeck
2020-09-25 16:33 ` [Virtio-fs] " Christian Schoenebeck
2020-09-25 16:33 ` Christian Schoenebeck
2020-09-25 18:51 ` [Virtio-fs] " Dr. David Alan Gilbert
2020-09-25 18:51 ` Dr. David Alan Gilbert
2020-09-27 12:14 ` [Virtio-fs] " Christian Schoenebeck
2020-09-27 12:14 ` Christian Schoenebeck
2020-09-29 13:03 ` [Virtio-fs] " Vivek Goyal
2020-09-29 13:03 ` Vivek Goyal
2020-09-29 13:28 ` [Virtio-fs] " Christian Schoenebeck
2020-09-29 13:28 ` Christian Schoenebeck
2020-09-29 13:49 ` [Virtio-fs] " Vivek Goyal
2020-09-29 13:49 ` Vivek Goyal
2020-09-29 13:59 ` [Virtio-fs] " Christian Schoenebeck
2020-09-29 13:59 ` Christian Schoenebeck
2020-09-29 13:17 ` [Virtio-fs] " Vivek Goyal
2020-09-29 13:17 ` Vivek Goyal
2020-09-29 13:49 ` [Virtio-fs] " Miklos Szeredi
2020-09-29 13:49 ` Miklos Szeredi
2020-09-29 14:01 ` Vivek Goyal
2020-09-29 14:01 ` Vivek Goyal
2020-09-29 14:54 ` Miklos Szeredi
2020-09-29 14:54 ` Miklos Szeredi
2020-09-29 15:28 ` Vivek Goyal
2020-09-29 15:28 ` Vivek Goyal
2020-09-25 12:11 ` [Virtio-fs] tools/virtiofs: Multi threading seems to hurt performance Dr. David Alan Gilbert
2020-09-25 12:11 ` Dr. David Alan Gilbert
2020-09-25 13:11 ` [Virtio-fs] " Vivek Goyal
2020-09-25 13:11 ` Vivek Goyal
2020-09-21 20:16 ` [Virtio-fs] " Vivek Goyal
2020-09-21 20:16 ` Vivek Goyal
2020-09-22 11:09 ` [Virtio-fs] " Dr. David Alan Gilbert
2020-09-22 11:09 ` Dr. David Alan Gilbert
2020-09-22 22:56 ` [Virtio-fs] " Vivek Goyal
2020-09-22 22:56 ` Vivek Goyal
2020-09-23 12:50 ` [Virtio-fs] " Chirantan Ekbote
2020-09-23 12:59 ` Vivek Goyal
2020-09-25 11:35 ` Dr. David Alan Gilbert
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=20200921085019.GB3221@work-vm \
--to=dgilbert@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=vgoyal@redhat.com \
--cc=virtio-fs@redhat.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.