《实用负载均衡技术 网站性能优化攻略》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:(英)门伯里,(澳)豪斯,(荷)普拉奇著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2013
  • ISBN:9787115314635
  • 页数:221 页
图书介绍:本书介绍了处理负载均衡问题的相关概念和工具,然后学习了如何避免性能退化和服务器上的服务突然消失的风险,还学习了单个服务器以及可以执行cookie插入或者改善SSL吞吐量的负载均衡器,最后还探讨了云中的负载均衡。

第1章 引言 1

1.1 性能问题 1

1.2 解决方案 2

1.3 什么是负载均衡 3

1.3.1 负载均衡的前世 3

1.3.2 负载均衡的今生 3

1.3.3 纵向扩展 3

1.3.4 横向扩展 4

1.4 负载均衡的实现 4

1.4.1 网络的构成 4

1.4.2 缓存:网站的曲速引擎 5

1.4.3 使用DNS进行负载均衡 5

1.4.4 内容分发网络 5

1.4.5 6P原则 6

1.4.6 基础知识 6

1.4.7 HTTP负载均衡 6

1.4.8 对数据库进行负载均衡 7

1.4.9 对网络连接进行负载均衡 7

1.4.10 SSL负载均衡 7

1.4.11 建立高可用性集群 7

1.4.12 云平台上的负载均衡 7

1.4.13 IPv6:实现和概念 8

1.4.14 下一步做什么 8

1.5 总结 8

第2章 网站工作原理 9

2.1 开始我们的旅程 10

2.1.1 来自非IT背景 10

2.1.2 开始浏览的过程 10

2.1.3 通过DNS查找网站 11

2.1.4 最终连接到服务器 11

2.1.5 服务器自身 12

2.1.6 连接到数据库 12

2.1.7 缓存技术速览 12

2.1.8 回传到客户端 13

2.2 进一步了解 13

2.3 网络 14

2.3.1 TCP 14

2.3.2 DNS 16

2.3.3 速度、带宽和延迟 17

2.3.4 网络连接小结 19

2.4 HTML和Web 19

2.4.1 HTML 20

2.4.2 为什么基于文本很重要 20

2.4.3 为什么链接很重要 21

2.4.4 HTML小结 22

2.4.5 浏览器 22

2.5 Web内容 23

2.5.1 静态内容 23

2.5.2 动态内容 24

2.5.3 创建动态内容 24

2.5.4 Web内容小结 25

2.6 数据库:最薄弱的环节 26

2.7 总结 26

第3章 内容缓存:保持低负载 28

3.1 什么是缓存 29

3.2 走马观花 29

3.2.1 基于浏览器的缓存 29

3.2.2 Web加速器 30

3.2.3 Web代理 31

3.2.4 透明Web代理 32

3.2.5 边缘缓存 33

3.2.6 平台缓存 34

3.2.7 应用缓存 35

3.2.8 数据库缓存 36

3.2.9 仅仅是个开始 36

3.3 缓存理论:缓存为什么这么难 36

3.3.1 HTTP 1.0对缓存的支持 37

3.3.2 HTTP 1.1加强的缓存支持 37

3.3.3 解决方案 38

3.3.4 缓存不像看起来那么简单 39

3.4 Web代理 39

3.4.1 Squid代理服务器 39

3.4.2 开始了 40

3.4.3 故障排除 41

3.4.4 透明代理 42

3.4.5 发生了什么 42

3.4.6 获得帮助 44

3.4.7 Squid,代理中的瑞士军刀 44

3.5 边缘缓存:Varnish 45

3.5.1 默认保守缓存 46

3.5.2 安装Varnish 46

3.5.3 配置并运行 47

3.5.4 定制Varnish 49

3.6 总结 49

第4章 基于DNS的负载均衡 51

4.1 DNS内幕 51

4.1.1 IP地址 51

4.1.2 问题 52

4.1.3 解决方案 52

4.1.4 回退一步 53

4.2 DNS详解 53

4.2.1 亲自查询 54

4.2.2 DNS查询进阶 55

4.3 DNS缓存 56

4.3.1 查询DNS缓存 56

4.3.2 Linux系统上的DNS缓存 58

4.3.3 实质内容 58

4.4 BIND9 58

4.4.1 DNS DB的头 60

4.4.2 DNS数据库记录 61

4.4.3 加载数据库 62

4.4.4 检查配置文件 63

4.4.5 常见问题 63

4.4.6 测试DNS 63

4.5 基于DNS的负载均衡 64

4.5.1 基于DNS的负载均衡的优势 65

4.5.2 基于DNS的负载均衡的问题 65

4.6 总结 66

第5章 内容分发网络 67

5.1 选择CDN服务提供商 68

5.2 开始使用Rackspace 68

5.3 向CDN账户添加内容 69

5.4 Rackspace云文件API 72

5.4.1 将API集成到PHP中 72

5.4.2 用API密钥进行认证 72

5.4.3 建立连接和断开连接 73

5.4.4 对容器进行操作 74

5.4.5 对文件进行操作 79

5.4.6 其他有用的函数 84

5.5 总结 86

第6章 性能和可靠性计划 87

6.1 yoU MAke DInnerIn TiME 87

6.1.1 理解 88

6.1.2 决策 90

6.1.3 设计与实现 91

6.1.4 安装 92

6.1.5 测试、维护、评估 93

6.1.6 计划的重要性 95

6.2 备份 96

6.2.1 为什么备份如此重要 96

6.2.2 前方可能有麻烦 97

6.2.3 必须实现自动化 98

6.2.4 战术备份 98

6.2.5 战略备份 98

6.2.6 增量备份与全备份 99

6.2.7 一定,一定要测试恢复! 99

6.3 总结 100

