From d22e253127913d153b891861baff714218a638eb Mon Sep 17 00:00:00 2001 From: sbansla Date: Mon, 9 Oct 2023 20:31:17 +0530 Subject: [PATCH] chore: increased default number of total connections and connection per route --- src/main/java/com/twilio/http/NetworkHttpClient.java | 10 ++++++++-- src/main/java/com/twilio/http/ValidationClient.java | 10 ++++++++-- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/twilio/http/NetworkHttpClient.java b/src/main/java/com/twilio/http/NetworkHttpClient.java index ce0241b2da..0088365ad9 100644 --- a/src/main/java/com/twilio/http/NetworkHttpClient.java +++ b/src/main/java/com/twilio/http/NetworkHttpClient.java @@ -69,8 +69,14 @@ public NetworkHttpClient(final RequestConfig requestConfig, final SocketConfig s PoolingHttpClientConnectionManager connectionManager = new PoolingHttpClientConnectionManager(); connectionManager.setDefaultSocketConfig(socketConfig); - connectionManager.setDefaultMaxPerRoute(10); - connectionManager.setMaxTotal(10 * 2); + /* + * Example: Lets say client has one server. + * There are 4 servers on edge handling client request. + * Each request takes on an average 500ms (2 request per second) + * Total number request can be server in a second from a route: 20 * 4 * 2 (DefaultMaxPerRoute * edge servers * request per second) + */ + connectionManager.setDefaultMaxPerRoute(20); + connectionManager.setMaxTotal(100); client = clientBuilder .setConnectionManager(connectionManager) diff --git a/src/main/java/com/twilio/http/ValidationClient.java b/src/main/java/com/twilio/http/ValidationClient.java index 6cdb01b915..4dd8841609 100644 --- a/src/main/java/com/twilio/http/ValidationClient.java +++ b/src/main/java/com/twilio/http/ValidationClient.java @@ -145,12 +145,18 @@ public ValidationClient(final String accountSid, final PoolingHttpClientConnectionManager connectionManager = new PoolingHttpClientConnectionManager(); connectionManager.setDefaultSocketConfig(socketConfig); - + /* + * Example: Lets say client has one server. + * There are 4 servers on edge handling client request. + * Each request takes on an average 500ms (2 request per second) + * Total number request can be server in a second from a route: 20 * 4 * 2 (DefaultMaxPerRoute * edge servers * request per second) + */ + connectionManager.setDefaultMaxPerRoute(20); + connectionManager.setMaxTotal(100); client = HttpClientBuilder.create() .setConnectionManager(connectionManager) .setDefaultRequestConfig(requestConfig) .setDefaultHeaders(headers) - .setMaxConnPerRoute(10) .addInterceptorLast(new ValidationInterceptor(accountSid, credentialSid, signingKey, privateKey, algorithm)) .setRedirectStrategy(this.getRedirectStrategy()) .build();