From mboxrd@z Thu Jan 1 00:00:00 1970 From: Luca Tongiani Subject: Re: Question about VirtIO on Xen - Disk performance issues Date: Tue, 5 Jan 2016 13:22:02 +0100 Message-ID: <568BB56A.9090001@sinte.net> References: <56701113.1080107@sinte.net> <568BA0B8.2030807@sinte.net> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------040601080300020609090805" Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1aGQcq-00008B-ME for xen-devel@lists.xenproject.org; Tue, 05 Jan 2016 12:22:08 +0000 In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Stefano Stabellini Cc: xen-devel@lists.xenproject.org List-Id: xen-devel@lists.xenproject.org This is a multi-part message in MIME format. --------------040601080300020609090805 Content-Type: multipart/alternative; boundary="------------020306090708070802030002" --------------020306090708070802030002 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Hi, thanks in advance for your reply :) I have attached the following email configuration DomU and the output you have requested . Performance disk are all my machines the most serious problem , even if they are used powerful hardware . Differences in Disk writing in DomU are 1/3 of those of the Dom0 . Thank you in advance Luca Il 05/01/2016 12:09, Stefano Stabellini ha scritto: > Could you please post your VM config file and the output of > xenstore-ls once the VM has completed the boot sequence? > > On Tue, 5 Jan 2016, Luca Tongiani wrote: >> Hi Stefano, >> im writing to you because im having issue with I/O disk in my DomU With Xen (Gentoo based system). >> >> I tried to use the driver that you provided for the PV . >> But the results are still not good , there is no way to support the use of Xen VirtIO disk ? Many thanks in >> advance >> >> Luca >> >> Il 12/16/15 12:31, Stefano Stabellini ha scritto: >> >> Hello Luca, >> >> the recommended way to increase disk performance would be to use Xen PV >> disks. You just need to install the Windows PV drivers: >> >> http://www.xenproject.org/developers/teams/windows-pv-drivers.html >> >> But using VirtIO disk should also increase performance, even though >> most probably not as much. >> >> Cheers, >> >> Stefano >> >> On Tue, 15 Dec 2015, Luca Tongiani wrote: >> >> Hi to all, >> I'm writing you this mail for asking some advice about a great problem i'm havin in running a Windows VM >> (HVM) onto a Xen (Gentoo based) Hypevisor. >> >> I need to achieve maximum performance from this VM because of intense SQL tasks running in it. >> >> I've seen good improvement in IO on disk using VirtIO on a Windows VM onto a QEMU (QNAP) hypervisor, and i'm >> tryin to use this feature also on my Xen HV. >> Is VirtIO disk a good way to improve performance? >> >> Thx in advance and hope to keep in touch >> -- >> >> Luca Tongiani >> >> Sinte srl >> Soluzioni Informatiche e Telematiche >> via Monte Grappa 4/B >> 20900 Monza (MB) >> >> Cel (+39) 339 745 49 21 >> Tel (+39) 039 200 59 60 >> Fax (+39) 039 200 69 42 >> Web www.sinte.net >> >> >> >> >> -- >> >> Luca Tongiani >> >> Sinte srl >> Soluzioni Informatiche e Telematiche >> via Monte Grappa 4/B >> 20900 Monza (MB) >> >> Tel (+39) 039 200 59 60 >> Fax (+39) 039 200 69 42 >> Web www.sinte.net >> >> >> -- *Luca Tongiani* *Sinte* srl Soluzioni Informatiche e Telematiche via Monte Grappa 4/B 20900 Monza (MB) *Tel* (+39) 039 200 59 60 *Fax* (+39) 039 200 69 42 *Web* www.sinte.net --------------020306090708070802030002 Content-Type: text/html; charset=windows-1252 Content-Transfer-Encoding: 7bit Hi,
thanks in advance for your reply :)


I have attached the following email configuration DomU and the output you have requested .
Performance disk are all my machines the most serious problem , even if they are used powerful hardware .
Differences in Disk writing in DomU are 1/3 of those of the Dom0 .


Thank you in advance Luca








Il 05/01/2016 12:09, Stefano Stabellini ha scritto:

Could you please post your VM config file and the output of
xenstore-ls once the VM has completed the boot sequence?

