ajax - 使用 HTTP2 如何限制并发请求的数量?
问题描述
我们有一个client <-> server
通过 HTTP1.1 工作的系统。客户端正在向服务器发出数百个(有时数千个)并发请求。
因为浏览器对HTTP1.1连接的默认限制客户端实际上是分批(6~8)个并发请求发出这些请求,我们认为如果我们可以增加并发请求的数量,我们可以得到一些性能提升。
我们将系统移动到通过 HTTP2 工作,我们看到客户端同时请求所有请求,如我们所愿。
现在的问题恰恰相反:服务器无法处理这么多并发请求。
我们如何将客户端同时执行的并发请求数量限制为对服务器更易于管理的事情?假设有 50 ~ 100 个并发请求。
我们假设 HTTP2 可以让我们逐渐增加并发连接的数量:
使用 HTTP/2,客户端仍然可以完全控制服务器推送的使用方式。客户端可以限制并发推流的数量;调整初始流控窗口,控制首次打开流时推送多少数据;或完全禁用服务器推送。这些首选项通过 HTTP/2 连接开始时的 SETTINGS 帧进行通信,并且可以随时更新。
也在这里:
O也许,如果可能的话,我们可以在服务器端限制这一点(我认为更易于维护)。
但看起来这些解决方案是在谈论服务器推送,而我们所拥有的是客户端拉取。
如果有任何帮助,我们的架构如下所示:
Client ==[http 2]==> ALB(AWS Beanstalk) ==[http 1.1]==> nginx ==[http 1.0]==> Puma
解决方案
推荐阅读
- python - 哪个元类用于创建具有多个基的类?
- php - 尽管“wait_timeout”减少,但 MariaDB 进程列表中的大量睡眠查询减少了
- c# - Visual Studio Web 应用程序中的 Crystal Report 引发“缺少提示信息”错误
- node.js - Elasticsearch Reindex 丢失了一些记录
- android - 在应用程序最小化的情况下进入 PIP 模式 (Android Studio)
- java - 循环内外的Java变量范围
- wordpress - Debian 10 中 LAMP 的 WordPress 权限问题
- java - 如何显示 Chromecast 介绍屏幕?
- javascript - 如何在 ngoninit 中对 setInterval 进行单元测试?
- javascript - Vue 3.0 How to assign a prop to a ref without changing the prop