《构建高性能web站点》读后笔记
来源:互联网 发布:西西软件家园 编辑:程序博客网 时间:2024/06/05 10:58
《构建高性能web站点》读后笔记
第1章绪论
(1)增加带宽
(2)减少网页中的HTTP请求
(3)加快服务器脚本计算速度
(4)使用动态内容缓存
(5)使用数据缓存
(6)将动态内容静态化
(7)更换web服务器软件
(8)页面组件分离
(9)合理部署服务器
(10)使用负载均衡
(11)优化数据库
(12)考虑可扩展性
(13)减少视觉等待
第2章数据的网络传输
带宽:单位是“bit/s”
响应时间 = 发送时间 + 传播时间 +处理时间
第3章服务器并发处理能力
吞吐率:我们一般使用单位时间内服务器处理的请求数来描述其并发处理能力,单位是“reqs/s”
并发用户数、并发连接数
持久连接
第4章动态内容缓存
第5章动态脚本加速
操作码缓存
代码跟踪分析
第6章浏览器缓存
缓存协商:(1)Last-Modified 第一次请求返回带修改时间的响应,第二次请求时浏览器带回If-Modified-Since,如果没有修改则服务器返回304。(2)ETag方法给每个文件标记一个ETag值。
彻底消灭请求:浏览器缓存截止期Expires
第7章 Web服务器缓存
第8章反向代理缓存
传统代理服务器:用户隐藏在代理服务器之后
反向代理服务器:web服务器隐藏在代理服务器之后
第9章 Web组件分离
使用现有站点的二级域名,使其指向不同web组件服务器,能够提高浏览器并发下载数,因为浏览器并发下载限制只是对同一域名的。
第10章分布式缓存
第11章数据库性能优化
索引:全表扫描、索引扫描
第12章 Web负载均衡
(1)基于重定向的负载均衡:用户访问统一进入主站,由主站调度程序进行分发,分到不同的实际服务器上去
(2)基于DNS的负载均衡:进行dns设置,使其指向多台服务器
可以根据用户IP地址选择就近服务器
Dig www.bilibili.com命令可以分析网站DNS的A记录
(3)基于反向代理的负载均衡
Nginx作为负载均衡调度器
RR调度策略:轮询调度
反向代理服务器可以配置探测器:检测后端服务器是否正常
粘滞会话:让用户在一次会话周期内的所有请求都转发到一台特定的后端服务器上
(4)基于NAT的负载均衡
(5)基于路由的负载均衡:工作在数据链路成(第二层),修改目标包的MAC地址
第13章共享文件系统
NFS:存在单点性能的局限性
第14章内容的分发与同步
如:图片资源从图片服务器分发或同步(复制)到多台后台服务器上。
主动分发复制(SCP、WebDAV)、被动同步复制(rsync)
多级分发
第15章分布式文件系统
如:MogileFS、Hadoop
存储节点与追踪器,追踪器扮演存储节点的访问调度器,实现存储节点的负载均衡,这使得存储节点可以非常容易地进行水平扩展;
在分布式文件系统中,复制是一项重要的工作;
第16章数据库扩展
简单主从复制—>垂直分区—>水平分区
主从复制:从主服务器复制到多台从服务器上
读写分离:将更新操作指向主服务器,将读操作指向从服务器(如:Mysql Proxy)
使用数据库反向代理:均衡工作量
垂直分区:当采用主从复制和读写分离呈现边际效益递减时,当有大量的写操作时。比如我们将用户的博客数据库和好友数据库分别转移到独立的数据库服务器上,这种方式称为垂直分区。
水平分区:意味着我们可以将同一数据表中的记录通过特定的算法进行分离,分别保存在不同的数据表中,从而可以部署在不同的数据库服务器上。
分表:在考虑分区之前,我们一般会对数据库进行分表。
分区索引字段:如userId
第17章分布式计算
异步计算:
对于很漫长的计算任务,可以通过分布式计算,将其放在后台异步进行
分布式消息队列:如Gearman、MemcacheQ
并行计算:对计算任务再次拆分,并将它们散列到更多的服务器上同时进行
第18章性能监控
实时监控:如:Nmon是一款工作在服务器本地的实时监控软件
监控代理:如:SNMP监控远程服务器,你只需要在被监控的服务器上开启SNMP服务
监控中心:对数据进行统计和呈现,如Cacti
响应时间监控:监控宝www.jiankongbao.com
- 《构建高性能web站点》读后笔记
- 构建高性能Web站点(笔记五)
- 构建高性能Web站点(笔记八)
- 构建高性能Web站点(笔记六)
- 构建高性能Web站点(笔记七)
- 构建高性能Web站点(笔记三)
- 《构建高性能WEB站点》阅读笔记
- 《构建高性能web站点》笔记
- 构建高性能web站点
- 构建高性能web站点
- 构建高性能web站点
- 构建高性能的web站点学习笔记一
- 构建高性能的web站点学习笔记一
- 《构建高性能web站点》笔记--基础架构篇
- 《构建高性能web站点》笔记--应用程序篇
- 《构建高性能web站点》笔记--基础架构篇
- 《构建高性能web站点》笔记--应用程序篇
- 构建高性能Web站点(修订版)笔记
- iOS蓝牙开发CoreBluetooth框架总结
- 将 Intent 序列化,像 Uri 一样传递 Intent!!!
- codeforces——873A —— Chores
- AndroidApp混淆
- Centos 7 防火墙配置
- 《构建高性能web站点》读后笔记
- 中小型企业Web开发框架
- 利用编译时注解生成Java源代码
- C#MVC框架一些简单JS的使用
- 圆形头像持续旋转的使用
- Django -- 0x00、Django的安装与相关配置
- 抽象工厂模式
- R语言_卡方检验
- ORB-SLAM2代码阅读