我们如何确定 Azure 搜索服务的繁忙程度?
How can we determine HOW busy an Azure Search Service is?
我们正在使用 .NET SDK 将数据上传到我们的 Azure 搜索服务。如果我们开始收到 HTTP 207 响应,我们已经有了自动后退的逻辑,一旦我们收到 HTTP 503 响应,甚至更进一步。
我看到的问题是……它看起来像一个黑盒子。我想知道 搜索服务有多忙,这样我们就不会因为在重试特定数据上传之前没有等待足够长的时间而进一步造成问题。我们能否获得有关 Azure 搜索服务状态、繁忙程度等的任何类型的诊断信息?我们能否获得在接收到 207 和 503 时可以使用的任何类型的诊断信息,以便我们可以自动等待 # 秒或分钟(根据搜索服务报告的繁忙程度动态计算),这样我们就可以最有效地启动在搜索服务真正准备就绪时发送更多数据?
谢谢,
安德烈斯
由于您使用的是 .NET SDK,因此您已经在 503 上具有重试行为。 SDK 默认采用指数退避策略。您必须自己处理的唯一重试案例是 Index
API.
返回的 207
Azure 搜索中目前没有 API 来主动衡量搜索服务的繁忙程度。假设您使用的不是免费服务,那么您的搜索服务的所有容量都专供您使用。您的搜索服务不会知道它什么时候不再繁忙,因为这完全取决于您的应用程序对其施加的负载。这就是为什么我们建议在重试时采用指数退避策略。
如果想看SDK的指数重试策略是如何实现的,可以review the code on GitHub.
我们正在使用 .NET SDK 将数据上传到我们的 Azure 搜索服务。如果我们开始收到 HTTP 207 响应,我们已经有了自动后退的逻辑,一旦我们收到 HTTP 503 响应,甚至更进一步。
我看到的问题是……它看起来像一个黑盒子。我想知道 搜索服务有多忙,这样我们就不会因为在重试特定数据上传之前没有等待足够长的时间而进一步造成问题。我们能否获得有关 Azure 搜索服务状态、繁忙程度等的任何类型的诊断信息?我们能否获得在接收到 207 和 503 时可以使用的任何类型的诊断信息,以便我们可以自动等待 # 秒或分钟(根据搜索服务报告的繁忙程度动态计算),这样我们就可以最有效地启动在搜索服务真正准备就绪时发送更多数据?
谢谢, 安德烈斯
由于您使用的是 .NET SDK,因此您已经在 503 上具有重试行为。 SDK 默认采用指数退避策略。您必须自己处理的唯一重试案例是 Index
API.
Azure 搜索中目前没有 API 来主动衡量搜索服务的繁忙程度。假设您使用的不是免费服务,那么您的搜索服务的所有容量都专供您使用。您的搜索服务不会知道它什么时候不再繁忙,因为这完全取决于您的应用程序对其施加的负载。这就是为什么我们建议在重试时采用指数退避策略。
如果想看SDK的指数重试策略是如何实现的,可以review the code on GitHub.