带有 CDN 的域名延迟较高
我的服务器存在延迟问题,这些是我使用 blitz.io 进行的测试
延迟专辑
https://i.stack.imgur.com/nKV1r.jpg
我本来想在这里上传图片,但是需要 10+ 代表,并且不能发布多个链接,所以我在 imgur 上的相册中上传了图片。
我的域名托管于Cloudflare CDN。我正在主持基于云 SSD 的托管、DigitalOcean。
服务器延迟曾是没有流量时约为 40 毫秒。
服务器延迟使用 CDN现在约为270毫秒
服务器延迟无 CDN约为300毫秒
我之前在 Windows Azure 上托管,
潜伏没有交通约为70毫秒
潜伏交通拥堵约为210毫秒
尽管 DigitalOcean 上的延迟较高,但我的内容加载速度比 Windows Azure 服务器快得多。
旧 Azure 服务器,相册
imgur.com/a/fpHK9
我无法发布超过 2 个链接,c/p 在浏览器中
DigitalOcean Server 上没有配置防火墙,Microsoft Azure 服务器上是默认的 Azure FW,带有端点的配置。
内容
有效载荷大小
图片~156 KB
CSS ~12 KB
徽标 ~20 KB
每个页面加载随机内容 浏览量 4KB
已加载的随机内容总大小为 116 KB
总计约 300KB,全部托管在 CDN 上。并非所有内容都会一次性加载。
Cloudflare 统计数据、相册
imgur.com/a/qxnbo
我无法发布超过 2 个链接,c/p 在浏览器中
使用 Firefox、相册进行网络分析
https://i.stack.imgur.com/8z16E.jpg
页面加载完成后再加载内容。
记忆
服务器正在运行lighttpd。
记忆
XXX@XXX:~# free -h
total used free shared buffers cached
Mem: 995M 835M 159M 0B 150M 471M
-/+ buffers/cache: 214M 780M
Swap: 1.0G 26M 997M
顶部
top - 14:29:13 up 21 days, 1:00, 1 user, load average: 0.00, 0.04, 0.05
Tasks: 95 total, 1 running, 94 sleeping, 0 stopped, 0 zombie
%Cpu(s): 3.0 us, 1.4 sy, 0.0 ni, 94.3 id, 0.7 wa, 0.0 hi, 0.7 si, 0.0 st
KiB Mem: 1019056 total, 856144 used, 162912 free, 153748 buffers
KiB Swap: 1048572 total, 27084 used, 1021488 free, 482660 cached
Droplet 已开启1Gbit共享连接。
連接
当发出 netstat -n 时,我数出大约有 620 个 TIME_WAIT/ESTABLISHED 连接
当发出 netstat -n | grep 'ESTABLISHED' 时,我计算出大约 120 个连接
100MB 测试
100MB下载测试
XXX@XXX:~# wget speedtest.london.linode.com/100MB-london.bin
--2013-09-05 14:35:08-- speedtest.london.linode.com/100MB-london.bin
Resolving speedtest.london.linode.com (speedtest.london.linode.com)... 176.58.107.39, 2a01:7e00::4b
Connecting to speedtest.london.linode.com (speedtest.london.linode.com)|176.58.107.39|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 104857600 (100M) [application/octet-stream]
Saving to: ‘100MB-london.bin’
100%[===================================================================================================>] 104,857,600 8.46MB/s in 11s
2013-09-05 14:35:19 (9.47 MB/s) - ‘100MB-london.bin’ saved [104857600/104857600]
100MB上传测试
我创建了另一台服务器,并从第一台服务器下载了相同的 100MB 文件
XXX@XXX:~# wget domain_with_no_cdn.com/test/100MB-london.bin
--2013-09-05 12:38:00-- domain_with_no_cdn.com/test/100MB-london.bin
Resolving domain_with_no_cdn.com (domain_with_no_cdn.com)... Server_IP
Connecting to domain_with_no_cdn.com (domain_with_no_cdn.com)|Server_IP|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 104857600 (100M) [application/octet-stream]
Saving to: `100MB-london.bin'
100%[=======================================================================================>] 104,857,600 13.4M/s in 6.1s
2013-09-05 12:38:07 (16.5 MB/s) - `100MB-london.bin' saved [104857600/104857600]
通过 CDN 进行 100MB 上传测试
XXX@XXX:~# wget domain_over_CDN.com/test/100MB-london.bin
--2013-09-05 12:44:26-- domain_over_CDN.com/test/100MB-london.bin
Resolving domain_over_CDN.com (domain_over_CDN.com)... 108.162.200.169, 141.101.127.168
Connecting to domain_over_CDN.com (domain_over_CDN.com)|108.162.200.169|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 104857600 (100M) [application/octet-stream]
Saving to: `100MB-london.bin'
100%[=======================================================================================>] 104,857,600 12.5M/s in 11s
2013-09-05 12:44:37 (8.96 MB/s) - `100MB-london.bin' saved [104857600/104857600]
您能告诉我我的设置可能存在哪些问题吗?
您能否给我提供一些教程或链接,让我可以了解如何平衡服务器之间的负载,或者我到底需要做什么才能将延迟控制在 100 毫秒以下。
第二天,测试
我联系了 Cloudflare 支持,他们解决了我所在国家/地区的问题,但并非所有服务器都报告延迟低于 100 毫秒。
我在相册中发布了新照片
imgur.com/a/xajge
我无法发布超过 2 个链接,c/p 在浏览器中
从图 2 中可以看出,美国 CDN 域上的服务器仍然存在问题。我猜想它们遇到的问题是由于最近几周硬件更新造成的,但我想知道如何将我自己的服务器的延迟降低到 100ms 以下。
我正在划分像素 ping 服务器和数据服务器,希望这样可以降低一些延迟。
如果有人能提供任何可以解决我的问题的指导,我将不胜感激:)