首页 > 图书中心 > 软件性能测试、分析与调优实践之路(第2版)

目录

目  录  

第1章  性能测试、分析与调优基础 1

1.1  性能测试的基础 1

1.1.1  性能测试的分类 2

1.1.2  性能测试的场景 3

1.2  常见的性能测试指标 3

1.2.1  响应时间 3

1.2.2  TPS/QPS 3

1.2.3  并发用户 4

1.2.4  PV/UV 4

1.2.5  点击率 4

1.2.6  吞吐量 5

1.2.7  资源开销 5

1.3  性能测试的目标 5

1.4  性能测试的基本流程 6

1.4.1  性能需求分析 6

1.4.2  制定性能测试计划 7

1.4.3  编写性能测试方案 8

1.4.4  编写性能测试案例 9

1.4.5  搭建性能测试环境 10

1.4.6  构造性能测试数据 10

1.5  性能分析调优模型 11

1.6  性能分析调优思想 12

1.6.1  分层分析 12

1.6.2  科学论证 13

1.6.3  问题追溯与归纳总结 14

1.7  性能调优技术 14

1.7.1  缓存调优 14

1.7.2  同步转异步推送 17

1.7.3  削峰填谷 17

1.7.4  拆分 19

1.7.5  任务分解与并行计算 19

1.7.6  索引与分库分表 20

1.7.7  层层过滤 22

第2章  服务器的性能监控与分析 23

2.1  Linux服务器的性能监控与分析 23

2.1.1  通过vmstat深挖服务器的性能问题 23

2.1.2  如何通过mpstat分析服务器的性能指标 26

2.1.3  如何通过pidstat发现性能问题 28

2.1.4  从lsof中能看到什么 34

2.1.5  如何通过free看懂内存的真实使用 42

2.1.6  如何通过top发现问题 42

2.1.7  网络流量如何监控 45

2.1.8  nmon对Linux服务器的整体性能监控 51

2.2  Windows服务器的性能监控与分析 54

2.2.1  Windows性能监视器 54

2.2.2  Windows性能监视器下的性能分析 64

第3章  Web中间件的性能分析与调优 66

3.1  Nginx的性能分析与调优 66

3.1.1  Nginx负载均衡策略的介绍与调优 66

3.1.2  Nginx进程数的配置调优 68

3.1.3  Nginx事件处理模型的分析与调优 69

3.1.4  Nginx客户端连接数的调优 71

3.1.5  Nginx中文件传输的性能优化 71

3.1.6  Nginx中FastCGI配置的分析与调优 73

3.1.7  Nginx的性能监控 75

3.2  Apache的性能分析与调优 76

3.2.1  Apache的工作模式选择和进程数调优 76

3.2.2  Apache的mod选择与调优 80

3.2.3  Apache的KeepAlive调优 82

3.2.4  Apache的ab压力测试工具 83

3.2.5  Apache的性能监控 84

第4章  应用中间件的性能分析与调优 87

4.1  Tomcat的性能分析与调优 87

4.1.1  Tomcat的组件以及工作原理 87

4.1.2  Tomcat容器Connector性能参数调优 92

4.1.3  Tomcat容器的I/O分析与调优 92

4.1.4  SpringBoot中的Tomcat调优 95

4.2  WildFly的性能分析与调优 97

4.2.1  WildFly Standalone模式介绍 97

4.2.2  WildFly Standalone模式管理控制台性能参数调优 99

4.2.3  WildFly Standalone模式性能监控 108

第5章  Java应用程序的性能分析与调优 117

5.1  JVM基础知识 117

5.1.1  JVM简介 117

5.1.2  类加载器 118

5.1.3  Java虚拟机栈和原生方法栈 120

5.1.4  方法区与元数据区 121

5.1.5  堆区 121

5.1.6  程序计数器 122

5.1.7  垃圾回收 123

5.1.8  并行与并发 128

5.1.9  垃圾回收器 128

5.2  JVM如何监控 129

5.2.1  jconsole 129

5.2.2  jvisualvm 135

5.2.3  jmap 145

5.2.4  jstat 146

5.3  JVM性能分析与诊断 147

5.3.1  如何读懂GC日志 147

5.3.2  jstack 152

5.3.3  MemoryAnalyzer 157

5.4  JVM性能调优技巧 165

5.4.1  如何减少GC 165

5.4.2  另类Java内存泄漏 166

第6章  MySQL数据库的性能分析 168

6.1  MySQL数据库的性能监控 168

6.1.1  如何查看MySQL数据库的连接数 168

6.1.2  如何查看MySQL数据库当前运行的事务与锁 169

6.1.3  MySQL中数据库表的监控 171

6.1.4  性能测试时MySQL中其他常用监控 174

6.2  MySQL数据库的性能定位 176

6.2.1  慢SQL 177

6.2.2  执行计划 178

6.2.3  MySQL数据库性能定位步骤 180

6.3  MySQL数据库查询的性能调优 181

6.3.1  合理创建索引 181

6.3.2  查询优化 182

第7章  性能测试、分析与调优案例实践 186

7.1  JMeter对HTTP服务的性能压测分析与调优 186

7.2  LoadRunner对HTTP服务的性能压测分析与调优 196

7.3  JMeter对RPC服务的性能压测分析与调优 211

7.3.1  JMeter如何通过自定义Sample来对RPC服务进行压测 211

7.3.2  JMeter对GRPC服务的性能压测分析与调优 220

7.4  JMeter对MySQL性能压测分析与调优 227

7.4.1  如何利用JMeter为MySQL数据库构造测试数据 227

7.4.2  JMeter对MySQL数据库的性能压测分析与调优 233

7.5  常见性能问题分析总结 237

第8章  安卓APP的性能分析 243

8.1  adb 243

8.2  DDMS 245

8.3  Android Studio Profiler 254

8.4  systrace 261

第9章  前端性能分析 263

9.1  谷歌浏览器开发工具Performance介绍 263

9.2  使用Performance来查看和定位页面性能 266

9.3  前端性能调优建议 272

版权所有(C)2023 清华大学出版社有限公司 京ICP备10035462号 京公网安备11010802042911号

联系我们 | 网站地图 | 法律声明 | 友情链接 | 盗版举报 | 人才招聘