《大型网站技术架构》-读书笔记三:高性能架构

一、网站性能测试

1、开发人员视角的优化手段:

  1)使用缓存加快数据读取

  2)使用集群提高吞吐能力

  3)使用异步消息加快请求响应及实现消峰

  4)代码优化手段改善程序性能

2、性能测试指标

  1)响应时间:是系统最重要的性能指标,直观的反映了系统的“快慢”

  2)并发数:指系统能够同时处理请求的数目,这个数字也反映了系统的负载特性。对网站而言,并发数及网站并发用户数

  3)吞吐量:指单位时间内系统处理的请求数量,体现系统的整体处理能力。指标有TPS/QPS/HPS

     4)性能计数器:描述服务器或操作系统的一些数据指标,包括system load(系统负载),对象与线程数,内存使用,CPU使用,磁盘与网络IO

3、性能测试方法

  1)性能测试

  2)负载测试

  3)压力测试

  4)稳定性测试

4、性能测试报告

5、性能优化

  1)分析

  2)优化

二、性能优化

1、Web前端性能优化:包括浏览器加载、网站视图模型、图片服务、CDN服务

  (1)浏览器访问优化:

    1)减少http请求:合并CSS,合并JavaScript,合并图片

    2)使用浏览器缓存:设置HTTP头中的Cache-Control和Expres属性来设置浏览器缓存

         使用浏览器缓存策略的网站在更新静态资源时,应该采用批量更新的方法,以免浏览器突然大量缓存失效,集中更新缓存,造成服务器

      负载骤增、网络堵塞的情况。

    3)启用压缩:在服务器端对文件进行压缩,在浏览器端对文件解压缩,可有效减少通信传输的数据量。

    4)CSS放在页面最上端,Javascript放在页面最下端

    

    5)减少cookie传输

               

  (2)CDN加速:CDN能够缓存的是静态资源,如图片,文件,CSS,Script脚本,静态网页等,但这些文件访问频度很高,

      将其缓存在CDN可极大改善网页的打开速度。

     

 

   (3)反向代理

    

2、应用服务器性能优化:包括缓存,集群,异步

  (1)分布式缓存:主要缓存读写比很高,很少变化的数据。

    

  (2)异步操作:消息队列

    

  (3)使用集群

  (4)代码优化

    1)多线程

    2)资源复用:单例和对象池

    3)数据结构:程序就是数据结构+算法

    4)垃圾回收

3、存储性能优化

  (1)机械硬盘与固态硬盘ssd

    1)机械硬盘:快速顺序读写,慢速随机读写

    2)ssd:持久记忆在硅晶体上,像内存一样快速随机访问

  (2)B+tree与LSM树

    1)B+tree:专门针对磁盘存储而优化的N叉排序树

    

    2)LSM树:

    

  (3)RAID与HDFS

    1)RAID:廉价磁盘冗余阵列

    2)HDFS:Hadoop分布式文件系统

            

                

 

posted @ 2019-05-30 21:26  艾薇-Ivy  阅读(231)  评论(0编辑  收藏  举报