具有 1 个并发流的 HTTP2 请求

Posted

技术标签:

【中文标题】具有 1 个并发流的 HTTP2 请求【英文标题】:HTTP2 requests with 1 concurrent stream 【发布时间】:2021-10-12 00:54:35 【问题描述】:

只是为了确认。我有一个简单的 http2 服务器,它会在 1 秒后响应,因此对每个传入请求强制延迟 1 秒。

事实: 将 h2load 与单个并发流 (-m 1) 一起使用,我有 1 个请求/秒。

因此,即使通过异步调度 1 秒延迟来释放 tatsuhiro nghttp2 io 服务,在即时请求得到响应之前不会发送新请求。

这是预期的行为吗?

【问题讨论】:

【参考方案1】:

是的,这是预期的。在 HTTP/2 中,每个请求都通过唯一的流 id 发送。你已经告诉 h2load 一次只能有一个流,所以这就是它正在做的事情。

【讨论】:

谢谢 Barry,我认为我的实现可能存在瓶颈,但不是。

以上是关于具有 1 个并发流的 HTTP2 请求的主要内容,如果未能解决你的问题,请参考以下文章

高并发三个方案

高并发服务限流实践

Java并发编程- 应用限流及其常见算法

http2.0可行性研究

http2多路复用

# 后端接口限流实现