You also might want to set the allocation mode to something else then
shared. This causes the qcow2 metadata to be pre-allocated and that will
improve performance.

Wido

On 5/17/19 3:04 PM, Ivan Kudryavtsev wrote:
> Well, just FYI, I changed cache_mode from NULL (none), to writethrough
> directly in DB and the performance boosted greatly. It may be an important
> feature for NVME drives.
> 
> Currently, on 4.11, the user can set cache-mode for disk offerings, but
> cannot for service offerings, which are translated to cache=none
> corresponding disk offerings.
> 
> The only way is to use SQL to change that for root disk disk offerings.
> CreateServiceOffering API doesn't support cache mode. It can be a serious
> limitation for NVME users, because by default they could meet poor
> read/write performance.
> 
> пт, 17 мая 2019 г., 19:30 Ivan Kudryavtsev <kudryavtsev...@bw-sw.com>:
> 
>> Darius, thanks for your participation,
>>
>> first, I used 4.14 kernel which is the default one for my cluster. Next,
>> switched to 4.15 with dist-upgrade.
>>
>> Do you have an idea how to turn on amount of queues for virtio-scsi with
>> Cloudstack?
>>
>> пт, 17 мая 2019 г., 19:26 Darius Kasparavičius <daz...@gmail.com>:
>>
>>> Hi,
>>>
>>> I can see a few issues with your xml file. You can try using "queues"
>>> inside your disk definitions. This should help a little, not sure by
>>> how much for your case, but for my specific it went up by almost the
>>> number of queues. Also try cache directsync or writethrough. You
>>> should switch kernel if bugs are still there with 4.15 kernel.
>>>
>>> On Fri, May 17, 2019 at 12:14 PM Ivan Kudryavtsev
>>> <kudryavtsev...@bw-sw.com> wrote:
>>>>
>>>> Hello, colleagues.
>>>>
>>>> Hope, someone could help me. I just deployed a new VM host with Intel
>>> P4500
>>>> local storage NVMe drive.
>>>>
>>>> From Hypervisor host I can get expected performance, 200K RIOPS, 3GBs
>>> with
>>>> FIO, write performance is also high as expected.
>>>>
>>>> I've created a new KVM VM Service offering with virtio-scsi controller
>>>> (tried virtio as well) and VM is deployed. Now I try to benchmark it
>>> with
>>>> FIO. Results are very strange:
>>>>
>>>> 1. Read/Write with large blocks (1M) shows expected performance (my
>>> limits
>>>> are R=1000/W=500 MBs).
>>>>
>>>> 2. Write with direct=0 leads to expected 50K IOPS, while write with
>>>> direct=1 leads to very moderate 2-3K IOPS.
>>>>
>>>> 3. Read with direct=0, direct=1 both lead to 3000 IOPS.
>>>>
>>>> During the benchmark I see VM IOWAIT=20%, while host IOWAIT is 0% which
>>> is
>>>> strange.
>>>>
>>>> So, basically, from inside VM my NVMe works very slow when small IOPS
>>> are
>>>> executed. From the host, it works great.
>>>>
>>>> I tried to mount the volume with NBD to /dev/nbd0 and benchmark. Read
>>>> performance is nice. Maybe someone managed to use NVME with KVM with
>>> small
>>>> IOPS?
>>>>
>>>> The filesystem is XFS, previously tried with EXT4 - results are the
>>> same.
>>>>
>>>> This is the part of VM XML definition generated by CloudStack:
>>>>
>>>>   <devices>
>>>>     <emulator>/usr/bin/kvm-spice</emulator>
>>>>     <disk type='file' device='disk'>
>>>>       <driver name='qemu' type='qcow2' cache='none' discard='unmap'/>
>>>>       <source
>>>> file='/var/lib/libvirt/images/6809dbd0-4a15-4014-9322-fe9010695934'/>
>>>>       <backingStore type='file' index='1'>
>>>>         <format type='raw'/>
>>>>         <source
>>>> file='/var/lib/libvirt/images/ac43742c-3991-4be1-bff1-7617bf4fc6ef'/>
>>>>         <backingStore/>
>>>>       </backingStore>
>>>>       <target dev='sda' bus='scsi'/>
>>>>       <iotune>
>>>>         <read_bytes_sec>1048576000</read_bytes_sec>
>>>>         <write_bytes_sec>524288000</write_bytes_sec>
>>>>         <read_iops_sec>100000</read_iops_sec>
>>>>         <write_iops_sec>50000</write_iops_sec>
>>>>       </iotune>
>>>>       <serial>6809dbd04a1540149322</serial>
>>>>       <alias name='scsi0-0-0-0'/>
>>>>       <address type='drive' controller='0' bus='0' target='0' unit='0'/>
>>>>     </disk>
>>>>     <disk type='file' device='cdrom'>
>>>>       <driver name='qemu' type='raw'/>
>>>>       <backingStore/>
>>>>       <target dev='hdc' bus='ide'/>
>>>>       <readonly/>
>>>>       <alias name='ide0-1-0'/>
>>>>       <address type='drive' controller='0' bus='1' target='0' unit='0'/>
>>>>     </disk>
>>>>     <controller type='scsi' index='0' model='virtio-scsi'>
>>>>       <alias name='scsi0'/>
>>>>       <address type='pci' domain='0x0000' bus='0x00' slot='0x09'
>>>> function='0x0'/>
>>>>     </controller>
>>>>
>>>> So, what I see now, is that it works slower than couple of two Samsung
>>> 960
>>>> PRO which is extremely strange.
>>>>
>>>> Thanks in advance.
>>>>
>>>>
>>>> --
>>>> With best regards, Ivan Kudryavtsev
>>>> Bitworks LLC
>>>> Cell RU: +7-923-414-1515
>>>> Cell USA: +1-201-257-1512
>>>> WWW: http://bitworks.software/ <http://bw-sw.com/>
>>>
>>
> 

Reply via email to