Skip to content

Comments

Add libcurl multi interface for HTTP connection reuse#127

Draft
copperlight wants to merge 1 commit intoNetflix-Skunkworks:mainfrom
copperlight:libcurl-multi
Draft

Add libcurl multi interface for HTTP connection reuse#127
copperlight wants to merge 1 commit intoNetflix-Skunkworks:mainfrom
copperlight:libcurl-multi

Conversation

@copperlight
Copy link
Collaborator

Implement HttpClientMulti class to enable connection pooling and reuse when publishing metrics to Atlas aggregator services. This provides significant performance improvements for high-throughput scenarios by reducing TCP connection establishment overhead.

Key changes:

  • Add HttpClientMulti with CURLM handle management
  • Implement thread-safe connection pool with configurable limits
  • Update Publisher to use multi interface for batch processing
  • Configure CURLMOPT_MAX_HOST_CONNECTIONS and MAX_TOTAL_CONNECTIONS
  • Enable CURLOPT_FORBID_REUSE=0 for connection reuse

Implement HttpClientMulti class to enable connection pooling and reuse
when publishing metrics to Atlas aggregator services. This provides
significant performance improvements for high-throughput scenarios by
reducing TCP connection establishment overhead.

Key changes:
- Add HttpClientMulti with CURLM handle management
- Implement thread-safe connection pool with configurable limits
- Update Publisher to use multi interface for batch processing
- Configure CURLMOPT_MAX_HOST_CONNECTIONS and MAX_TOTAL_CONNECTIONS
- Enable CURLOPT_FORBID_REUSE=0 for connection reuse
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant