title: One DynamoDB client per service or one DynamoDB client for all services
body: <p>I have a .NET Core Web API that aggregates data from several tables in my DynamoDB.</p>
  <p>There are 5 services that read from a related table (Think customer service, reads from customer table). Each service has it's own DynamoDB client and the services get executed concurrently.</p>
  <p>I am having some issues under load. Basically every now and again a service takes a lot longer to complete its dynamo request. Usually each request is &lt; 50ms but under concurrent load some requests can take up to 1 second.</p>
  <p>I am reproducing this with a load test of 2000 req over period of 45 seconds (~44 req per sec).</p>
  <p>My question is, is this the right design when querying multiple tables? Or should there only be one DynamoDB client doing all the queries? I know DynamoDB client uses HttpClient under the bonnet. Would this be the bottleneck?</p>
  <p>As a side note, the SLAs are usually &lt; 100ms.</p>