AppVM Speed is Slow

Hi

When I run on bare metal

$ sudo hdparm -t /dev/nvme1n1

The speed test is about 10x of what it is when inside QubesOS AppVM:

/dev/nvme1n1:
 Timing buffered disk reads: 7058 MB in  3.00 seconds = 2320.18 MB/sec

however, if on the same hardware I boot QubesOS open an AppVM and run the same test

$ sudo hdparm -t /dev/xvdb

The output is very different (slow)

/dev/xvdb:
 Timing buffered disk reads: 638 MB in  3.01 seconds = 212.18 MB/sec
  • Is it normal?
  • Is it possible to make AppVM as fast as when it runs Linux on bare metal?
  • Cold you share your tests results?

Thanks for your help!

@solene - thank you very much for the NV41 review blog I read just now. Would you be able to run this test inside of an appvm and share read speed?

Try to assign the number of VCPUs to be the same as the number of your physical CPU threads for your qube.

CPU: 13900K, Drive: Samsung 990 Pro

Dom0 from nvme0n1: ~2200MB/s

From /dev/xvdb
appvm on ecore: ~1400MB/s
appvm on pcore: ~2300MB/s

Thanks for your comments! I just did, got a bit better result:

AppVM

$ sudo hdparm -t /dev/xvdb

/dev/xvdb:
 Timing buffered disk reads: 1852 MB in  3.00 seconds = 616.88 MB/sec

Dom0

$ sudo hdparm -t /dev/nvme0n1

/dev/nvme0n1:
 Timing buffered disk reads: 8164 MB in  3.00 seconds = 2721.31 MB/sec

I have similar tests results on two different laptops - perhaps it is something to do with the installation process / configuration vm-pool data volumes?

That is nice! I wish I ad the same performance. Did you configure vm-pool in a custom way during QubesOS install process?

I’m using btrfs, but I didn’t change the settings, it’s the installer defaults.

In an AppVM, three times in a row:

user@T ~> sudo hdparm -t /dev/xvdb

/dev/xvdb:
 Timing buffered disk reads: 1636 MB in  3.00 seconds = 544.77 MB/sec
user@T ~> sudo hdparm -t /dev/xvdb

/dev/xvdb:
 Timing buffered disk reads: 1580 MB in  3.00 seconds = 526.63 MB/sec
user@T ~> sudo hdparm -t /dev/xvdb

/dev/xvdb:
 Timing buffered disk reads: 1632 MB in  3.00 seconds = 543.97 MB/sec

and dom0

[root@dom0 ~]# hdparm -t /dev/nvme0n1

/dev/nvme0n1:
 Timing buffered disk reads: 6026 MB in  3.00 seconds = 2008.37 MB/sec
[root@dom0 ~]# hdparm -t /dev/nvme0n1

/dev/nvme0n1:
 Timing buffered disk reads: 6128 MB in  3.00 seconds = 2042.41 MB/sec
[root@dom0 ~]# hdparm -t /dev/nvme0n1

/dev/nvme0n1:
 Timing buffered disk reads: 6306 MB in  3.00 seconds = 2101.41 MB/sec