From: Luca Tongiani <luca.tongiani@sinte.net>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: xen-devel@lists.xenproject.org
Subject: Re: Question about VirtIO on Xen - Disk performance issues
Date: Tue, 5 Jan 2016 13:22:02 +0100 [thread overview]
Message-ID: <568BB56A.9090001@sinte.net> (raw)
In-Reply-To: <alpine.DEB.2.02.1601051107500.31111@kaball.uk.xensource.com>
[-- Attachment #1.1: Type: text/plain, Size: 2537 bytes --]
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 <http://www.sinte.net/>
[-- Attachment #1.2: Type: text/html, Size: 4051 bytes --]
[-- Attachment #2: xenstore-ls_output_backupvm --]
[-- Type: text/plain, Size: 2044 bytes --]
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"
[-- Attachment #3: conf_DomU_Xen --]
[-- Type: text/plain, Size: 8379 bytes --]
# -*- 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' ]
#============================================================================
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #4: luca_tongiani.vcf --]
[-- Type: text/x-vcard; name="luca_tongiani.vcf", Size: 4 bytes --]
null
[-- Attachment #5: Type: text/plain, Size: 126 bytes --]
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
next prev parent reply other threads:[~2016-01-05 12:22 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-15 13:09 Question about VirtIO on Xen - Disk performance issues Luca Tongiani
2015-12-15 15:34 ` Ian Campbell
2015-12-16 11:31 ` Stefano Stabellini
2016-01-05 10:53 ` Luca Tongiani
2016-01-05 11:09 ` Stefano Stabellini
2016-01-05 12:22 ` Luca Tongiani [this message]
2016-01-05 12:42 ` Stefano Stabellini
2016-01-05 13:52 ` Luca Tongiani
2016-01-05 14:05 ` Stefano Stabellini
2016-01-05 14:44 ` Luca Tongiani
2016-01-05 17:24 ` Stefano Stabellini
2016-01-05 14:05 ` Luca Tongiani
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=568BB56A.9090001@sinte.net \
--to=luca.tongiani@sinte.net \
--cc=stefano.stabellini@eu.citrix.com \
--cc=xen-devel@lists.xenproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.