《构建高性能Web站点》

作者 郭欣 


第1章 绪论. 1 
1.1 等待的真相 1 
1.2 瓶颈在哪里 2 
1.3 增加带宽 3 
1.4 减少网页中的http请求 4 
1.5 加快服务器脚本计算速度 4 
1.6 使用动态内容缓存 5 
1.7 使用数据缓存 5 
1.8 将动态内容静态化 6 
1.9 更换web服务器软件 6 
1.10 页面组件分离 7 
1.11 合理部署服务器 7 
1.12 使用负载均衡 8 
1.13 优化数据库 8 
1.14 考虑可扩展性 9 
1.15 减少视觉等待 10 
第2章 数据的网络传输 11 
2.1 分层网络模型 11 
2.2 带宽 22 
2.3 响应时间 28 
.2.4 互联互通 33 
第3章 服务器并发处理能力 35 
3.1 吞吐率 35 
3.2 cpu并发计算 49 
3.3 系统调用 60 
3.4 内存分配 63 
3.5 持久连接 65 
3.6 i/o模型 68 
3.7 服务器并发策略 81 
第4章 动态内容缓存 96 
4.1 重复的开销 96 
4.2 缓存与速度 98 
4.3 页面缓存 98 
4.4 局部无缓存 112 
4.5 静态化内容 112 
第5章 动态脚本加速 121 
5.1 opcode缓存 121 
5.2 解释器扩展模块 132 
5.3 脚本跟踪与分析 133 
第6章 浏览器缓存 143 
6.1 别忘了浏览器 143 
6.2 缓存协商 147 
6.3 彻底消灭请求 160 
第7章 web服务器缓存 167 
7.1 url映射 167 
7.2 缓存响应内容 168 
7.3 缓存文件描述符 175 
第8章 反向代理缓存 178 
8.1 传统代理 178 
8.2 何为反向 179 
8.3 在反向代理上创建缓存 180 
8.4 小心穿过代理 202 
8.5 流量分配 204 
第9章 web组件分离 205 
9.1 备受争议的分离.. 205 
9.2 因材施教 206 
9.3 拥有不同的域名 207 
9.4 浏览器并发数 210 
9.5 发挥各自的潜力 212 
第10章 分布式缓存 220 
10.1 数据库的前端缓存区 220 
10.2 使用memcached 221 
10.3 读操作缓存 225 
10.4 写操作缓存 229 
10.5 监控状态 232 
10.6 缓存扩展 234 
第11章 数据库性能优化 238 
11.1 友好的状态报告 239 
11.2 正确使用索引 241 
11.3 锁定与等待 255 
11.4 事务性表的性能 263 
11.5 使用查询缓存 264 
11.6 临时表 266 
11.7 线程池 266 
11.8 反范式化设计 267 
11.9 放弃关系型数据库 269 
第12章 web负载均衡 272 
12.1 一些思考 272 
12.2 http重定向 275 
12.3 dns负载均衡 284 
12.4 反向代理负载均衡 292 
12.5 ip负载均衡 305 
12.6 直接路由 317 
12.7 ip隧道 325 
12.8 考虑可用性 325 
第13章 共享文件系统 328 
13.1 网络共享 328 
13.2 nfs 330 
13.3 局限性 335 
第14章 内容分发和同步 337 
14.1 复制 337 
14.2 ssh 338 
14.3 webdav 342 
14.4 rsync 342 
14.5 hash tree 344 
14.6 分发还是同步 345 
14.7 反向代理 346 
第15章 分布式文件系统 348 
15.1 文件系统 348 
15.2 存储节点和追踪器 350 
15.3 mogilefs 352 
第16章 数据库扩展 362 
16.1 复制和分离 362 
16.2 垂直分区 366 
16.3 水平分区 367 
第17章 分布式计算 374 
17.1 异步计算 374 
17.2 并行计算 379 
第18章 性能监控 384 
18.1 实时监控 384 
18.2 监控代理 386 
18.3 系统监控 388 
18.4 服务监控 391 
18.5 响应时间监控 393 
参考文献 397 
索引... 399 