On Tue, 5 Jan 2016, Luca Tongiani wrote:
Hi Stefano,
im writing to you because im having issue with I/O disk in my DomU With Xen (Gentoo based system).

I tried to use the driver that you provided for the PV .
But the results are still not good , there is no way to support the use of Xen VirtIO disk ? Many thanks in
advance

Luca

Il 12/16/15 12:31, Stefano Stabellini ha scritto:

Hello Luca,

the recommended way to increase disk performance would be to use Xen PV
disks. You just need to install the Windows PV drivers:

http://www.xenproject.org/developers/teams/windows-pv-drivers.html

But using VirtIO disk should also increase performance, even though
most probably not as much.

Cheers,

Stefano

On Tue, 15 Dec 2015, Luca Tongiani wrote:

Hi to all,
I'm writing you this mail for asking some advice about a great problem i'm havin in running a Windows VM
(HVM) onto a Xen (Gentoo based) Hypevisor.

I need to achieve maximum performance from this VM because of intense SQL tasks running in it.

I've seen good improvement in IO on disk using VirtIO on a Windows VM onto a QEMU (QNAP) hypervisor, and i'm
tryin to use this feature also on my Xen HV.
Is VirtIO disk a good way to improve performance?

Thx in advance and hope to keep in touch
--

Luca Tongiani

Sinte srl
Soluzioni Informatiche e Telematiche
via Monte Grappa 4/B
20900 Monza (MB)

Cel (+39) 339 745 49 21
Tel (+39) 039 200 59 60
Fax (+39) 039 200 69 42
Web www.sinte.net




--

Luca Tongiani

Sinte srl
Soluzioni Informatiche e Telematiche
via Monte Grappa 4/B
20900 Monza (MB)

Tel (+39) 039 200 59 60
Fax (+39) 039 200 69 42
Web www.sinte.net




--

Luca Tongiani

Sinte srl
Soluzioni Informatiche e Telematiche
via Monte Grappa 4/B
20900 Monza (MB)

Tel (+39) 039 200 59 60
Fax (+39) 039 200 69 42
Web www.sinte.net

