我将其更多地作为“探索”问题发布,并计划扩大讨论,以防出现一些兴趣。这背后的原因是,根据我的经验,azure-ml
(和相关的)SO 社区仍在发展中并且没有太多反馈 - 但我很乐意帮助它变得更强大。
我的情况如下:我在 Azure ML 中有一个实验,它在一个R
模块内完成所有工作。我将其作为 Web 服务发布,并将“最大并发调用”滑块设置为 10 - 我相信这可以保证我的 Web 服务在任何时候都会有最多 10 个实例启动并运行,以服务请求(请纠正我如果我错了)。
现在,我正在尝试通过对我的 web 服务发起 10 个并行调用来进行一些性能测试,但得到了意想不到的结果......
我正在尝试运行负载测试并记录它们每个实际到达的位置(哪个实例)。我的想法是了解负载均衡器在一定的最大并发调用数 = X 下,这些调用实际上是如何分配给实例的。我通过从内部调用“bot.whatismyipaddress.com”来做到这一点R
脚本。这是代码的重要片段:
library(rjson)
machine.ip <- readLines("http://bot.whatismyipaddress.com/", warn=F)
result$MachineIP <- machine.ip
此外,我正在使用R
来自 Web 服务 RRS 帮助页面的示例代码来触发对我的 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
从调用(第二个片段)输出到控制台的信息通常显示与来自内部代码日志( )的 IP 地址不同result$MachineIP
...
有人能指出我做错了什么吗,我如何才能唯一地识别为呼叫提供服务的不同实例?任何帮助将非常感激。谢谢!
PS我也试过这个,但是从脚本内部调用它时第一个方法不起作用R
,我正在使用第二个方法的修改版本(建议的那个不起作用)。这也是我的问题,以防有人感兴趣。
如果有人可以帮助或向我指出一些信息来源,我将不胜感激!