网站的划分一般为二:前端和后台。我们可以理解成后台是用来实现网站的功能的,比如:实现用户注册,修改密码,为文章发表评论等等。而前端呢?其实应该是属于功能的表现。影响用户访问体验的绝大部分都来自前端页面,本文将提供一个优化网页性能的大概思路。
网站性能优化
1.减少HTTP访问请求
HTTP协议是无状态应用程序层协议,也就是说,需要为每个请求的数据传输建立通信链接。在服务器端,每个HTTP需要启动一个独立的线程进行处理,这将严重影响服务器性能。降低了响应速度,因此我们需要减少HTTP请求的数量以提高访问性能。
减少HTTP的主要方法是合并CSS,JavaScript和图片,将浏览器一次访问所需的JavaScript和CSS合并到一个文件中,然后将多张图片合并为一张图片。这样可以减少HTTP访问请求并实现访问优化。影响。
2.使用浏览器缓存
对于网站而言,更新静态资源(如徽标,CSS,JavaScript和图标)的频率非常低。这些请求对于每个HTTP请求都是必不可少的元素,因此您可以在HTTP标头中使用Cache-Control和Expires属性。设置浏览器应缓存的天数。
在某些时候,网站的静态资源文件需要修改。此时,对于尚未进行优化的用户,必须先修改静态资源,然后再清除缓存。技术真的很糟糕)。显然,对于并发性较大的网站,您无法执行此操作,这将严重影响性能。合理的方法是更改文件名实现。
3.启用压缩
在服务器端压缩文件以减少传输的数据量,但是压缩将对服务器的性能产生一定的影响。如果带宽足够大且服务器资源不足,则必须考虑这些折衷。
应用服务器性能优化
1.使用缓存技术
最常用的一个是Memcache,它使用libevent事件处理,因此具有更好的性能,但是他不支持持久性,并且数据存储在内存中,但是现在我们可以使用Couchbase集群来确保数据的持久性。
2.异步运行
从上图可以看出,不使用消息队列,数据被直接写入数据库。在这种高并发情况下,它将对数据库造成巨大压力,并增加响应延迟。在使用消息队列的情况下,将用户请求的数据发送到消息队列,然后立即返回,然后将消息队列异步写入数据库,因为消息队列的处理速度比数据库,因此可以有效地改善用户的响应延迟。
3.使用集群
在高并发的情况下,该网站使用负载均衡技术为一个应用程序构建一个由多个服务器组成的集群,并将并发请求分发到多个服务器进行处理,从而可以有效避免单节点压力的情况。
4.代码优化
劣质代码对服务器性能的影响也很大。我在代码中遇到了一个无限循环,这导致系统负载过高并严重降低了服务器性能。因此,代码优化很重要。可以从以下几个方面考虑
使用HTTP/2。比如,精灵图是由很多小图片组成的一张大图片,可以减少http请求。但是却难以缓存,修改一个小图片,导致所有小图片缓存失效。HTTP/2,一个链接内可以发起多个请求,便无需使用精灵图。