--------------020306090708070802030002-- --------------040601080300020609090805 Content-Type: text/plain; charset=UTF-8; name="xenstore-ls_output_backupvm" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="xenstore-ls_output_backupvm" 00000000-0000-0000-0000-000000000000-25 = "" on_xend_stop = "ignore" pool_name = "Pool-0" shadow_memory = "0" uuid = "00000000-0000-0000-0000-000000000000" on_reboot = "restart" image = "(linux (kernel '') (superpages 0) (nomigrate 0) (tsc_mode 0))" ostype = "linux" kernel = "" cmdline = "" ramdisk = "" on_poweroff = "destroy" bootloader_args = "" on_xend_start = "ignore" on_crash = "restart" xend = "" restart_count = "0" vcpus = "2" vcpu_avail = "3" bootloader = "" name = "Domain-0" 6d2e6572-6316-8527-1bc3-7a32b7fdd35f = "" image = "(linux (kernel /var/xen/boot/vmlinuz-2.6.38-gentoo-r6) (args 'roo\..." ostype = "linux" kernel = "/var/xen/boot/vmlinuz-2.6.38-gentoo-r6" cmdline = "root=/dev/xvda1 xencons=hvc0" ramdisk = "" device = "" tap = "" 51713 = "" frontend = "/local/domain/5/device/vbd/51713" frontend-id = "5" backend-id = "0" backend = "/local/domain/0/backend/tap/5/51713" 51715 = "" frontend = "/local/domain/5/device/vbd/51715" frontend-id = "5" backend-id = "0" backend = "/local/domain/0/backend/tap/5/51715" vbd = "" 51714 = "" frontend = "/local/domain/5/device/vbd/51714" frontend-id = "5" backend-id = "0" backend = "/local/domain/0/backend/vbd/5/51714" vif = "" 0 = "" frontend = "/local/domain/5/device/vif/0" frontend-id = "5" backend-id = "0" backend = "/local/domain/0/backend/vif/5/0" console = "" 0 = "" frontend = "/local/domain/5/device/console/0" frontend-id = "5" backend-id = "0" backend = "/local/domain/0/backend/console/5/0" on_xend_stop = "ignore" pool_name = "Pool-0" shadow_memory = "0" uuid = "6d2e6572-6316-8527-1bc3-7a32b7fdd35f" on_reboot = "restart" start_time = "1343314858.24" on_poweroff = "destroy" bootloader_args = "" on_xend_start = "ignore" on_crash = "restart" xend = "" restart_count = "0" vcpus = "1" vcpu_avail = "1" bootloader = "" name = "bmsbackup" --------------040601080300020609090805 Content-Type: text/plain; charset=UTF-8; name="conf_DomU_Xen" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="conf_DomU_Xen" # -*- mode: python; -*- #============================================================================ # Python configuration setup for 'xm create'. # This script sets the parameters used when a domain is created using 'xm create'. # You use a separate script for each domain you want to create, or # you can set the parameters for the domain on the xm command line. #============================================================================ #---------------------------------------------------------------------------- # Kernel image file. #kernel = "/var/xen/boot/vmlinuz-2.6.32-gentoo-r7" #kernel = "/var/xen/boot/vmlinuz-2.6.34-xen" #kernel = "/var/xen/boot/vmlinuz-2.6.38-gentoo-r6" kernel = "/var/xen/boot/vmlinuz-4.0.5-gentoo_bmsbackup" # Optional ramdisk. #ramdisk = "/boot/initrd.gz" # The domain build function. Default is 'linux'. #builder='linux' # Initial memory allocation (in megabytes) for the new domain. # # WARNING: Creating a domain with insufficient memory may cause out of # memory errors. The domain needs enough memory to boot kernel # and modules. Allocating less than 32MBs is not recommended. memory = 2048 # A name for your domain. All domains must have different names. name = "bmsbackup" # 128-bit UUID for the domain. The default behavior is to generate a new UUID # on each call to 'xm create'. #uuid = "06ed00fe-1162-4fc4-b5d8-11993ee4a8b9" # List of which CPUS this domain is allowed to use, default Xen picks #cpus = "" # leave to Xen to pick #cpus = "0" # all vcpus run on CPU0 #cpus = "0-3,5,^1" # all vcpus run on cpus 0,2,3,5 #cpus = ["2", "3"] # VCPU0 runs on CPU2, VCPU1 runs on CPU3 cpus = "1" # Number of Virtual CPUS to use, default is 1 vcpus = 1 #---------------------------------------------------------------------------- # Define network interfaces. # By default, no network interfaces are configured. You may have one created # with sensible defaults using an empty vif clause: # # vif = [ '' ] # # or optionally override backend, bridge, ip, mac, script, type, or vifname: # # vif = [ 'mac=00:16:3e:00:00:11, bridge=xenbr0' ] # # or more than one interface may be configured: # # vif = [ '', 'bridge=xenbr1' ] vif = [ 'bridge=xenbr0' ] #---------------------------------------------------------------------------- # Define the disk devices you want the domain to have access to, and # what you want them accessible as. # Each disk entry is of the form phy:UNAME,DEV,MODE # where UNAME is the device, DEV is the device name the domain will see, # and MODE is r for read-only, w for read-write. #disk = [ 'tap:aio:/var/xen/mailserver.img,xvda1,w', 'phy:/dev/drbd1,xvda2,w' ] disk = [ 'tap:aio:/var/xen/bmsbackup_new.img,xvda1,w', 'phy:/dev/vm/dati,xvda2,w', 'tap:aio:/var/xen/bmsbackup.swap,xvda3,w' ] #---------------------------------------------------------------------------- # Define frame buffer device. # # By default, no frame buffer device is configured. # # To create one using the SDL backend and sensible defaults: # # vfb = [ 'sdl=1' ] # # This uses environment variables XAUTHORITY and DISPLAY. You # can override that: # # vfb = [ 'sdl=1,xauthority=/home/bozo/.Xauthority,display=:1' ] # # To create one using the VNC backend and sensible defaults: # #vfb = [ 'vnc=1' ] vnc=1 # # The backend listens on 127.0.0.1 port 5900+N by default, where N is # the domain ID. You can override both address and N: # # vfb = [ 'vnc=1,vnclisten=127.0.0.1,vncdisplay=1' ] # # Or you can bind the first unused port above 5900: # # vfb = [ 'vnc=1,vnclisten=0.0.0.0,vncunused=1' ] # # You can override the password: # # vfb = [ 'vnc=1,vncpasswd=MYPASSWD' ] # # Empty password disables authentication. Defaults to the vncpasswd # configured in xend-config.sxp. #---------------------------------------------------------------------------- # Define to which TPM instance the user domain should communicate. # The vtpm entry is of the form 'instance=INSTANCE,backend=DOM' # where INSTANCE indicates the instance number of the TPM the VM # should be talking to and DOM provides the domain where the backend # is located. # Note that no two virtual machines should try to connect to the same # TPM instance. The handling of all TPM instances does require # some management effort in so far that VM configration files (and thus # a VM) should be associated with a TPM instance throughout the lifetime # of the VM / VM configuration file. The instance number must be # greater or equal to 1. #vtpm = [ 'instance=1,backend=0' ] #---------------------------------------------------------------------------- # Set the kernel command line for the new domain. # You only need to define the IP parameters and hostname if the domain's # IP config doesn't, e.g. in ifcfg-eth0 or via DHCP. # You can use 'extra' to set the runlevel and custom environment # variables used by custom rc scripts (e.g. VMID=, usr= ). # Set if you want dhcp to allocate the IP address. #dhcp="dhcp" # Set netmask. #netmask= # Set default gateway. #gateway= # Set the hostname. #hostname= "vm%d" % vmid # Set root device. root = "/dev/xvda1" console = "hvc0" # Root device for nfs. #root = "/dev/nfs" # The nfs server. #nfs_server = '192.0.2.1' # Root directory on the nfs server. #nfs_root = '/full/path/to/root/directory' # Sets runlevel 4. #extra = "4" extra = "xencons=hvc0" #---------------------------------------------------------------------------- # Configure the behaviour when a domain exits. There are three 'reasons' # for a domain to stop: poweroff, reboot, and crash. For each of these you # may specify: # # "destroy", meaning that the domain is cleaned up as normal; # "restart", meaning that a new domain is started in place of the old # one; # "preserve", meaning that no clean-up is done until the domain is # manually destroyed (using xm destroy, for example); or # "rename-restart", meaning that the old domain is not cleaned up, but is # renamed and a new domain started in its place. # # In the event a domain stops due to a crash, you have the additional options: # # "coredump-destroy", meaning dump the crashed domain's core and then destroy; # "coredump-restart', meaning dump the crashed domain's core and the restart. # # The default is # # on_poweroff = 'destroy' # on_reboot = 'restart' # on_crash = 'restart' # # For backwards compatibility we also support the deprecated option restart # # restart = 'onreboot' means on_poweroff = 'destroy' # on_reboot = 'restart' # on_crash = 'destroy' # # restart = 'always' means on_poweroff = 'restart' # on_reboot = 'restart' # on_crash = 'restart' # # restart = 'never' means on_poweroff = 'destroy' # on_reboot = 'destroy' # on_crash = 'destroy' #on_poweroff = 'destroy' #on_reboot = 'restart' #on_crash = 'restart' #----------------------------------------------------------------------------- # Configure PVSCSI devices: # #vscsi=[ 'PDEV, VDEV' ] # # PDEV gives physical SCSI device to be attached to specified guest # domain by one of the following identifier format. # - XX:XX:XX:XX (4-tuples with decimal notation which shows # "host:channel:target:lun") # - /dev/sdxx or sdx # - /dev/stxx or stx # - /dev/sgxx or sgx # - result of 'scsi_id -gu -s'. # ex. # scsi_id -gu -s /block/sdb # 36000b5d0006a0000006a0257004c0000 # # VDEV gives virtual SCSI device by 4-tuples (XX:XX:XX:XX) as # which the specified guest domain recognize. # #vscsi = [ '/dev/sdx, 0:0:0:0' ] #============================================================================ --------------040601080300020609090805 Content-Type: text/x-vcard; name="luca_tongiani.vcf" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="luca_tongiani.vcf" bnVsbA== --------------040601080300020609090805 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel --------------040601080300020609090805--