HTTPS/HTTP2 在网络上速度较慢但在本地速度较快

HTTPS/HTTP2 在网络上速度较慢但在本地速度较快

我被要求设置一个更新的、优化的图块服务器,该服务器通过 HTTPS 提供图块(当页面不是 HTTPS 时,Google 已禁用某些地图 API),并且使用 HTTP2 似乎也是正确的做法。

现有服务器是 Apache 2.4.7,带有 mod_python,运行 TileStache(一个 Python 应用程序)来提供图块。新服务器是 Nginx 1.11.3,配置了 SSL 和 HTTP2,并使用 uwsgi 2.0.12 来运行 TileStache,其 TileStache 配置相同。

但客户反映,澳大利亚的新服务器的性能比现有服务器慢。

在使用 Apache ab 本地测试图块加载性能时,现有服务器和新服务器都位于美国,并且来自同一基础架构中的单独服务器,现有 Apache 服务器平均以131毫秒超过三个请求。新的 Nginx 服务器平均提供单个图块115毫秒超过三个请求。

从一台连接到澳大利亚高速 NBN(国家宽带网络)的 14.04 Ubuntu 机器(速度为 100Mbit/s),对现有服务器发出相同的 ab -n 3 请求,平均会产生867毫秒。但新服务器平均返回1562毫秒

客户报告称,在澳大利亚的 ADSL 连接上也有类似的 1-2 秒的响应时间,但这些数据来自 Chrome 开发工具,而不是 ab 测试。

与 HTTP 相比,什么原因会导致 HTTP2 上的 HTTPS 性能下降?

更新

我已经配置了 nginx 来记录请求协议,而 ab 似乎实际上是使用 HTTP/1.0 发出请求。因此,重新考虑使用哪个测试客户端。

我已经设置 h2load 使用 http2 执行 70 个并发请求:

h2load -t2 -c 70 -n 70 -i urls

在同一基础架构的服务器上,我看到:

                     最小值 最大值 平均值 标准差 +/- 标准差
请求时间:2.62ms 15.40ms 7.11ms 3.12ms 72.86%
连接时间:14.94ms 68.85ms 44.32ms 17.95ms 52.86%
到达第一个字节的时间:20.90ms 71.60ms 51.43ms 16.79ms 50.00%
请求/秒:13.95 47.65 22.20 8.99 85.71%

在 NBN 连接的 Ubuntu 机器上,我看到:

                     最小值 最大值 平均值 标准差 +/- 标准差
请求时间:556.58ms 599.88ms 578.16ms 8.85ms 68.57%
连接时间:840.90ms 926.45ms 886.62ms 21.09ms 61.43%
到达第一个字节的时间:1.40s 1.53s 1.46s 29.87ms 61.43%
请求/秒:0.66 0.72 0.68 0.01 61.43%

因此,平均需要 1.5 秒才能看到第一个字节。

相关内容