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

Richard W.M. Jones rjones at redhat.com
Sat Jan 5 13:19:50 UTC 2019


Here are some more interesting numbers, concentrating on the memory
plugin and RAM disks.  All are done using 8 threads and multi-conn, on
a single unloaded machine with 16 cores, using a Unix domain socket.

(1) The memory plugin using the sparse array, as implemented upstream
in 1.9.8:

   read: IOPS=103k, BW=401MiB/s (420MB/s)(46.0GiB/120002msec)
  write: IOPS=103k, BW=401MiB/s (420MB/s)(46.0GiB/120002msec)

(2) I moved the locking to around calls to the sparse array code, and
changed the thread model to parallel:

   read: IOPS=112k, BW=437MiB/s (458MB/s)(51.2GiB/120001msec)
  write: IOPS=112k, BW=437MiB/s (458MB/s)(51.2GiB/120001msec)

(3) I reimplemented the memory plugin using a simple malloc, which is
how it used to be in nbdkit <= 1.5.8:

   read: IOPS=133k, BW=518MiB/s (544MB/s)(60.7GiB/120002msec)
  write: IOPS=133k, BW=518MiB/s (543MB/s)(60.7GiB/120002msec)

(4) I ran fio directly against /dev/shm to get some idea of how much
performance we are losing by using NBD at all:

   read: IOPS=1018k, BW=3978MiB/s (4171MB/s)(466GiB/120001msec)
  write: IOPS=1018k, BW=3979MiB/s (4172MB/s)(466GiB/120001msec)

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-top is 'top' for virtual machines.  Tiny program with many
powerful monitoring features, net stats, disk stats, logging, etc.
http://people.redhat.com/~rjones/virt-top




More information about the Libguestfs mailing list