构建高性能WEB站点(一)

一般而言,评估一个Web站点性能如何,通常置身于用户角度,访问该站点一系列页面,体验等待时间。

当用户输入页面地址后,浏览器便向站点服务器发起一系列请求,这些请求不光包括对页面的请求,还包括对页面中许许多多组件的请求,比如图片,CSS,脚本(JAVASCRIPT),内嵌页面(iframe)等,待浏览器获得返回数据后讲过本地计算机渲染,一幅完整的页面最终才呈现在用户面前。

    访问页面都是需要时间的,有些时候时间还比较长,访问时到底发生了什么?事实上并不简单,大概经历了一下几个部分时间:

  • 数据在网络上传输的时间

  • 站点服务器处理请求并生成响应数据的时间

  • 浏览器本地计算和渲染的时间

这三部分每一点都包括很多方面,都花了很大篇幅来讲解,构建高性能WEB站点讲的就是怎样减少这三部分的时间。

系统性能的瓶颈在哪里?这个关键因素会随着系统的运行发生不断的变化和迁移,比如站点在数据存储量和浏览量增长到不同级别时,系统瓶颈也会发生迁移。

书中通过就以下几点讨论如何提升性能。

  1. 增加带宽

  2. 减少网页中的HTTP请求

  3. 加快服务器脚本计算速度

  4. 使用动态内容缓存

  5. 使用数据缓存

  6. 将动态内容静态化

  7. 更换WEB服务器软件

  8. 页面组件分离

  9. 合理部署服务器

  10. 使用负载均衡

  11. 优化数据库

  12. 考虑可扩展性

其中有几点我本身不是很清楚,特意记录下

第一点带宽是什么?带宽的单位是bit/s,其实是指数据的发送速度,不仅仅是数据在网络上的传播速度。比如我们的百兆网卡,就是指网卡的最大发送速度是100Mbit/s,也就是一秒钟最多发送100Mb的数据。

第二点减少HTTP请求,任何一个站点的页面都包含了很多组件,每个组件都需要计算、下载和渲染,都是需要时间的,毫无疑问,我们在网页中减少这些行为,就能提高展示页面的速度。

第八点页面组件分离,在Web站点中,页面中各种各样的组件它们的下载量和对服务器的能力各不相同,如果由同一台物理服务器或者同一种并发策略的Web服务器软件来统一提供服务,显然会造成资源的浪费和并发策略的低效。可以根据不同组件的需求,比如下载量、文件大小,对服务器各种资源的需求有针对性的采用不同的的并发策略,并提供最佳物理资源。

未完待续。。。

转载于:https://my.oschina.net/fuluola/blog/603862

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
此文档一共两部分,此下载链接为第1部分。 第1章 绪论 1.1 等待的真相 1.2 瓶颈在哪里 1.3 增加带宽 1.4 减少网页中的HTTP请求 1.5 加快服务器脚本计算速度 1.6 使用动态内容缓存 1.7 使用数据缓存 1.8 将动态内容静态化 1.9 更换Web服务器软件 1.1 页面组件分离 1.11 合理部署服务器 1.12 使用负载均衡 1.13 优化数据库 1.14 考虑可扩展性 1.15 减少视觉等待 第2章 数据的网络传输 2.1 分层网络模型 2.2 带宽 2.3 响应时间 2.4 互联互通 第3章 服务器并发处理能力 3.1 吞吐率 3.2 CPU并发计算 3.3 系统调用 3.4 内存分配 3.5 持久连接 3.6 I/O模型 3.7 服务器并发策略 第4章 动态内容缓存 4.1 重复的开销 4.2 缓存与速度 4.3 页面缓存 4.4 局部无缓存 4.5 静态化内容 第5章 动态脚本加速 5.1 opcode缓存 5.2 解释器扩展模块 5.3 脚本跟踪与分析 第6章 浏览器缓存 6.1 别忘了浏览器 6.2 缓存协商 6.3 彻底消灭请求 第7章 Web服务器缓存 7.1 URL映射 7.2 缓存响应内容 7.3 缓存文件描述符 第8章 反向代理缓存 8.1 传统代理 8.2 何为反向 8.3 在反向代理上创建缓存 8.4 小心穿过代理 8.5 流量分配 第9章 Web组件分离 9.1 备受争议的分离 9.2 因材施教 9.3 拥有不同的域名 9.4 浏览器并发数 9.5 发挥各自的潜力 第10章 分布式缓存 10.1 数据库的前端缓存区 10.2 使用memcached 10.3 读操作缓存 10.4 写操作缓存 10.5 监控状态 10.6 缓存扩展 第11章 数据库性能优化 11.1 友好的状态报告 11.2 正确使用索引 11.3 锁定与等待 11.4 事务性表的性能 11.5 使用查询缓存 11.6 临时表 11.7 线程池 11.8 反范式化设计 11.9 放弃关系型数据库 第12章 Web负载均衡 12.1 一些思考 12.2 HTTP重定向 12.3 DNS负载均衡 12.4 反向代理负载均衡 12.5 IP负载均衡 12.6 直接路由 12.7 IP隧道 12.8 考虑可用性 第13章 共享文件系统 13.1 网络共享 13.2 NFS 13.3 局限性 第14章 内容分发和同步 14.1 复制 14.2 SSH 14.3 WebDAV 14.4 rsync 14.5 Hash 14.6 分发还是同步 14.7 反向代理 第15章 分布式文件系统 15.1 文件系统 15.2 存储节点和追踪器 15.3 MogileFS 第16章 数据库扩展 16.1 复制和分离 16.2 垂直分区 16.3 水平分区 第17章 分布式计算 17.1 异步计算 17.2 并行计算 第18章 性能监控 18.1 实时监控 18.2 监控代理 18.3 系统监控 18.4 服务监控 参考文献 索引

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值