Azure 机器学习请求响应延迟
Azure Machine Learning Request Response latency
我做了一个 Azure 机器学习实验,它采用一个小数据集(12x3 数组)和一些参数,并使用几个 Python 模块(线性回归计算等)进行一些计算。这一切都很好。
我已经部署了实验,现在想从我的应用程序的前端向它发送数据。 API 调用进入并返回正确的结果,但计算简单的线性回归最多需要 30 秒。有时是20秒,有时只有1秒。我什至有一次把它降低到 100 毫秒(这是我想要的),但是 90% 的时间请求需要超过 20 秒才能完成,这是不可接受的。
我想这与它仍然是一个实验有关,或者它仍在开发槽中,但我找不到设置让它在更快的机器上达到 运行。
有没有办法加快我的执行速度?
编辑:澄清一下:不同的时间是使用相同的测试数据获得的,只需多次发送相同的请求即可。这让我得出结论,这一定与我的请求被放入队列有关,有一些启动延迟,或者我以其他方式受到限制。
首先,我假设您正在对已发布的 AML 端点进行计时测试。
当调用 AML 时,第一次调用必须预热容器。默认情况下,Web 服务有 20 个容器。每个容器都是冷的,冷容器会导致很大(30 秒)的延迟。在 AML 端点返回的字符串中,只计算 isWarm
标志设置为 true 的请求。通过使用许多请求(相对于您拥有的容器数量 运行)粉碎服务可以让所有容器变暖。
如果您在一个实例中发送数十个请求,端点可能会受到限制。您可以通过转到 manage.windowsazure.com/
来调整端点可以接受的呼叫数量
- manage.windowsazure.com/
- 左侧栏的 Azure ML 部分
- select 你的工作空间
- 转到网络服务选项卡
- Select 列表中的网络服务
- 使用滑块调整调用次数
通过在端点上启用调试,您可以获得有关每个模块完成的执行时间的日志。您可以使用它来确定模块是否不符合您的预期 运行,这可能会增加时间。
总体而言,使用执行 python 模块时会产生开销,但我希望此请求能在 3 秒内完成。
我做了一个 Azure 机器学习实验,它采用一个小数据集(12x3 数组)和一些参数,并使用几个 Python 模块(线性回归计算等)进行一些计算。这一切都很好。
我已经部署了实验,现在想从我的应用程序的前端向它发送数据。 API 调用进入并返回正确的结果,但计算简单的线性回归最多需要 30 秒。有时是20秒,有时只有1秒。我什至有一次把它降低到 100 毫秒(这是我想要的),但是 90% 的时间请求需要超过 20 秒才能完成,这是不可接受的。
我想这与它仍然是一个实验有关,或者它仍在开发槽中,但我找不到设置让它在更快的机器上达到 运行。
有没有办法加快我的执行速度?
编辑:澄清一下:不同的时间是使用相同的测试数据获得的,只需多次发送相同的请求即可。这让我得出结论,这一定与我的请求被放入队列有关,有一些启动延迟,或者我以其他方式受到限制。
首先,我假设您正在对已发布的 AML 端点进行计时测试。
当调用 AML 时,第一次调用必须预热容器。默认情况下,Web 服务有 20 个容器。每个容器都是冷的,冷容器会导致很大(30 秒)的延迟。在 AML 端点返回的字符串中,只计算 isWarm
标志设置为 true 的请求。通过使用许多请求(相对于您拥有的容器数量 运行)粉碎服务可以让所有容器变暖。
如果您在一个实例中发送数十个请求,端点可能会受到限制。您可以通过转到 manage.windowsazure.com/
来调整端点可以接受的呼叫数量- manage.windowsazure.com/
- 左侧栏的 Azure ML 部分
- select 你的工作空间
- 转到网络服务选项卡
- Select 列表中的网络服务
- 使用滑块调整调用次数
通过在端点上启用调试,您可以获得有关每个模块完成的执行时间的日志。您可以使用它来确定模块是否不符合您的预期 运行,这可能会增加时间。
总体而言,使用执行 python 模块时会产生开销,但我希望此请求能在 3 秒内完成。