Azure机器学习请求响应延迟

Jrt*_*Pec 8 python azure azure-machine-learning-studio

我做了一个Azure机器学习实验,它采用一个小数据集(12x3数组)和一些参数,并使用一些Python模块进行一些计算(线性回归计算等等).一切正常.

我已经部署了实验,现在想从我的应用程序的前端向它抛出数据.API调用会进入并返回正确的结果,但计算简单的线性回归最多需要30秒.有时它是20秒,有时只有1秒.我甚至一次将它降低到100毫秒(这是我想要的),但90%的时间请求完成超过20秒,这是不可接受的.

我想这与它仍然是一个实验有关,或者它仍然在开发槽中,但是我找不到让它在更快的机器上运行的设置.

有没有办法加快我的执行速度?

编辑:澄清:使用相同的测试数据获得不同的时序,只需多次发送相同的请求即可.这让我得出结论,它必须与我的请求被放入队列有关,有一些启动延迟或我以其他方式受到限制.

Dan*_*SFT 8

首先,我假设您正在对已发布的AML端点进行时序测试.

当对AML进行呼叫时,第一次呼叫必须预热容器.默认情况下,Web服务有20个容器.每个容器都是冷的,冷容器会导致很长(30秒)的延迟.在AML端点返回的字符串中,仅计算将isWarm标志设置为true的请求.通过使用MANY请求粉碎服务(相对于您运行的容器数量),可以使所有容器变暖.

如果您发送了几十个实例请求,则端点可能会受到限制.您可以通过访问manage.windowsazure.com/来调整您的终端可以接受的呼叫数量

  1. manage.windowsazure.com/
  2. 左侧栏中的Azure ML部分
  3. 选择你的工作区
  4. 转到Web服务选项卡
  5. 从列表中选择您的Web服务
  6. 使用滑块调整通话次数

通过在端点上启用调试,您可以获得有关每个模块的执行时间的日志.您可以使用它来确定模块是否未按预期运行,这可能会增加时间.

总的来说,使用Execute python模块时会产生开销,但我希望这个请求在3秒内完成.

  • 你的答案和[本文](http://jiffie.blogspot.be/2015/10/trying-to-figure-out-azure-ml.html)让我理解了这个问题:默认情况下,有20个容器分配哪些都是冷的开始.我没有进行并发调用,并且进行了相当多的更新,所以更常见的是我没有调用其中一个冷容器,这需要大约30秒.只有在确保获得快速响应后才能击中所有容器.为了测试,我降级到4个容器,这意味着我开始4个慢速调用,之后所有容器都是温暖的. (2认同)