cloudstack-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CLOUDSTACK-9428) Fix for CLOUDSTACK-9211 - Improve performance
Date Tue, 05 Jul 2016 22:29:11 GMT

    [ https://issues.apache.org/jira/browse/CLOUDSTACK-9428?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15363391#comment-15363391
] 

ASF GitHub Bot commented on CLOUDSTACK-9428:
--------------------------------------------

GitHub user nvazquez opened a pull request:

    https://github.com/apache/cloudstack/pull/1605

    CLOUDSTACK-9428: Fix for CLOUDSTACK-9211 - Improve performance

    JIRA TICKET: https://issues.apache.org/jira/browse/CLOUDSTACK-9428
    
    ### Introduction
    
    On #1310 passing vRAM size to support 3D GPU problem was addressed on VMware. It was found
out that it could be improved to increase performance by reducing extra API calls, as we'll
describe later
    
    ### Improvement
    On WMware, `VmwareResource` manages execution of `StartCommand.` Before sending power
on command to ESXi hypervisor, vm is configured by calling `reconfigVMTask` web method on
vSphere's client `VimPortType` web service.
    It was found out that we were using this method 2 times when passing vRAM size, as it
implied creating a new vm config spec only editing video card specs and making an extra call
to `reconfigVMTask.`
    
    We propose reducing the extra web service call by adjusting vm's config spec. This way
video card gets properly configured (when passing vRAM size) in the same configure call, increasing
performance.
    
    ### Use case (passing vRAM size)
    * Deploy a new VM, let its id be X
    * Stop VM
    * Execute SQL, where X is vm's id and Z is vRAM size (in kB): 
    ````
    INSERT INTO cloud.user_vm_details (vm_id, name, value) VALUES (X, 'mks.enable3d', 'true');
    INSERT INTO cloud.user_vm_details (vm_id, name, value) VALUES (X, 'mks.use3dRenderer',
'automatic');
    INSERT INTO cloud.user_vm_details (vm_id, name, value) VALUES (X, 'svga.autodetect', 'false');
    INSERT INTO cloud.user_vm_details (vm_id, name, value) VALUES (X, 'svga.vramSize', Z);
    ````
    * Start VM

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/nvazquez/cloudstack fixVram

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/cloudstack/pull/1605.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #1605
    
----
commit 99436e0ed63286ea537069c2c58c1a83e2ce25ea
Author: nvazquez <nicolas.m.vazquez@gmail.com>
Date:   2016-07-05T22:21:26Z

    CLOUDSTACK-9428: Fix for CLOUDSTACK-9211 - Improve performance

----


> Fix for CLOUDSTACK-9211 - Improve performance
> ---------------------------------------------
>
>                 Key: CLOUDSTACK-9428
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-9428
>             Project: CloudStack
>          Issue Type: Improvement
>      Security Level: Public(Anyone can view this level - this is the default.) 
>          Components: VMware
>            Reporter: Nicolas Vazquez
>            Assignee: Nicolas Vazquez
>
> h3. Introduction
> On [CLOUDSTACK-9211|https://issues.apache.org/jira/browse/CLOUDSTACK-9211] passing vRAM
size to support 3D GPU problem was addressed on VMware. It was found out that it could be
improved to increase performance by reducing extra API calls, as we'll describe later
> h3. Improvement
> On WMware, {{VmwareResource}} manages execution of {{StartCommand}}. Before sending power
on command to ESXi hypervisor, vm is configured by calling {{reconfigVMTask}} web method on
vSphere's client {{VimPortType}} web service.
> It was found out that we were using this method 2 times when passing vRAM size, as it
implied creating a new vm config spec only editing video card specs and making an extra call
to {{reconfigVMTask}}.
> We propose reducing the extra web service call by adjusting vm's config spec. This way
video card gets properly configured (when passing vRAM size) in the same configure call, increasing
performance.
> h3. Use case (passing vRAM size)
> # Deploy a new VM, let its id be X
> # Stop VM
> # Execute SQL, where X is vm's id and Z is vRAM size (in kB): {code:sql}
> INSERT INTO cloud.user_vm_details (vm_id, name, value) VALUES (X, 'mks.enable3d', 'true');
> INSERT INTO cloud.user_vm_details (vm_id, name, value) VALUES (X, 'mks.use3dRenderer',
'automatic');
> INSERT INTO cloud.user_vm_details (vm_id, name, value) VALUES (X, 'svga.autodetect',
'false');
> INSERT INTO cloud.user_vm_details (vm_id, name, value) VALUES (X, 'svga.vramSize', Z);
> {code}
> # Start VM



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message