title: Vertx-java-HttpClient: How to derive maxPoolSize and maxWaitQueueSize values and their impact
body: <p>I have created a one java backend service in <strong>vertx java</strong>. I used <strong>httpClient</strong>(<code>io.vertx.core.http.HttpClient</code>) with <strong>connection pooling enabled</strong> to connect to external services. I am excepting <strong>throughput of 50</strong>. For each request to my service I need to connect to external service. Average response time for my service is 4 seconds and external service is around 3 seconds.</p>
  
  <p>Now my questions are </p>
  
  <ol>
  <li>How can I derive <code>maxPoolSize</code> and <code>maxWaitQueueSize</code> values for HttpClient?</li>
  <li>What is the impact <code>maxPoolSize</code> and <code>maxWaitQueueSize</code> values on memory and cpu?</li>
  <li>What are the maximum values I can set to <code>maxPoolSize</code> and <code>maxWaitQueueSize</code>?</li>
  <li>Should I also use <code>setPipelining</code> option of <code>HttpClient</code>?</li>
  </ol>