On Thu, Aug 01, 2019 at 03:44:31PM -0700, ivo welch
wrote:> hi richard---arthur and I are working with nbdkit v1.12.3 on qemu/kvm.
>
> we found that our linux (ubuntu 16.04 32-bit) boot time from a local .img
> file went from about 10 seconds to about 3 minutes when using the nbdkit
> file plugin instead of directly connecting qemu to the file. on further
> inspection with bonnie++, we think the problem may be related to poor
> random seek performance:
In general I would expect some slowdown between using qemu directly
against a file and using qemu -> nbd driver -> nbdkit -> file, but not
nearly as much as you observed.
This is running bonnie++ inside the guest?
Are qemu & nbdkit running on the same machine? Are you using a TCP
port or a Unix domain socket? (If TCP you may want to consider
commits d088bf45, 0721aa9579 and 3842a080c). Which version of qemu is
it?
Rich.
> DIRECT FROM QEMU TO .IMG FILE:
>
------------------------------------------------------------------------------------------------------------------------------
> Version 1.97 ------Sequential Output------ --Sequential Input-
> --Random-
> Concurrency 1 -Per Chr- --Block-- -Rewrite- -Per Chr- --Block--
> --Seeks--
> Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec
> %CP
> TEST 4G 109468 11 58405 16 180613 33
> 3204 147
> Latency 7125ms 5812ms 131ms
> 101ms
>
------------------------------------------------------------------------------------------------------------------------------
>
------------------------------------------------------------------------------------------------------------------------------
>
>
>
> NBDKIT:
>
------------------------------------------------------------------------------------------------------------------------------
>
1.97,1.97,TEST,1,1564697809,4G,,,,109468,11,58405,16,,,180613,33,3204,147,,,,,,,,,,,,,,,,,,,7125ms,5812ms,,131ms,101ms,,,,,,
> Version 1.97 ------Sequential Output------ --Sequential Input-
> --Random-
> Concurrency 1 -Per Chr- --Block-- -Rewrite- -Per Chr- --Block--
> --Seeks--
> Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec
> %CP
> TEST 4G 105761 11 58992 14 178472 30
> 39.3 6
> Latency 8166ms 3683ms 187ms
> 1197ms
>
------------------------------------------------------------------------------------------------------------------------------
>
------------------------------------------------------------------------------------------------------------------------------
>
>
>
> NBDKIT (-fv):
>
------------------------------------------------------------------------------------------------------------------------------
>
1.97,1.97,TEST,1,1564698256,4G,,,,105761,11,58992,14,,,178472,30,39.3,6,,,,,,,,,,,,,,,,,,,8166ms,3683ms,,187ms,1197ms,,,,,,
> Version 1.97 ------Sequential Output------ --Sequential Input-
> --Random-
> Concurrency 1 -Per Chr- --Block-- -Rewrite- -Per Chr- --Block--
> --Seeks--
> Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec
> %CP
> TEST 4G 104941 10 56501 14 160557 28
> 39.9 6
> Latency 15318ms 5200ms 101ms
> 1152ms
>
>
1.97,1.97,TEST,1,1564695086,4G,,,,104941,10,56501,14,,,160557,28,39.9,6,,,,,,,,,,,,,,,,,,,15318ms,5200ms,,101ms,1152ms,,,,,,
>
------------------------------------------------------------------------------------------------------------------------------
>
------------------------------------------------------------------------------------------------------------------------------
>
>
> is this an error on our part? do you have any recommendations on what we
> could investigate next?
>
> regards,
>
> /iaw
>
>
> --
> Ivo Welch (ivo.welch@ucla.edu)
> http://www.ivo-welch.info/
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
libguestfs lets you edit virtual machines. Supports shell scripting,
bindings from many languages. http://libguestfs.org