VMware {code} Community
PaulSE
Contributor
Contributor

RetrieveDiskPartitionInfo() can be slow

Sometimes our calls to RetrieveDiskPartitionInfo() can take up to two minutes to return even when only one disk is specified.  Other times, it just times out after several minutes.

Any suggestions on what could cause this poor performance?

Thanks!.

0 Kudos
3 Replies
Steve_Jin
Expert
Expert

What server (vCenter or ESX/ESXi) did you connect? What version? What programming language/WS engine did you use? How  did you make the call? It would be nice if you want to share the code snippet.

Also, have you tried open source Java API which is typically several times faster than Apache AXIS based API/SDK? In this particular case, I suspect the performance issue is more related to the server than to the client side API though.

- Steve Jin, author of VMware vSphere and VI SDK http://www.doublecloud.org

Steve JIN Author of VMware VI and vSphere SDK; Creator of open source VI Java API (http://vijava.sf.net); Blogger at http://www.doublecloud.org
0 Kudos
PaulSE
Contributor
Contributor

Steve Jin wrote:

What server (vCenter or ESX/ESXi) did you connect? What version? What programming language/WS engine did you use? How  did you make the call? It would be nice if you want to share the code snippet.

Also, have you tried open source Java API which is typically several times faster than Apache AXIS based API/SDK? In this particular case, I suspect the performance issue is more related to the server than to the client side API though.

- Steve Jin, author of VMware vSphere and VI SDK http://www.doublecloud.org

I'm accessing ESX 3.5.0 using Java.  Here's a code snippet:


for (HostScsiDisk scsiDisk : scsiDisks)
{  
    if (scsiDisk.getCanonicalName().equals(hvvExtent.getDiskName()))
    {
        try
        {
            HostDiskPartitionInfo[] diskPartitions = _service.retrieveDiskPartitionInfo(storageMOR,
                    new String[]{scsiDisk.getDevicePath()});


I have not tried open source Java API.

The server is at a customer site.  What information should we collect from the customer to help determine what could cause retrieveDiskPartitionInfo() to be slow?

Also, would it be quicker to call retrieveDiskPartitionInfo() once per ESX server instead of once per disk?

Thanks!

0 Kudos
AjayL
Contributor
Contributor

Paul,

Were you able to solve this? We are seeing same issue. Any pointers will be appreciated.

Thank you,

Ajay

0 Kudos