SPDY 多路复用使请求比 HTTP 慢

SPDY multiplexing makes requests slower than HTTP

我有一个应用程序混合了网络请求、一些小项目 (~20kB) 和一些大项目 (>2mB)。如果我对 SPDY 的理解是正确的,那么 SPDY 会在同一个连接上多路复用请求,因此如果较小的请求落后于较大的请求,它们可能会减慢速度。由于 OkHttp 还不支持请求的优先级排序,我能做些什么来防止这种情况发生?

我尝试对小请求使用 OkHttp 客户端,对较大请求使用另一个 OkHttp 客户端,但这似乎无法解决问题,因为连接似乎是跨客户端共享的。

SPDY 中的多路复用交错请求和响应,因此不会有任何调用阻塞另一个调用;它们都只是阻塞可用带宽。

也就是说,可以创建两个 OkHttp 个实例,每个实例都有自己的连接池。

OkHttpClient okHttpClient = new OkHttpClient();
okHttpClient.setConnectionPool(new ConnectionPool());