第7章 负载均衡基础 101

7.1 什么是负载均衡 101

7.2 有哪些可用的计算资源 102

7.2.1 处理器 102

7.2.2 内存 103

7.2.3 使用top命令查看CPU和RAM的性能 103

7.2.4 网络 104

7.2.5 存储(磁盘) 105

7.3 负载均衡实战 105

7.4 指导原则 106

7.4.1 深入理解系统 106

7.4.2 规划 106

7.4.3 监测和测试 107

7.5 总结 107

第8章 对网站进行负载均衡 108

8.1 测量Web服务器的性能 108

8.2 加速Apache HTTP 110

8.2.1 禁用空载模块 111

8.2.2 禁用DNS查询 111

8.2.3 采用压缩 112

8.2.4 FollowSymLinks和SymLinksIfOwnerMatch选项 113

8.3 加速nginx 114

8.3.1 worker_processes和worker_cpu_affinity 114

8.3.2 Gzip压缩 115

8.4 对Web服务器进行负载均衡 116

8.4.1 配置 117

8.4.2 准备IPVS服务器 118

8.4.3 准备工作服务器 120

8.4.4 测试负载均衡器 121

8.5 划分动态和静态内容 122

8.6 总结 123

第9章 对数据库进行负载均衡 124

9.1 搭建MySQL Cluster 124

9.1.1 安装管理程序 126

9.1.2 配置管理程序 126

9.1.3 准备集群数据节点 129

9.1.4 安装MySQL Server和NDB守护进程 129

9.1.5 配置NDB守护进程 130

9.1.6 启动集群节点上的服务 131

9.1.7 更新MySQL的root用户 132

9.1.8 测试上述安装和配置 133

9.2 实施负载均衡 135

9.2.1 建立负载均衡 135

9.2.2 设置负载均衡服务器 136

9.2.3 设置工作服务器 137

9.2.4 测试负载均衡服务器 138

9.3 总结 139

第10章 对网络进行负载均衡 140

10.1 分担负载 140

10.2 TCP/IP 141

10.2.1 TCP 141

10.2.2 IP 142

10.3 路由 142

10.4 负载均衡服务器 144

1 0.5 IPVS 146

10.5.1 IPVS的调度方式 146

10.5.2 在Ubuntu上安装IPVS 148

10.5.3 在CentOS上安装IPVS 149

10.6 IPVSADM 150

10.7 扩展IPVS 151

10.8 IPVS进阶 153

10.8.1 修改调度算法 153

10.8.2 分配权值 154

10.8.3 协议与多台虚拟服务器 155

10.8.4 增加IP地址 156

10.9 保存设置 158

10.10 总结 159

第11章 对SSL进行负载均衡 160

11.1 什么是SSL和TLS 160

11.2 公钥密码学 161

11.3 信任和数字证书认证机构 162

11.4 TLS加密 162

11.5 TLS负载均衡 162

11.6 配置Web服务器上的SSL 163

11.6.1 配置Apache服务器上的SSL 165

11.6.2 配置nginx服务器上的SSL 166

11.7 SSL加速 166

11.7.1 在Apache上启用SSL加速 166

11.7.2 在nginx上启用SSL加速 166

11.8 SSL前端 167

11.9 测试SSL 168

11.10 进一步配置 170

11.10.1 在SSL前端中启用SSL加速 170

11.10.2 启用缓存 171

11.10.3 指定要支持的协议 172

11.10.4 指定加密方法 172

11.11 LVS和SSL终结前端 173

11.12 将负载均衡服务器/SSL终端功能集成到同一台服务器上 175

11.13 总结 175

第12章 使用集群提高可用性 176

12.1 高可用性 177

12.2 单一故障点 178

12.3 集群化 179

12.4 IPVS故障恢复 180

12.4.1 在Ubuntu 上安装集群软件包 181

12.4.2 在CentOS上安装集群软件包 182

12.4.3 配置集群 182

12.4.4 常见配置问题 185

12.4.5 检查系统 186

12.5 测试 187

12.6 Web服务器细节配置 189

12.6.1 Ubuntu 189

12.6.2 CentOS 189

12.7 高级配置选项 189

12.7.1 ha.cf 189

12.7.2 ldirectord.cf 190

12.7.3 Web服务器 190

12.8 总结 190

第13章 云端负载均衡 191

13.1 云计算 191

13.2 虚拟化 192

13.3 虚拟化资源 195

13.4 管理虚拟资源 196

13.4.1 平衡 197

13.4.2 超量供给 198

13.4.3 计划 199

13.5 云的弹性 200

13.6 用云服务器工作 201

13.7 总结 203

第14章 IPv6:影响和概念 204

14.1 IPv6 204

14.2 十六进制表示 204

14.3 缩略表示 205

14.4 IPv4地址的耗尽 205

14.5 部署IPv6 205

14.6 IPv6的优势 206

14.7 实现 206

14.8 联网连接 208

14.9 DNS 208

14.10 操作系统 208

14.11 网络 208

14.11.1 单一网关的网络 209

14.11.2 双重网络 209

14.12 软件支持 209

14.12.1 Apache 209

14.12.2 nginx 210

14.12.3 Varnish 210

14.12.4 Memcached 210

14.12.5 IPVS 211

14.12.6 ldirectord 211

14.12.7 heartbeat 211

14.13 总结 212

第15章 何去何从 213

15.1 回顾 213

15.2 监控 214

15.3 安全 215

15.3.1 访问控制 215

15.3.2 视图 216

15.3.3 常见的攻击防护 216

15.4 操作系统性能 217

15.4.1 自己编译 217

15.4.2 裁剪 218

15.4.3 高性能操作系统 218

15.5 计划 218

15.6 总结 219

索引 220