【问题标题】:Tensorflow Serving number of requests in queueTensorFlow Serving 队列中的请求数
【发布时间】:2019-12-06 22:32:08
【问题描述】:

我有自己的 TensorFlow 服务服务器,用于多个神经网络。现在我想估计它的负载。有人知道如何在 TensorFlow 服务中获取当前队列中的请求数吗?我尝试使用 Prometheus,但没有这样的选项。

【问题讨论】:

    标签: python-3.x tensorflow prometheus tensorflow-serving


    【解决方案1】:

    实际上,tf serving 没有 requests queue ,这意味着如果请求太多,tf serving 不会对请求进行排序。 tf serving 唯一能做的就是在服务器初始化时分配一个线程池。
    当请求到来时,tf serving 将使用一个未使用的线程来处理该请求,如果没有空闲线程,tf serving 将返回一个不可用的错误。客户端应该稍后重试。 你可以在 tensorflow_serving/batching/streaming_batch_schedulor.h 的 cmets 中找到这些信息

    【讨论】:

    • 感谢您的探索!我对服务进行了一些压力测试,当我每秒发送大约 10 000 个请求时,服务失败并出现错误“错误:14 不可用:此任务提交到的批处理调度队列已满”。你能解释一下吗?跨度>
    【解决方案2】:

    更重要的是,你可以通过--rest_api_num_threads分配线程数或者让它为空并由tf serivng自动配置

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-13
      相关资源
      最近更新 更多