参考: http://blog.csdn.net/jackem/archive/2008/10/21/3118808.aspx
到了这个级别的网站,他的用户必定是面向全国,甚至面向全球,因此网络的优化设计就非常重要。尤其是国内的网络非常差,不同网络运营商之间的互通非常差,以及骨干网的流量目前已经成为瓶颈。根据真实数据测试,即使网站服务器性能非常高,但相当地区的用户体验还是非常差,原因是花在用户机器到服务器之间的网络上的开销占据了整个网页点击到显示在用户机器上的80%以上,甚至有些达95%以上。一个网页显示到用户机器上的时间花费图如下:
http://p.blog.csdn.net/images/p_blog_csdn_net/jackem/EntryImages/20081022/HTTP_Req.jpg
主要分为DNS解析时间,TCP网络建立连接时间,请求URL的网络上行时间,服务器运行URL请求时间, URL响应内容的网络下行时间,以及响应内容在浏览器上的解析上显示时间总共5个部分。
大部分架构师在设计网站的时候都主要考虑的是服务器运行URL请求时间和响应内容在浏览器上的解析上显示时间 这两个因素,往往忽略了网络这个很重要的因素。网络架构不好,即使上面两块做的再好也没用。
而网络优化又要分为几块
1:DNS TTL
设定合适的TTL,也会影响DNS的解析时间
2:网络流量和带宽
数据中心必须配置足够的带宽,以及配置多个数据中心,使用DNS方式返回多个IP,增加网络带宽
3: DNS动态解析
对于不同的用户接入网络,使用DNS返回最接近该用户接入网络的IP,优化网络路由。如用户是杭州电信的,则返回杭州电信的IP给用户的机器;如用户是北京网通的,则返回北京网通的服务器IP给用户的机器,这样数据的传输就不需要经过骨干网,直接在用户的城域网中访问,网络延迟将大大降低。
4:CDN技术
对于静态资源文件,可以在接近用户的城域网的机房中部署服务器,这样当用户下载静态资源时,直接访问本地城域网中的服务器上的资源即可,不用通过骨干网访问数据中心的网络,提高了网络响应速度,同时也降低了数据中心的网络带宽
5: LoadBalance
使用DNS动态多IP功能,数据中心可配置多套LoadBalance系统,增强处理能力以及提高可靠性