On Sat, Jan 05, 2019 at 07:42:56AM +0000, Richard W.M. Jones wrote:
I've yet to do testing, but it seems to be necessary if we're going to do scaling with the Linux client.
Some preliminary numbers on this. I've enabled multi-conn for both the file and memory plugins, and I'm using fio with 8 threads to test this against the Linux kernel client. Without multi-conn: memory: read: IOPS=52.8k, BW=206MiB/s (216MB/s)(24.2GiB/120002msec) write: IOPS=52.8k, BW=206MiB/s (216MB/s)(24.2GiB/120002msec) file: read: IOPS=48.3k, BW=189MiB/s (198MB/s)(22.1GiB/120001msec) write: IOPS=48.3k, BW=189MiB/s (198MB/s)(22.1GiB/120001msec) With multi-conn (-C 8): memory: read: IOPS=103k, BW=401MiB/s (420MB/s)(46.0GiB/120002msec) write: IOPS=103k, BW=401MiB/s (420MB/s)(46.0GiB/120002msec) file: read: IOPS=49.2k, BW=192MiB/s (202MB/s)(22.5GiB/120001msec) write: IOPS=49.2k, BW=192MiB/s (202MB/s)(22.5GiB/120001msec) So you can see that the file plugin doesn't move at all, which is not too surprising since perf shows that it is entirely blocked on Linux filesystem calls. IOW something in the kernel seems to be the problem. The memory plugin still has known scalability problems because it uses the global sparse array, but at least it's moving in the right direction. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com virt-p2v converts physical machines to virtual machines. Boot with a live CD or over the network (PXE) and turn machines into KVM guests. http://libguestfs.org/virt-v2v