2017-06-14 49 views
0

如果正在搜索的虛擬機不存在,返回輸出的延遲大約爲一分鐘。如果正在搜索的虛擬機確實存在,則延遲大約爲兩秒。我知道我正在達到暫停價值,但是有沒有更快的方法可能導致搜索失敗?我們有非常大的vSphere環境,這樣的事情在實驗室中運行良好,但PROD;)pyvmomi中的getobject超時

def getobject(vimtype, name): 
    obj = None 
    container = content.viewManager.CreateContainerView(content.rootFolder, vimtype, True) 
    for c in container.view: 
     if c.name == name: 
      obj = c 
      break 
    return obj 

vm = getobject([vim.VirtualMachine], "vm name") 

print(vm) 

回答

0

我不知道是出於什麼目的正是你所使用pyVmomi(網絡API,GUI,CMD工具), 但請注意,您必須考慮通過其UUID搜索VM的選項,即使環境具有數千個VM,該UUID也會大約需要1-2秒。

當你迭代超過1000個虛擬機並按名稱搜索特定的虛擬機時,你無法逃避等待的時間。

這就好像您將不會對1000個數字進行排序,並且您正在搜索數字658,誰知道該數字在哪裏,以及數組何時增長,時間也在增長。

有通知本代碼:

Searching for VM by UUID