【发布时间】: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