当前位置:首页 > 工业技术
高性能PHP应用开发
高性能PHP应用开发

高性能PHP应用开发PDF电子书下载

工业技术

  • 电子书积分:9 积分如何计算积分?
  • 作 者:(美)帕蒂拉,(美)霍金斯著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2011
  • ISBN:9787115264954
  • 页数:178 页
图书介绍:本书主要介绍了如何改善已有PHP程序的性能,如何最大化操作系统和数据库的性能,如何重构已有的应用程序以提高PHP程序的性能,如何识别PHP代码的瓶颈,如何利用变量缓存来提高性能以及如何选择服务器硬件等。
《高性能PHP应用开发》目录

第1章 基准测试技术 1

1.1 PHP应用程序栈 1

1.2基准测试实用工具 2

1.3定义请求/响应生命周期 3

1.4 Apache Benchmark 4

1.4.1安装Apache Benchmark 4

1.4.2运行Apache Benchmark 5

1.4.3弄清响应的含义 6

1.4.4 ab选项标记 8

1.4.5 ab陷阱 11

1.5 Siege 12

1.5.1安装Siege 12

1.5.2运行Siege 13

1.5.3分析结果 13

1.5.4 Siege选项标记 15

1.5.5测试很多URL 15

1.6影响基准测试数字 16

1.6.1地理位置 16

1.6.2旅行的数据包 16

1.6.3响应的大小 16

1.6.4代码复杂性 17

1.6.5浏览器行为 18

1.6.6 Web服务器设置 18

1.7小结 19

第2章 提高客户端下载和呈现性能 20

2.1优化响应的重要性 21

2.2 Firebug 21

2.2.1安装Firebug 22

2.2.2 Firebug性能选项卡 22

2.2.3 Console选项卡 23

2.2.4 Net选项卡 25

2.3 YSlow 26

2.3.1 YSlow v2规则集 26

2.3.2安装YSlow 27

2.3.3启动YSlow 28

2.4 Page Speed 30

2.4.1安装Page Speed 31

2.4.2运行中的Page Speed 31

2.5优化工具 32

2.5.1 JavaScript优化 33

2.5.2 JavaScript的放置位置 33

2.5.3精简JavaScript 36

2.6精简工具 37

2.7 YUI Compressor 38

2.8 Closure Compiler 38

2.8.1减少资源请求 39

2.8.2使用服务器端压缩 39

2.9图像压缩 39

2.10 Smush.it 40

2.11小结 42

第3章PHP代码优化 43

3.1 PHP最佳实践 43

3.1.1 PHP的经济性 45

3.1.2 require与require_once 45

3.1.3提前计算循环长度 47

3.1.4使用foreach、 for、 while循环访问数组元素 49

3.1.5文件访问 50

3.1.6更快速地访问对象属性 52

3.2使用VLD、 strace和Xdebug一探究竟 54

3.2.1用VLD查看Opcode函数 54

3.2.2使用strace进行C级跟踪 56

3.3发现瓶颈 58

3.3.1 Xdebug 2: PHP调试工具 58

3.3.2验证安装 60

3.3.3安装基于GUI的工具 61

3.4小结 64

第4章Opcode缓存 65

4.1回顾路线图 65

4.2 PHP的生命周期 66

4.3 Opcode缓存工具 68

4.3.1 Alternative PHP Cache 68

4.3.2 XCache 75

4.3.3用XCache缓存 76

4.3.4 XCache设置 77

4.3.5 eAccelerator 78

4.3.6 eA设置 82

4.4小结 84

第5章 变量缓存 85

5.1应用程序的性能路线图 85

5.2实现变量缓存的价值 86

5.3示例项目:创建表 87

5.3.1获取记录 88

5.3.2计算读取数据库的开销 89

5.4 APC缓存 93

5.4.1将数据添加到缓存中 93

5.4.2对APC进行基准测量 94

5.5 Memcached 96

5.5.1安装 Memcached 96

5.5.2启动Memcached服务器 97

5.5.3在PHP中使用Memcached 97

5.6小结 101

第6章 选择正确的Web服务器 102

6.1选择适合你的Web服务器程序包 103

6.1.1安全性和稳定性非常重要 103

6.1.2找到具有丰富知识的工程师非常重要 103

6.1.3你的网站主要是静态内容 103

6.1.4你在托管服务中托管 103

6.1.5你正在使用不常见的PHP扩展 103

6.2 Web服务器的使用情况图表 103

6.3 Web服务器请求的处理 104

6.4 Web服务器硬件 105

6.5对Web服务器进行分类 106

6.6 Apache HTTPD 106

6.6.1 Apache Daemon命令行 107

6.6.2 Apache多处理模块 108

6.7了解Apache模块 109

6.7.1添加动态Apache模块 110

6.7.2删除动态Apache模块 110

6.8关于Apache的最后几点 111

6.9 lighttpd 111

6.9.1安装lighttpd 111

6.9.2 lighttpd配置设置 113

6.9.3比较静态负载内容 114

6.9.4在lighttpd上安装PHP 115

6.10 Nginx 118

6.10.1安装Nginx 118

6.10.2 Windows安装 121

6.11 Nginx作为静态Web服务器 122

6.11.1安装FastCGI PHP 123

6.11.2 Nginx基准测试 124

6.12小结 126

第7章 优化Web服务器和内容交付 127

7.1测定Web服务器的性能 127

7.2了解应用程序的内存占用情况 129

7.3优化Apache中的进程 130

7.3.1控制Apache客户端(Prefork MPM) 131

7.3.2优化内存使用和防止产生交换 131

7.4其他Apache配置调整 131

7.4.1使用.htaccess文件和AllowOverride 132

7.4.2使用FollowSymlinks 133

7.4.3使用DirectoryIndex 133

7.4.4关闭HostnameLookup 133

7.4.5启用Keep-Alive 134

7.4.6使用mod_de f late压缩内客 134

7.5扩展到单台服务器之外 135

7.5.1使用Round-Robin DNS 135

7.5.2使用负载均衡器 135

7.5.3使用直接服务器返回 137

7.5.4在服务器场的成员之间共享会话 138

7.5.5与共享文件系统共享资产 139

7.5.6与独立资产服务器共享资产 140

7.5.7与内容分发网络共享资产 140

7.6使用分布式架构的陷阱 141

7.6.1缓存一致性问题 141

7.6.2缓存版本问题 141

7.6.3用户IP地址跟踪 142

7.6.4多米诺骨牌或级联失败效应 143

7.6.5部署失败 143

7.7监视应用程序 144

7.8小结 144

第8章 数据库优化 145

8.1 MySQL简介 146

8.2了解MySQL存储引擎 146

8.2.1 MyISAM:原始引擎 147

8.2.2 InnoDB:专业级的选择 147

8.2.3选择存储引擎 148

8.3了解MySQL如何使用内存 148

8.3.1 InnoDB与MyISAM内存使用的比较 149

8.3.2每服务器与每连接(线程)内存使用的比较 149

8.4查找配置文件 150

8.4.1 Mysqltuner.pl:优化数据库服务器的内存 151

8.4.2示例服务器可能出现的问题 154

8.4.3优化InnoDB 155

8.5找到有问题的查询 155

8.6分析有问题的查询 157

8.7 PHP数据库应用程序的建议 158

8.7.1保持独立的读写连接 158

8.7.2默认使用“utf8”(多字节Unicode)字符集 158

8.7.3使用“UTC”日期格式 159

8.8小结 160

附录A在Windows上安装Apache、MySQL、 PHP和PECL 161

附录B在Linux上安装Apache、MySQL、 PHP和PECL 174

返回顶部