【问题标题】:Uniquely identify instances of VMs (Azure ML - web services)唯一标识 VM 实例(Azure ML - Web 服务)
【发布时间】:2015-12-17 13:13:29
【问题描述】:

我将此更多地作为一个“探究”问题发布,并计划扩大讨论,以防出现一些兴趣。这背后的原因是,根据我的经验,azure-ml(及相关)上的 SO 社区仍在发展,没有太多反馈 - 但我很乐意帮助它变得更强大。

我的情况如下:我在 Azure ML 中有一个实验,它在 R 模块中完成所有工作。我将其作为 Web 服务发布,并将“最大并发调用”滑块设置为 10 - 我相信这可以保证我的 Web 服务在任何时候最多有 10 个实例启动并运行,以服务请求(请纠正我如果我错了)。

现在,我正在尝试通过对我的网络服务发起 10 个并行调用来进行一些性能测试,但得到了意想不到的结果...

我正在尝试运行负载测试并记录每个测试实际到达的位置(哪个实例)。我的想法是在一定的最大并发调用数 = 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 服务的不同实例。从调用(第二个 sn-p)到控制台的信息通常显示与来自内部的 IP 地址不同的 IP 地址 -R-代码日志 (result$MachineIP)...

有人能指出我做错了什么吗?我怎样才能唯一地识别为呼叫提供服务的不同实例?任何帮助将非常感激。谢谢!

附:我也尝试过this,但是当从R 脚本内部调用它时,第一个apporach 不起作用,我使用的是第二个apporach 的修改版本(建议的那个不起作用)。 Here 也是我在 Azure 论坛上的 questions,以防有人感兴趣。

如果有人可以帮助或向我指出一些信息来源,我将不胜感激!

【问题讨论】:

    标签: r web-services azure azure-machine-learning-studio


    【解决方案1】:

    感谢 Azure ML 论坛上的一些人,这个问题得到了解决,所以 我将为任何登陆这里以寻找答案的人发布答案...

    简短的回答是否定的,这是不可能的。更详细的版本是:
    “从 R 脚本中,您无法识别内部 AzureML IP 地址或唯一的 Web 服务实例。当您从 R 脚本向外部 URL 进行外部网络调用时,该 URL 将看到 AzureML 公共虚拟 IP 之一作为源 IP。这些是负载均衡器的 IP,而不是物理运行 Web 服务的机器的 IP。AzureML 在后端动态分配 R 引擎的实例,处理故障,并使用多个节点来运行 Web 服务可用性。给定 Web 服务的确切布局无法以编程方式发现。"
    这也是原始讨论的link

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多