title: Redis how to find optimal value for IOCP
body: <p>Currently we are having problem using an application that makes lots of request to a Redis-instance, as the application-cache. </p>
  
  <p>We received all kinds of timeouts on different operations. Like the following:</p>
  
  <pre><code>System.TimeoutException: Timeout performing GET MyKey, inst: 2, mgr: Inactive, 
  queue: 6, qu: 0, qs: 6, qc: 0, wr: 0, wq: 0, in: 0, ar: 0, 
  IOCP: (Busy=6,Free=994,Min=4,Max=1000), 
  WORKER: (Busy=3,Free=997,Min=4,Max=1000)
  </code></pre>
  
  <p>After consulting the documentation we found the following article (<a href="https://github.com/StackExchange/StackExchange.Redis/blob/master/Docs/Timeouts.md" rel="nofollow noreferrer">https://github.com/StackExchange/StackExchange.Redis/blob/master/Docs/Timeouts.md</a>) recommending us to increase the number of WorkerThreads (default value = 4)</p>
  
  <p>How can we find the optimal amount of min/max wokerthreads? Redis recommends starting with 200-300. But this seems high when we compare with the default value of 4. </p>
  
  <p>What could be issues we experience when setting the number too high? Why is this default value as low as 4?</p>