本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正
本书以业界开源性能测试工具JMeter为依托,结合真实的工作实践,用通俗易懂的语言层层深入讲解性能测试技能。全书共分为5章和6个附录,第1章讲解性能测试基础知识,包括性能测试的整体知识体系、必备基础知识和通用标准等;第2章讲解初级性能测试技能,包括JMeter九大核心组件的使用、测试脚本的编写等;第3章讲解中级性能测试技能,包括如何扩展JMeter的功能插件、搭建性能自动化和实时可视化平台等;第4章讲解高级性能测试技能,包括Dubbo的扩展测试、中间件的基准测试、JMeter源码的解析等;第5章通过实例剖析3种典型性能测试场景;附录部分扩展讲解实用性能知识,包括典型性能问题和解决方法、性能参数调优、问题定位和优化建议等。
本书适合对性能测试有入门、进阶学习需求的测试人员,也适合对性能知识有学习需求的开发人员、运维人员等相关技术人员。
胡通 通信工程专业硕士,于某大型移动研发中心从事性能测试工作6年,在工作期间发表了5篇发明专利和1篇论文,参与过公司百万级数据量的性能测试项目,帮助公司从无到有建立起性能测试体系,实战经验丰富。荣获2019年杭州未来科技城性能测试大赛一等奖。2018年9月他在51Testing连载“大话性能”至今。
第1章 性能测试基础1
1.1性能测试新手入门1
1.1.1性能测试的背景1
1.1.2性能测试的目的2
1.1.3性能测试的分类4
1.1.4性能测试的术语和指标4
1.1.5性能测试的基础曲线模型6
1.1.6性能测试的技能知识图谱7
1.1.7新手入门基础知识9
1.2性能测试必备知识10
1.2.1性能测试的完整工作流程10
1.2.2性能测试的需求分析11
1.2.3性能测试的方案设计14
1.2.4性能测试的环境搭建15
1.2.5性能测试的数据构造19
1.2.6性能协议的抓包分析22
1.2.7性能测试的脚本编写23
1.2.8性能测试的监控部署24
1.2.9性能问题的定位分析43
1.2.10性能测试的报告总结58
1.3性能测试闭环流58
1.4性能测试执行时机60
1.5性能测试通用标准61
1.6小结62
第2章 JMeter初级实战真经63
2.1JMeter的常用版本功能回溯63
2.2JMeter的安装和使用65
2.2.1Windows环境65
2.2.2macOS环境67
2.2.3Linux环境68
2.2.4命令行的使用68
2.3JMeter的常用核心组件69
2.3.1线程组71
2.3.2配置元件75
2.3.3监听器80
2.3.4逻辑控制器82
2.3.5取样器84
2.3.6定时器88
2.3.7前置处理器90
2.3.8后置处理器90
2.3.9断言93
2.4JMeter的参数化方法97
2.5JMeter的关联方法98
2.6JMeter的断言方法98
2.7JMeter的集合点设置98
2.8JMeter的IP欺骗99
2.9JMeter的混合场景方法100
2.10JMeter的常见错误和常用小技巧101
2.11实战脚本解析106
2.11.1HTTP(S)请求106
2.11.2SOAP请求108
2.11.3UDP请求109
2.11.4SQL语句111
2.12小结114
第3章JMeter中级实战真经115
3.1JMeter的分布式压测115
3.1.1分布式压测原理115
3.1.2使用方法详解116
3.1.3常见错误说明118
3.2JMeter的BeanShell实战119
3.2.1常用语法说明120
3.2.210个应用示例讲解122
3.2.3注意事项说明127
3.3JMeter的函数式插件扩展127
3.3.1扩展方法说明127
3.3.2示例讲解129
3.4JMeter的WebSocket实战137
3.4.1组件知识讲解138
3.4.2应用示例分析141
3.4.3注意事项强调150
3.5JMeter+Shell的自动化性能测试150
3.5.1JMeter+Shell实例讲解151
3.5.2高级技巧应用155
3.6JMeter的实时可视化平台搭建156
3.6.1可视化方案展示156
3.6.2InfluxDB知识精华156
3.6.3InfluxDB安装部署159
3.6.4Grafana知识精华161
3.6.5安装部署Grafana162
3.6.6平台搭建过程详解163
3.7小结173
第4章JMeter高级实战真经174
4.1JMeter的Dubbo性能测试实践174
4.1.1Dubbo核心知识点175
4.1.2示例代码扩展讲解178
4.1.3二次优化脚本和问题199
4.2JMeter的TCP自定义消息性能测试
实践204
4.2.1TCP组件知识详解205
4.2.2示例代码讲解207
4.2.3百万连接的参数调优213
4.2.4问题总结213
4.3JMeter对中间件的基准测试214
4.3.1消息中间件ActiveMQ214
4.3.2缓存中间件Redis226
4.4JMeter的常见问题和性能优化238
4.5JMeter的源码编译和解读239
4.5.1JMeter源码编译240
4.5.2JMeter源码解读246
4.6小结250
第5章性能测试实战案例251
5.1日常项目性能测试251
5.1.1项目背景251
5.1.2性能测试目标251
5.1.3性能测试架构252
5.1.4测试环境搭建252
5.1.5测试数据构造253
5.1.6性能测试用例254
5.1.7性能脚本编写256
5.1.8性能测试监控266
5.1.9性能测试执行266
5.1.10性能测试结果267
5.2方案对比性能测试268
5.2.1方案对比需求268
5.2.2性能测试方法268
5.2.3性能测试场景269
5.2.4性能测试脚本和代码270
5.2.5性能测试结果273
5.3MQTT性能测试274
5.3.1项目背景275
5.3.2MQTT和EMQ275
5.3.3性能测试环境276
5.3.4性能测试用例278
5.3.5JMeter脚本编写279
5.3.6性能测试结果283
5.3.7问题和优化283
5.4测试实战问题分析283
5.4.1实战典型问题一284
5.4.2实战典型问题二285
5.4.3实战典型问题三287
5.5小结288
附录A常见性能测试问题289
A.1出现too many open files289
A.2出现Out Of Memory Error290
A.3数据库连接池不释放290
A.4CPU使用率高290
A.5无论怎么压测,系统的TPS上不去291
附录B性能参数调优292
B.1Spring Boot292
B.2操作系统292
B.3常用中间件的核心性能参数293
附录CJava代码定位和优化建议295
C.1代码优化细节295
C.2Java代码分析工具297
附录DMySQL定位和优化建议300
D.1数据库性能瓶颈定位300
D.2配置优化302
D.3关于SQL语句的建议305
D.4索引建立和优化原则306
附录EJVM定位和优化建议308
E.1堆内存设置和原理309
E.2虚拟机内存监控手段310
E.3参数说明和垃圾回收器311
E.4常见JVM问题313
E.5如何优化GC314
附录FCookie和Session的关系315
F.1Cookie316
F.2Session317