《大型网站技术架构:核心原理与案例分析》笔记03

《大型网站技术架构:核心原理与案例分析》笔记01

1.大型网站核心架构要素。

  架构:“最高层次的规划,难以改变的决定。”从这个角度而言,人生规划也是一种架构。选什么学校、学什么专业、进什么公司、找什么对象,过什么样的生活,都是自己人生的架构。

  软件架构:“有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。”

  五大要素:性能、可用性、伸缩性、扩展性和安全性。

2.性能测试指标:

  响应时间:指应用执行一个操作需要的时间,包括从发出请求开始到最后收到响应数据所需要的时间。

  并发数:指系统能够同时处理请求的数目,这个数字也反映了系统的负载特性。

  吞吐量:指单位时间内系统处理的请求数量,体现系统的整体处理能力。(量化指标TPS:每秒事务数)

  性能计数器:描述服务器或操作系统性能的一些数据指标。包括System Load(系统负载)、对象与线程数、内存使用、CPU使用、磁盘和网络I/O等指标。

3.性能测试方法:性能测试、负载测试、压力测试和稳定性测试。

4.性能优化

  4.1   Web前端性能优化

  4.1.1 浏览器访问优化

   (1)减少http请求:HTTP协议是无状态的应用层协议,意味着每次HTTP请求都需要建立通信链路、进行数据传输,而在服务器端,每个HTTP都需要启动独立的线程去处        理。这些通信和服务的开销都很昂贵,减少HTTP请求的数目可有效提高访问性能。(解决方法:JavaScript、CSS合并成一个文件,多张图片合并为一张)

   (2)使用浏览器缓存:将更新频率低的CSS、JavaScript、Logo、图标等静态资源文件缓存在浏览器中。更新时改变文件名生成新的JS文件并更新HTML文件中的引用。批量       更新时应将文件在一定时间间隔后逐个更新,以免用户浏览器突然大量缓存失效而集中更新缓存导致服务器负载骤增。

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

     (4)CSS放在页面最上面、JavaScript放在页面最下面:页面加载全部CSS后再显示,遇到JavaScript立即执行,当页面解析不需要用到JavaScript时,把JavaScript放在         底部。

     (5)减少Cookie传输:数据写入Cookie时慎重考虑;静态资源使用独立域名访问,减少Cookie传输次数。

  4.1.2 CDN加速

  将CDN部署在网络运营商(网络服务提供商)的机房,本质仍然是缓存,即将数据缓存(静态资源)在离用户最近的地方。

  4.1.3 反向代理

  

  4.2   应用服务器性能优化

  1.分布式缓存

  网站性能优化第一定律:有限考虑使用缓存优化性能。

  2.异步操作

  异步处理:任何可以晚点做的事情都应该晚点再做。

  3.使用集群

  4.代码优化

  多线程,资源复用,数据结构,垃圾回收

  4.3   存储性能优化

  机械磁盘特性:快速顺序读写、慢速随机读写

  固态磁盘特性:数据存储在可持久记忆的硅晶体上,可快速随机访问

  B+树(机械硬盘) LSM树(NoSQL产品)

  由RAID支持发展到HDFS(Hadoop分布式文件系统)配合MapReduce

时间: 2024-12-09 15:44:14

《大型网站技术架构:核心原理与案例分析》笔记03的相关文章

《大型网站技术架构-核心原理与案例分析》之一: 大型网站架构演化

最近刚刚读完李智慧的<大型网站技术架构-核心原理与案例分析>,对每章重点内容作了一些笔记,以便加深印象及日后查阅. 一.大型网站软件系统的特点 高并发,大流量:需要面对高并发用户,大流量访问. 高可用:系统7X24小时不间断服务. 海量数据:需要存储.管理海量数据,需要使用大量服务器. 用户分布广泛,网络情况复杂:许多大型互联网都是为全球用户提供服务的,用户分布范围广,各地网络情况千差万别. 安全环境恶劣:由于互联网的开放性,使得互联网站更容易受到攻击,大型网站几乎每天都会被黑客攻击. 需求快

大型网站技术架构--核心原理和案例分析 大型网站架构演化(一)

如果把上世纪90年代CERN正式发布web标准和第一个WEB服务的出现当作互联网的开始,那么互联网站的发展之经历了短短20多年的时间.在20多年的时间里,互联网的世界发生了变化,今天,全球有近一半的人口使用互联网,人们的生活因为互联网而产生了巨大的变化.从信息检索到即使通信,从电子购物到文化娱乐,互联网渗透到生活的每一个 角落,而且这种趋势还在蔓延.因为互联网,我们的世界正变得越来越小. 同时我们也看到,在互联网跨越式发展进程中,在电子商务火热的市场背后却是不堪重负的网站架构.某些B2C网站逢促

JAVA读书推荐----《深入分析Java Web技术内幕》--《java多线程编程核心技术》--《大型网站技术架构 核心原理与案例分析》-《Effective Java中文版》

(1)  首先推荐的不是一本书,而是一个博客,也是我们博客园另外一位博友java_my_life. 目前市面上讲解设计模式的书很多,虽然我前面讲了看书是最好的,但是对设计模式感兴趣的朋友们,我推荐的是这个博客.这位博友的设计模式讲得非常非常好,我认为90%的内容都是没有问题且很值得学习的,其讲解设计模式的大体路线是: 1.随便开篇点明该设计模式的定义 2.图文并茂讲解该设计模式中的结构 3.以详细的代码形式写一下该种设计模式的实现 4.补充内容 5.讲解该设计模式的优缺点 对于一个设计模式我们关

