一.Web前端性能优化
一般来说Web前端指网站业务逻辑之前的部分,包括浏览器加载,网站视图模型,图片服务,CDN服务等,主要优化手段有优化浏览器访问,使用反向代理,CDN等。
1..浏览器访问优化:
(1)减少http请求;
(2)使用浏览器缓存;
(3)启用压缩;
(4)CSS放在页面最上面,JavaScript放在页面最下面;
(5)减少Cookie传输;
2.CDN加速
3.反向代理
二.应用服务器性能优化
应用服务器就是处理网站业务的服务器,网站的业务代码都部署在这里,是网站开发最复杂,变化最多的地方,优化手段主要有缓存,集群,异步等。
1.分布式缓存
(1)频繁修改的数据
(2)没有热点的访问
(3)数据不一致与脏读
(4)缓存可用性
(5)缓存预热
(6)缓存穿透
2.异步操作
3.使用集群
4.代码优化
(1)使用多线程技术提升相应速度,目前主要的Web应用服务器都采用多线程的方式响应并发用户请求,因此网站开发天然就是多线程编程。有一个问题就是,在多线程任务中,如何设置合理的线程数呢?这个主要看我们的任务时什么类型,如果任务都是CPU计算型任务(我们称之为CPU密集型),那么线程数最多不超过CPU内核数,因为启动再多线程,CPU也来不及调度;相反如果是任务需要等待磁盘操作,网络响应(我们称之为IO密集型),那么多启动线程有助于提高任务并发度,调系统吞吐能力,改善系统性能。
(2)资源复用,常见的资源复用情况有单例对象和对象池,对象池包括常见的线程池和数据库连接池这种情况。
减少DNS查询
启用文件压缩
部署浏览器缓存
优化CSS和JavaScript的加载顺序
缩小CSS和JavaScript文件
合并多个CSS文件
合并多个JavaScript文件
部署CSS精灵