web网站性能优化

1 web前端的性能优化

1.1浏览器访问优化

1.1.1 监测http请求

  主要手段:合并css,js,图片

1.1.2 使用浏览器缓存

  主要手段:缓存css,js,logo;当静态文件变化时,应该批量更新,集中更新缓存,造成服务器负载聚增、网络堵塞;

        设置http头部Cache-Control 和Expires属性

1.1.3 启用压缩

  主要手段:对静态文件css,js,html启用GZip压缩,但是对于图片尽量不要压缩;

1.1.4 css放在页面最上面、js放到页面最下面

1.1.5 减少Cookie传输

1.2 CDN加速

  内容分发网络,将数据缓存在离用户最近的地方,使用户以最快速度获取数据

1.3 反向代理

  代理服务器保证安全,还可以设置缓存功能加速web请求

2.应用服务器性能优化

2.1 分布式缓存

2.1.1 缓存的基本原理

  缓存指保存在访问速度较高的存储介质中,同时也避免可重复计算

2.1.2合理使用缓存

  频繁修改的数据

  没有热点的访问

  数据不一致与脏读:缓存要设置失效时间

  缓存可用性:分布式部署缓存服务器,一台服务器出现问题时,不至于缓存失效,导致数据库访问压力聚增

  缓存预热:热点数据,利用LRU(最近最久未用算法)对不断访问的数据筛选淘汰

  缓存穿透

2.1.3 分布式缓存架构

  JBoss Cache 更新同步的分布式缓存

  Memcached  不互相通信的分布式缓存

2.2 异步操作

  消息队列,异步

2.3 集群

  在高并发的情况下,使用负载均衡技术,为一个应用搭建多台服务器集群,可以避免单一服务器压力过大

2.4 代码优化

  2.4.1 多线程

    对象设计为无状态,使用局部对象,并发访问资源时使用锁

  2.4.2 资源复用

    减少资源开销大的创建和销毁,如数据库连接,网络通信连接、线程、复杂对象等。两种方式,单例和对象池

  2.4.3 数据结构

    原始字符串-md5->信息指纹-hash计算->HashCode

  2.4.4 垃圾回收   

3.存储服务器性能优化

  3.1机械硬盘和固态硬盘

  3.2 B+树 LSM树

  3.3 RAID 和HDFS

猜你喜欢

转载自www.cnblogs.com/myvic/p/9290971.html