抛开网络层,用户访问互联网产品所得到的所有内容,都由系统层生成并返回给用户,所以系统层的各个环节也决定了速度的快慢
压缩优化
Gzip压缩对基础页和文本文件的加速度有着质的飞越,甚至直接影响首屏速度,可以压缩85%。
缓存优化
无论前端,后端,终端,都需要将最热的数据cache在第一层,并要设计多级缓存,对于冷数据或者搜索数据的索引,不会频繁更新,一般放在二级缓存。
1 .http缓存
2 .DNS缓存
3 .应用缓存:缓存数据库中查询的结果,减少数据库的压力。通常来说web的性能出现在DB IO上,做好数据查询缓存,减少数据库的查询次数,可以极大的提高响应时间。通过分析rails,mysql的日志,重点分析慢查询以及针对慢查询进行重点缓存
分离优化
对应用进行静态剥离,使用最优静态架构,服务器和OS配置,动态做域名收敛
1 .服务分离和模块化是所有大型网站必须经历的过程,有一定的用户规模的产品都需要针对业务类型进行模块化和剥离
2 .拆分的原则:按照业务划分,按照应用划分
内核优化
跟应用场景,通过修改linux的内核相关参数达到醉倒系统网络速度和并发能力
传输优化
TCP拥塞算法是为了防止网络的拥塞现象,tcp推出了一系列的拥塞控制机制,防止网络吞吐量大导致的堵塞
并发优化
浏览器的并发请求数目是针对同一个域名的,即同一时间针对同一域名下的请求有一定的数量限制,超过限制数目的请求会被阻塞,导致页面加载缓慢
隔离优化
隔离不必要的Cookie,减少cookie请求带来的影响
1 .单独的域名,他的请求不受cookie大小和个数的限制,而且每次客户端和服务端之间进行交互的时候,不会在有cookie进行传输,降低了请求的大小
网卡优化
硬件优化
1 .CPU
2 .内存
3 .磁盘IO
4 .网络
5 .静态应用:网络带宽瓶颈,小文件的随机读取频繁,内存不足的时候磁盘IO量变大,浪费cpu,存储带宽瓶颈
6 .动态应用:
7 .硬件定制化的趋势:配合自己的企业,生产适合自己的服务的硬件,facebook.