title: Grpc server scaling (bidirectional infinite streaming)
body: <p>We are building a grpc service in python which has a bidirectional streaming endpoint and also a unary endpoint.</p>
  
  <p>we want the stream to live forever so we have no timeouts and streams are working as expected, we are using kubernates and docker for deployment.</p>
  
  <p>But we are facing issues with scaling the service, how to scale an infinite streaming grpc server, we can't scale based on a number of requests but there is only one request made and data is sent as frames. </p>
  
  <p>how can we scale this service? right now in worker thread pool has max threads as 100.</p>
  
  <p>one quick solution is to give max worker threads a higher number and scale based on CPU load and memory usage.</p>
  
  <p>is there any better way to do it.</p>