Automation

 View Only
  • 1.  get-view slow

    Posted Mar 22, 2019 08:31 PM

    Hi guys,

    i tried to find an Answer why is slower then default query.

    may anyone have an Idea  why get-view is that slow in comparison to get-vm


    about 4021 vms.

    Measure-Command {get-vm}

    Days              : 0

    Hours             : 0

    Minutes           : 0

    Seconds           : 1

    Milliseconds      : 982

    Ticks             : 19822577

    TotalDays         : 2.29427974537037E-05

    TotalHours        : 0.000550627138888889

    TotalMinutes      : 0.0330376283333333

    TotalSeconds      : 1.9822577

    TotalMilliseconds : 1982.2577

    Measure-Command {Get-View -viewtype VirtualMachine}

    Days              : 0

    Hours             : 0

    Minutes           : 0

    Seconds           : 53

    Milliseconds      : 3

    Ticks             : 530030273

    TotalDays         : 0.00061346096412037

    TotalHours        : 0.0147230631388889

    TotalMinutes      : 0.883383788333333

    TotalSeconds      : 53.0030273

    TotalMilliseconds : 53003.0273

    $gvProps = "Name","config.hardware.numcpu","summary.quickstats.OverallCpuUsage","summary.runtime.powerState"

    Measure-Command {Get-View -viewtype VirtualMachine -Property $Props}

    Days              : 0

    Hours             : 0

    Minutes           : 0

    Seconds           : 3

    Milliseconds      : 548

    Ticks             : 35483428

    TotalDays         : 4.10687824074074E-05

    TotalHours        : 0.000985650777777778

    TotalMinutes      : 0.0591390466666667

    TotalSeconds      : 3.5483428

    TotalMilliseconds : 3548.3428

    Get-View -viewtype VirtualMachine -Property $Props -Filter @{"summary.runtime.powerState"="PoweredOn"}

    Days              : 0

    Hours             : 0

    Minutes           : 0

    Seconds           : 4

    Milliseconds      : 332

    Ticks             : 43328185

    TotalDays         : 5.01483622685185E-05

    TotalHours        : 0.00120356069444444

    TotalMinutes      : 0.0722136416666667

    TotalSeconds      : 4.3328185

    TotalMilliseconds : 4332.8185

    thx

    Max



  • 2.  RE: get-view slow

    Posted Mar 23, 2019 05:29 AM

    The Get-VM cmdlet is optimised, none of the other cmdlets are (afaik).

    Also, with the Get-VM the ExtensionData part is not there immediately.

    If you access properties in there, after a Get-VM, you should notice the execution times increasing.

    In summary:

    • the Get-VM cmdlet is optimised
    • the objects returned by Get-VM and Get-View ViewType VirtualMachine are not the same. You are comparing apples with pears.


  • 3.  RE: get-view slow

    Posted Mar 23, 2019 07:10 PM

    Hi LucD,

    thx for the Answer.

    i'am confused about comparing  "apples with pears".

    there where lot's  topics about this in the Past (get-vm/get-vmhost etc,.. vs get-view).  and i remember i had to change all my Coded to get-view commandings > as they where absolutly fast. which it was.
    To be honest i didn't noticed with which version the normal cmdlets where optimized and get-view went slow,......... i just wondered recently during comparisons

    Example:

    Get-View Part 3: Peformance Impact - Is it really THAT much different? - VMware PowerCLI Blog - VMware Blogs

    i just recognized during multiple  get-view that something not right.  so i checked "UpdateViewData"  which still was slow.  after used the extensiondata,.... that went speedy through.

    but seems that was all Past Story.  i will look to change my code to get-vm

    thx Luc. have good weekend

    thx

    Max



  • 4.  RE: get-view slow

    Posted Mar 23, 2019 07:12 PM

    Just be aware that only Get-VM is optimised that way.

    For all other Get cmdlets it will most probably be faster to use Get-View, and preferably only with the properties you actually need.



  • 5.  RE: get-view slow

    Posted Mar 23, 2019 07:17 PM

    On my "apples and pears" claim, just feed the output of both cmdlets to Get-Member.

    You'll notice that the Get-VM returns a different object than Get-View for the VirtualMachine type.

    In short, the VirtualMachine object that Get-VM produces is a collection of properties that the PowerCLI Dev Team selected.

    The output of Get-View is the complete object as document in the API Reference under VirtualMachine

    An even better view on the differences can for example be obtained by piping the objects in both cases to Format-Custom -Depth 10.

    Watch out, this produces a lot of output (redirect to a .txt file)



  • 6.  RE: get-view slow

    Posted Mar 23, 2019 08:47 PM

    Thank you for the Infos :smileywink: was Helpfully :smileywink: