网站打开速度一向是网站运营者关注的重要指标。算法的核心就是页面在移动端首屏加载需要控制在2s以内。随着网络的发展,带宽资源的扩充,现在已经很少碰到网页一等就是十几秒尴尬的情景了,虽说如此,但是还有很多站点加载速度超过5秒。本文尝试从多个角度来简单解释提升网站速度的方法。
在优化之前使用iis7网站监控,在对自己网站打开速度进行检查,看是不是已经存在安全方面的问题导致倒开太慢,如果没有,再看下面的方法。
网站内容层面的优化
1、图片的优化。一个网站上的配图是必不可少的,配图通常能更加直观的表达文章的意图。图片当然是越小加载越快,在必要的环节生成缩略图至关重要,比如产品列表页面。页面结构上必须的图片由于无法通过程序生成的,可以通过PS线下处理,合适的尺寸大小、容量大小、分辨率。通常在PS里面存储为web所用格式即可解决。
2、文字的优化。文字优化几乎没什么可说的,最重要的就是字体的选择。因为如果将正文的字体设置成了个性字体,而访问者没有相关字体就多了一步替换为系统默认字体的过程。
3、多媒体的处理。非视频音频站点,尽量不要使用多媒体素材。确需使用的,那么关闭自动播放;用图片替代视频起始界面是一个可靠的选择。
网站程序的优化
程序优化方面的内容非常之多,一个资深的程序员和前端工程师写出来的内容比初学者做内容更加精简和优雅。
1、页面脚本的处理。用新版标准替换老版标准;mete的合理声明;JS的引入合并和加载顺序(如最后加载);尽量不使用iframe(框架如今有多种替代方式);排版标签的正确闭合及合理使用(如正确闭合div直接关系到页面布局是否错乱);样式效果替换图片效果(如border-radius);MIP或AMP的应用;预加载的的使用(如InstantClick)等等。
2、后端程序的优化。针对你采用的语言合理使用应用层面的逻辑错误排除(如死循环,内存溢出);程序的效率提升(如博文:rand()随机的效率问题);缓存的使用(如redis)。框架程序的选择(原生的当然更快,框架牺牲了运行效率提升了开发效率);
web环境的优化
1、数据库的优化。情侣搭配(PHP搭Mysql、C#搭Mssql);数据库调优(缓冲区大小、连接数等);数据表的合理设计(字段类型选择、关联表处理、存储过程等)。
2、web环境的优化。操作系统(根据语言选择合理linux、windows);web服务器的选择(效率方面nginx > apache > iis,当然如果你用C#那么还是windows+IIS为标配了);底层程序的版本选择(如PHP7比PHP5提升的成倍效率,7.2比7.0大幅提升的效率等)。
服务器硬件环境的选择
速度方面购买或租用的硬件服务器 > 云服务器 > VPS > 虚拟主机。硬件服务器的选择按下不表,如今对中小网站最适用的莫过于ECS这类的云服务器了,主要关注的指标为CPU核心数,内存大小,带宽大小(独享),我们仅需关注常规指标即可,至于云服务器自身的稳定性及优化也不是我们所能控制的了的,那是云计算厂商的事情了。
网络的优化
内容分发网络CDN的使用;HTTP/2的使用;解析线路的设置。
其它方面的优化
抗攻击的安全配置;去除代码中的注释(含代码压缩)等各种优化手段和技巧的使用请自行研究探索。