Improve throughput and concurrency with HTTP/2
Blog post from Vespa
Vespa, a search and recommendation engine, has integrated HTTP/2 support to enhance performance and efficiency, particularly for search and feed endpoints. HTTP/2 addresses performance limitations of HTTP/1.1 by enabling features like header compression and multiplexing, which allow for more efficient network usage and reduced latency. It also improves security by requiring newer versions of Transport Layer Security (TLS). With HTTP/2, Vespa can handle significantly more concurrent requests with lower CPU utilization, achieving up to 225,000 requests per second under optimal conditions. The inclusion of HTTP/2 allows for efficient data feeding through the /document/v1 REST API, which was previously less capable than Vespa's internal custom-protocol API. The new protocol facilitates high-throughput asynchronous operations and simplifies the implementation of feed clients. Vespa's HTTP/2 support is enabled by default on version 7.425 or newer, and users are encouraged to configure their systems to take advantage of this upgrade for better performance and throughput.