DocuSign.ConnectionPool (DocuSign v3.1.1)
View SourceConnection pooling configuration for high-throughput DocuSign applications.
This module optimizes HTTP connection management by reusing connections and managing pool sizes for better performance under load.
Configuration
Configure connection pools in your application config:
config :docusign, :pool_options, [
size: 10, # Connections per pool (default: 10)
count: 1, # Number of pools (default: 1)
max_idle_time: 300_000, # Max idle time in ms (default: 5 minutes)
timeout: 30_000 # Connection timeout (default: 30s)
]Pool Strategy
Connections are pooled per endpoint:
- Production: pools for
na3.docusign.net,na4.docusign.net, etc. - Sandbox: pools for
demo.docusign.net
Performance Tuning
- size: Number of connections kept open to each endpoint
- count: Number of parallel pools for concurrent request handling
- max_idle_time: How long idle connections stay open
- timeout: Maximum time to establish a connection
Examples
# High-throughput configuration
config :docusign, :pool_options, [
size: 50, # More connections
count: 2, # Multiple pools for concurrency
max_idle_time: 600_000 # Keep connections alive longer
]
# Conservative configuration
config :docusign, :pool_options, [
size: 5,
count: 1,
max_idle_time: 60_000 # Close idle connections quickly
]
Summary
Functions
Get current pool configuration.
Check if connection pooling is enabled.
Get pool health metrics.
Functions
@spec config() :: map()
Get current pool configuration.
Returns the active pool configuration for inspection.
@spec enabled?() :: boolean()
Check if connection pooling is enabled.
Returns true if custom pool options are configured.
@spec health() :: {:ok, map()} | {:error, :not_available}
Get pool health metrics.
Returns connection pool statistics for monitoring.