第1章 绪论. 1 
1.1 等待的真相 1 
1.2 瓶颈在哪里 2 
1.3 增加带宽 3 
1.4 减少网页中的http请求 4 
1.5 加快服务器脚本计算速度 4 
1.6 使用动态内容缓存 5 
1.7 使用数据缓存 5 
1.8 将动态内容静态化 6 
1.9 更换web服务器软件 6 
1.10 页面组件分离 7 
1.11 合理部署服务器 7 
1.12 使用负载均衡 8 
1.13 优化数据库 8 
1.14 考虑可扩展性 9 
1.15 减少视觉等待 10 
第2章 数据的网络传输 11 
2.1 分层网络模型 11 
2.2 带宽 22 
2.3 响应时间 28 
.2.4 互联互通 33 
第3章 服务器并发处理能力 35 
3.1 吞吐率 35 
3.2 cpu并发计算 49 
3.3 系统调用 60 
3.4 内存分配 63 
3.5 持久连接 65 
3.6 i/o模型 68 
3.7 服务器并发策略 81 
第4章 动态内容缓存 96 
4.1 重复的开销 96 
4.2 缓存与速度 98 
4.3 页面缓存 98 
4.4 局部无缓存 112 
4.5 静态化内容 112 
第5章 动态脚本加速 121 
5.1 opcode缓存 121 
5.2 解释器扩展模块 132 
5.3 脚本跟踪与分析 133 
第6章 浏览器缓存 143 
6.1 别忘了浏览器 143 
6.2 缓存协商 147 
6.3 彻底消灭请求 160 
第7章 web服务器缓存 167 
7.1 url映射 167 
7.2 缓存响应内容 168 
7.3 缓存文件描述符 175 
第8章 反向代理缓存 178 
8.1 传统代理 178 
8.2 何为反向 179 
8.3 在反向代理上创建缓存 180 
8.4 小心穿过代理 202 
8.5 流量分配 204 
第9章 web组件分离 205 
9.1 备受争议的分离.. 205 
9.2 因材施教 206 
9.3 拥有不同的域名 207 
9.4 浏览器并发数 210 
9.5 发挥各自的潜力 212 
第10章 分布式缓存 220 
10.1 数据库的前端缓存区 220 
10.2 使用memcached 221 
10.3 读操作缓存 225 
10.4 写操作缓存 229 
10.5 监控状态 232 
10.6 缓存扩展 234 
第11章 数据库性能优化 238 
11.1 友好的状态报告 239 
11.2 正确使用索引 241 
11.3 锁定与等待 255 
11.4 事务性表的性能 263 
11.5 使用查询缓存 264 
11.6 临时表 266 
11.7 线程池 266 
11.8 反范式化设计 267 
11.9 放弃关系型数据库 269 
第12章 web负载均衡 272 
12.1 一些思考 272 
12.2 http重定向 275 
12.3 dns负载均衡 284 
12.4 反向代理负载均衡 292 
12.5 ip负载均衡 305 
12.6 直接路由 317 
12.7 ip隧道 325 
12.8 考虑可用性 325 
第13章 共享文件系统 328 
13.1 网络共享 328 
13.2 nfs 330 
13.3 局限性 335 
第14章 内容分发和同步 337 
14.1 复制 337 
14.2 ssh 338 
14.3 webdav 342 
14.4 rsync 342 
14.5 hash tree 344 
14.6 分发还是同步 345 
14.7 反向代理 346 
第15章 分布式文件系统 348 
15.1 文件系统 348 
15.2 存储节点和追踪器 350 
15.3 mogilefs 352 
第16章 数据库扩展 362 
16.1 复制和分离 362 
16.2 垂直分区 366 
16.3 水平分区 367 
第17章 分布式计算 374 
17.1 异步计算 374 
17.2 并行计算 379 
第18章 性能监控 384 
18.1 实时监控 384 
18.2 监控代理 386 
18.3 系统监控 388 
18.4 服务监控 391 
18.5 响应时间监控 393 
参考文献 397 
索引... 399 

猜你喜欢

转载自seachen.iteye.com/blog/1260579