### 性能测试全篇笔记知识点详述
#### 一、性能测试概述
##### 1. 哪些网站需要做性能测试?
- **B/S架构**:即浏览器与服务器架构,常见于大部分互联网应用中。
- **C/S架构**:即客户端与服务器架构,常见于桌面应用程序或特定客户端软件。
无论是哪种架构类型,只要该系统存在较大的用户访问量,如电子商务网站、票务预订系统、网络游戏、金融服务平台等,均需考虑进行性能测试。这是因为这类系统在高并发访问下可能会遇到各种性能瓶颈。
##### 2. 性能测试的目的
性能测试的目标在于:
1. **评估当前系统**:了解现有系统的性能水平,为后续的优化工作提供依据。
2. **寻找瓶颈,优化性能**:针对系统响应时间过长或运行缓慢等问题,进行深入分析,并采取相应的优化措施。
3. **预测未来性能**:根据业务增长趋势,评估系统的可扩展性,并提前规划必要的硬件升级或代码优化方案。
#### 二、性能测试关键指标
##### 1. 响应时间
指系统从接收请求到完成处理并返回结果所需的时间。响应时间越短,用户体验通常越好。
##### 2. 吞吐量
- **衡量指标TPS**:即每秒事务数,用于评估系统单位时间内能处理的最大事务量。更高的TPS意味着系统处理能力更强。
#### 三、性能测试实施方法
- **采用工具模拟大量用户访问**:通过性能测试工具来模拟真实的用户行为,如多线程并发访问等。
- **常用工具**:例如JMeter,它能够模拟成千上万的用户同时访问目标系统。
#### 四、JMeter 5.3 实战指南
##### 1. 手动编写脚本
手动编写测试脚本是一种更为灵活的方法,可以精确控制测试过程中的每一个细节。此部分提供了示例图片来展示具体的步骤和配置。
##### 2. 录制脚本
- **BadBoy工具**:
- BadBoy是一款免费的脚本录制工具,内置IE浏览器,通过人工操作即可自动记录操作流程并生成测试脚本。
- **下载地址**:`http://www.badboy.com.au/`
- **教程地址**:`https://www.cnblogs.com/auguse/articles/13881806.html`
- **JMeter录制**:
- JMeter自带的HTTP代理服务器可用于录制脚本。通过创建HTTP代理服务器组件,设置监听端口(默认为8888,建议改为10000以上的端口),并在浏览器中配置代理服务器地址和端口,即可开始录制。
- **步骤**:
1. 新建测试计划。
2. 添加HTTP代理服务器。
3. 配置浏览器代理设置。
#### 五、总结
通过对上述内容的深入探讨,我们可以看到性能测试对于保障系统的稳定性和高效运行至关重要。不仅需要关注现有的性能状况,还需具备对未来性能的预见能力。借助性能测试工具如JMeter等,通过手动编写或录制脚本来模拟真实用户的访问行为,可以帮助我们更准确地识别系统中存在的潜在问题,并采取相应措施进行优化。这不仅能提升用户体验,还能确保系统在面对不断增长的用户量时保持良好的性能表现。