Skip to content

[Utility] Optimize usage of HTTP client for performing relays #837

@adshmh

Description

@adshmh

Objective

Optimize usage of HTTP client, e.g. for connection reuse, by the servicer. This can be very important depending on the volume of relays a servicer is expected to handle.

Origin Document

Part of work on #754

Starting point, from #803:

image

and

image

Goals

  • Investigate settings for optimal performance of HTTP clients (and the underlying Transport in the standard HTTP library of GOLANG): examples include Connection Reuse, Connection Pools, etc.
  • Implement the requied optimization in the servicer when serving the relay.

Deliverable

  • Documentation of the expected volume of relays a servicer should be able to handle, possibly defined as multiple SLAs.
  • Documentation of the optimizations deemed necessary to achieve the expected performance
  • Updating the code of servicer and other related components.

Non-goals / Non-deliverables

General issue deliverables

  • Update any relevant local/global README(s)
  • Update relevant source code tree explanations
  • Add or update any relevant or supporting mermaid diagrams

Testing Methodology

  • Task specific tests or benchmarks: make ...
  • New tests or benchmarks: make ...
  • All tests: make test_all
  • LocalNet: verify a LocalNet is still functioning correctly by following the instructions at docs/development/README.md
  • k8s LocalNet: verify a k8s LocalNet is still functioning correctly by following the instructions here

Creator: @adshmh
Co-Owners: @Olshansk

Metadata

Metadata

Assignees

Labels

utilityUtility specific changes

Type

No type

Projects

Status

Backlog

Relationships

None yet

Development

No branches or pull requests

Issue actions