簡體   English   中英

唯一標識VM實例(Azure ML-Web服務)

[英]Uniquely identify instances of VMs (Azure ML - web services)

我將其更多地發布為“探針”問題,並計划擴大討論范圍,以防萬一。 這背后的原因是,根據我的經驗,關於azure-ml (及相關)的SO社區仍在發展,反饋不多-但是我很樂意幫助它變得更強大。

我的情況如下:我在Azure ML中進行了一個實驗,該實驗在R模塊中完成了所有工作。 我將此發布為Web服務,並將“最大並發調用數”滑塊設置為10-我相信這可以保證我隨時可以運行並運行最多10個Web服務實例(請更正我)如果我錯了)。

現在,我試圖通過觸發10個對我的Web服務的並行調用來進行一些性能測試,但是得到了意外的結果...

我正在嘗試運行負載測試並記錄它們實際到達的位置(哪個實例)。 我的想法是了解在某些最大並發調用數= X下,負載均衡器如何將這些調用實際分配給實例。我是通過從內部觸發對“ bot.whatismyipaddress.com”的調用來實現的R腳本。 這是代碼的重要片段:

library(rjson)
machine.ip <- readLines("http://bot.whatismyipaddress.com/", warn=F)
result$MachineIP <- machine.ip

此外,我正在使用Web服務RRS幫助頁面中的示例R代碼來觸發對我的Web服務的多達70個(順序)調用。 此示例代碼將一些信息返回到控制台:我的Web服務的結果以及有關呼叫通過的主機名的一些信息。 這是一個示例:

* Hostname was NOT found in DNS cache
*   Trying 40.114.242.9...
* Connected to europewest.services.azureml.net (40.114.242.9) port 443 (#0)

我面臨的困難是我無法唯一地標識 Web服務的不同實例。 從呼叫到控制台的信息輸出(第二個片段)通常顯示與內部R代碼日志( result$MachineIP )不同的IP地址...

有人可以指出我做錯了什么,如何才能唯一標識正在處理呼叫的不同實例? 任何幫助將非常感激。 謝謝!

PS我也嘗試過方法,但是從R腳本內部調用第一個方法時,第一個方法不起作用,而我正在使用第二個方法的修改版(建議那里的方法不起作用)。 如果有人感興趣, 也是我在Azure論壇上的問題

如果有人可以幫助或指出一些信息來源,我將不勝感激!

感謝Azure ML論壇上的一些人,此問題得以解決,因此,我將為在此登陸的任何人發布答案以尋找一些答案...

簡短的答案是不,這是不可能的。 更詳細的版本是:
“從R腳本中,您無法識別內部AzureML IP地址或唯一的Web服務實例。當您從R腳本到外部URL進行外部網絡調用時,該URL將其中一個AzureML公共虛擬IP視為源IP,這些是負載平衡器的IP,而不是物理上運行Web服務的計算機的IP AzureML動態地在后端分配R引擎的實例,處理故障,並使用多個節點來運行Web服務,對於給定的Web服務,這些的確切布局無法通過編程方式發現。”
這也是原始討論的鏈接

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM