[Libguestfs] [PATCH nbdkit 0/7] server: Implement NBD_FLAG_CAN_MULTI_CONN.

Richard W.M. Jones rjones at redhat.com
Sat Jan 5 11:15:53 UTC 2019


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




More information about the Libguestfs mailing list