《大型网站技术架构核心原理与案例分析》阅读笔记-01

通过阅读该书籍我们能够更加清楚的树立大型网站的的技术发展历程,剖析大型网站技术架构模式,深入的讲述大型互联网架构核心原理,并通过一些典型的技术案例来讲述大型网站开发全景视图,该书籍深入的阐述了各种大型网站面临的各种架构问题及解决方案. 在第一章第一篇大型网站架构演化中了解到与传统企业应用系统相比,大型互联网应用系统具有高并发大流量.高可用性.海量数据.用户分布广泛,网络情况复杂.安全环境恶劣.需求快速变更,发布频繁.渐进式发展等特点:大型网站架构演化发展历程经历了初始阶段的网络架构它的应用程序.

大型网站技术架构-核心原理与案例分析

阿里系的书,也是讲大型网站系统架构的,平常我们总是挂在嘴边的高性能.高可用.易扩展.安全性,这些所谓的系统非功能性指标到底如何实现,书里面讲了这些干货,作为网站架构师或者哪怕是应用系统的架构师,都值得了解,也许不一定都能用上,但是等需要用的那天,你肯定不会迷茫. 1.大型网站架构发展常见历程:应用/数据库分离--->使用缓存--->应用服务器集群--->数据库读写分离--->CDN及反向代理--->使用分布式文件系统和分布式数据库--->NoSQL及搜索引擎--->

大型网站技术架构-核心原理与案例分析-阅读笔记4

在第四章案例章节中的淘宝网的架构演化案例分析小节中作者主要分析了淘宝架构的演化,以淘宝网的实例给我们分析介绍了淘宝网的业务发展历程及淘宝网的技术架构演化两个方面,在业务发展中作者写到淘宝的技术是随着淘宝业务一起发展起来的,业务是推动这技术发展的动力,淘宝如今的规模和当初有很明显的变化,在技术架构演化中介绍了架构技术的更新升级,该章节中主要介绍淘宝网的发展的历程,在随着时间的发展不断中网站的架构不断的引用着新的技术,由最初简单的c2c更改过来的网站,放弃了lamp架构转而使用java作为开发平台并

大型网站技术架构-核心原理与案例分析-阅读笔记5

在第四章案例章节中的海量分布式存储系统Doris的高可用架构设计分析的小节中作者主要分析介绍了分布式存储的高可用架构和不同故障情况下的高可用解决两个方面,在两小节前作者给我们介绍了Doris是一个海量分布式KV存储系统,其设计的目的是支持中等规模高可用.可伸缩的Kv存储群.跟主流的NoSQL系统HBase相比,doris具有相似的性能和线性伸缩能力,并具有更好的可用性及更友好的图形用户管理界面.而在分布式存储的高可用架构的小节中作者给我们分析了Doris的整体架构,其系统整体上可分为应用程序服务

大型网站技术架构-核心原理与案例分析-阅读笔记3

在第二章的架构章节中的 随机应变:网站的可拓展架构的篇章中作者介绍了构建网站的可扩展架构.利用分布式队列降低系统的耦合性.利用分布式可复用的业务平台.可拓展的数据结构.利用开放平台建设网站生态圈五个方面,作者在讲述前通过微信的成功发布及其中摇一摇功能的加入的开发的快捷引出来的,其中构建网站的可扩展架构中区分了扩展性和伸缩性的区别,讲到了低耦合性的系统跟容易扩展,并且更容易复用,一个低耦合性的系统也可以让系统更加容易的开发和维护,在如何降低系统的耦合性中,作者主要介绍用分布式消息队列的方法来降低系

【大型网站技术架构 核心原理与案例分析】读书笔记

章节 笔记 1.概述 网站架构模式:分层.分割.分布式.集群.缓存.异步.冗余.自动化.安全. 核心架构要素:性能.可用性.伸缩性.扩展性.安全. 4.高性能 一般重复请求一万次计算总响应时间然后除以一万得到单词响应时间. 测试程序并不是启动多线程然后不停发送请求,而是在两次请求之间加入一个随机等待时间. 吞吐量:每天通过收费站的车辆数目:并发数:正在行驶的车辆数目:响应时间:车速.TPS:每秒事务数:HPS:每秒请求数:QPS:每秒查询数. 性能计数器:System Load(系统负载,最理想

大型网站技术架构-核心原理与案例分析-阅读笔记02

在第二章的架构章节中的 瞬时响应:网站的高性能架构的篇章中讲到网站的性能是客观的标准,可以具体的体现在响应时间.吞吐量等技术指标上,同时也是主观的感受.在高性能架构中讲到对于网站性能的测试,性能测试是性能优化的前提和基础,也是性能优化结果的检查和度量标准.在不同的角色响应下网站的性能有不同的标准,也有不同的优化手段.在此基础上作者更深一步的讲解到网站的性能测试,其中又包括了不同视角下的网站性能.性能测试指标.性能测试方法.性能测试报告.性能优化策略五个反面,同时也详细的讲解了这五个方面所具有的内