1 .数据接口与监控:前后端分离导致现在的解决方案都是先等页面加载之后在通过接口获取json数据并在前端页面进行渲染,极大地提升了第一次加载页面的顺序,一张页面中完整渲染的数据不能过多的来自一个接口,所有的数据收敛到单一的接口服务,一遍进行统计和监控
2 .延迟:消息或分组从起点到终点所经历的时间
1.传播延迟:消息从发送端到接收端需要的时间。是一个距离和速度的函数
2.传输延迟:消息中所有比特转移到链路层需要的时间
3.处理延迟:处理分组首部,检查位错误以及正确分组目标所需要的时间
4.排队延迟:到来的分组排队需要处理的时间
5.当分组到达的速度达到了路由处理的能力,那么分组就需要在入栈缓存排队。按照理论,路上遇到的路由越多,那么分组的处理能力和传输延迟越多,网络越是拥挤,分组在入栈缓存的中被延迟的可能性越大-5.1缓存区爆满。为了避免丢包,路由器会配备很大的入栈缓存区,但是该方法破坏了TCP的拥塞预防机制
6.最后一公里:这里的延迟与提供商,部署方法,网络拓扑,甚至一天中的哪个时段都有很大的关系。
3 .带宽:网络核心的带宽,采用波分复用技术,光纤可以同时传输很多不同的波长。所以不是最主要的因素
4 .移动网络的优化
1.节约用电,想到应用的电量消耗。
2.消除周期性以及无效的数据传输:尽可能的采用websocket技术以降低延迟和协议消耗,极可能的不使用轮询和消耗资源的xhr技术
3.消除不必要的长连接
4.预测网络延迟上限,在移动网络中,一个http请求很可能会导致长达几百或者几千毫秒的网络延迟
5.考虑rrc状态切换:无线资源控制
6.解耦用户交互和互联网信息。即使底层连接满或者请求时间长,通过在ui层提供及时的反馈优势也能让人觉得速度很快。不要把用户交互和信息通信联系的太多紧密。
7.距离信号塔的远近,活跃用户的多少,环境的冲突,都要考虑到。
8.除了考虑吞吐量和延迟之外,还要考虑连接中断。要把连接中断作为常态而不是例外。
9.渐进加载资源在移动应用中弊大于利,每次只加载一点数据会导致应用的吞吐量和延迟都摇摆不定,移动无线专门为爆发性的应用传输做过优化,就是应该尽快和快的下载数据。
10.预先加载的数据是哪些?
11.尽量使用wifi联网。
12.任何复杂的系统,性能优化很大一部分就是把不同层之间的交互分解开来,弄清楚每一层交互的约束和显示。
5 .IDC故障
1.历史遗留瓶颈:由于运营商基础架构更新较慢,骨干网络电信,网通在繁忙的时段平均利用率超过80%。由于负荷重,上层链路拥塞是家常便饭,跨运营商问题层出不穷
2.突发性,人为性:大型集会,人群密集的时候很容易出现网络波动
3.政治色彩:每当发生重大事件,都会对网络做出较大的调整和过滤,造成网络不稳定。
6 .用户的分布:需要布置大量的cdn
网络优化
IDC优化
1 .一种机房资源,向用户提供标准化的数据存放业务以及相关的服务,用户可以通过数据中心的主机托管,主机租赁,虚拟主机等服务,利用数据中心的力量搭建自己的互联网技术平台
2 .全国分为核心层(和国际之间的网络接轨),大区层两个部分(大区之间的信息交换)
3 .IDC主要提供主机托管和带宽租赁
4 .大型企业要跟着用户人数走
ISP优化
1 .跨网访问速度慢2-3倍,电信跨网访问联通最严重,同运营商跨省解析是有递减效应的。
CDN优化
1 .使用户就近取得所需的内容
2 .CDN选点:一线>二线>三线,当然要持续监测这些节点的质量
3 .CDN节点解析:CDN服务商从测试阶段,签约前期,签约中后期给出的节点是不一样的,要时刻监测CDN节点的解析情况,及时对不合理的解析做优化。
4 .重点监视对CDN的重要性:建立cdn实时质量监测体系,从cdn节点分布,cdn解析策略,优化前后质量对比,以省份,城市,可用率三个维度进行秒级的监控,随时发现运营商节点级别的错误
BGP优化
1 .运营商协议优化
DNS优化
1 .互联网上作为域名和IP地址向互印射的一个分布式数据库,能够使用户更加方便的通过域名访问互联网
2 .遇到的体验问题
1.本地缓存:各运营商确保网内用户访问,减少跨网结算,运营商在网内搭了内容缓存服务器,通过把域名强行指向和内容缓存服务器。
2.内容劫持:部分localDNS会把部分域名解析指向内容缓存,并替换成第三方广告联盟的广告,PC环境的客户端存在大量的恶意劫持现象
3.解析转发:运营商的localDNS还存在解析转发的现象。解析转发是指运营商自身不进行域名递归解析,而是把域名解析请求转发到其他运营商的递归DNS上面,解析请求的来源IP成了其他运营商的IP,最终导致跨网而使用户访问变慢
3 .TDO解析数据:DNS以TDO为依据,将用户解析到对应的运营商和服务器,保证最佳的服务器服务最近的用户
1.IP库:IP地址段与地域信息的印射关系。
2.IP段-区域印射库,就是讲IP段信息按照一定的层次,组织成不同的区域,相邻之间的区域之间有着细化和泛化的关系
4 .HttpDns:使用http协议向dns服务器的80端口进行请求,代替传统的dns协议。
5 .GSLB:是现在全域服务器上的流量调配,保证最佳的服务器服务离自己最近的客户,保证访问质量