问题:我们已经建立了一个CDN提供者作为我们的静态映像文件服务器的代理。几个小时后,我们经历了大量的TCP,SYN下降率和异常高数量的孤立连接。
观察是为了解决这个问题:我捕获了1.5秒的服务器流量,并检查了一些图像下载。令人怀疑的是,nginx --它几乎配置了缺省值--正在响应CDN服务器的FIN数据包,而不是使用FIN/ACK。在nginx的ACK之后,连接端口上会有整整一秒的沉默,这意味着服务器没有什么可以发送的了。由于交通拥堵,我无法捕捉超过1.5秒。
下面是一个示例TCP连接的摘要:
No. Time Source Destination Proto
众所周知的技术是链接资源(CSS,JavaScript,.)由于各种原因使用单独的DNS名称。如下所示:
GET http://stackoverflow.com/
GET http://cdn.sstatic.net/stackoverflow/all.css
(两个不同的域名)
相反:
GET ...
GET http://92.60.242.2/stackoverflow/all.css
(一次DNS查找)
这意味着需要两个DNS查找。难道我们不能用一个IP地址而不是cdn.sstatic.net来保存一个DNS查找吗?
请假设可以从服务器的角度使用IP主机。假设有一个具有专用IP的专用