HBS3 在执行严苛的备份或同步工作时,若目的地为 OneDrive 或 OneDrive for Business,那么就可能会发生节流情况。如果 HBS3 发生节流情况,将会出现以下任一征兆:
- 显示错误讯息「429 (太多要求)」或「503 (服务无法使用)」。
- 备份或同步工作停止回应,或是工作的状态在经过很长一段时间后仍保持不变。
为何会发生节流?
HBS3 可以透过使用 Microsoft Graph 平台和 API,将 NAS 资料备份或同步到 OneDrive 和 OneDrive for Business。Microsoft Graph 便是为了处理大量要求而设计。若用户端传送的要求数量极为庞大,Microsoft Graph 就会对用户端进行节流,以协助维持最佳的服务效能和可靠性。
节流将会限制用户端的动作数量或并行唿叫数量,藉此防止资源被过度使用。比方说,假设您在 HBS3 上执行 10 项工作,而每一项工作都需要备份或同步 1 TB 的内容,这就可能会导致发生节流。
若在同一台 NAS 上执行多个使用 Microsoft Graph API 的服务(例如 HybridMount、云端 VJBOD 和 HBS3),也可能会触发节流。
处理节流的最佳做法与我们的因应对策
身为独立软体厂商 (ISV),我们遵循 Microsoft 建议的处理节流的最佳做法来减少节流发生,方法如下:
- 减少每个要求的作业数。
- 减少遵循 Microsoft 指令的 API 唿叫频率。
- 以 ISV 识别码装饰 HTTP 流量。
- 采用稍后再试 (Retry-After) 原则,确保移除节流之前使延迟尽可能缩短。
防止或避免节流
经由测试,我们发现防止节流的最佳方式就是将工作安排在离峰时段执行。改为离峰时段后,我们就能再次执行原本有问题的工作,且不再收到 429 和 503 错误讯息。
以下是我们的建议:
- 试着将备份或同步工作安排在离峰营业时段中执行。
- 将大型备份或同步工作分割成几个较小的工作,藉此限制资料传输范围。
- 如果您发现节流发生,请先暂停该工作,稍后再继续执行。