性能测试
1.1 性能测试的含义
- 测试软件的性能表现, 考量软件运行的如何。
- 一般关注时间/效率、 资源占用等情况。
1.2 响应时间
- 应用系统从用户发出请求开始, 到客户端接收到所有数据所消耗的时间。
- 网页响应时间可以细分为网络传输时间、 DNS 解析时间、 应用服务器处理时间、数据库处理时间等。
1.3 在线用户、 并发用户与虚拟用户
- 在线用户表示正在使用软件的用户。
- 并发用户是指同一时刻与服务器进行数据交互的所有用户数量, 在线用户未必是并发用户。
- 性能测试工具使用虚拟用户模拟真实用户的行为。
1.4 吞吐量与吞吐率
- 吞吐量指一段时间内服务器处理的总字节数。
- 吞吐率指单位时间内服务器处理的字节数, 即吞吐量/测试时间。
1.5 每秒事务数 TPS
- 表示每秒系统处理的事务数。
1.6 点击率
- 指每秒钟用户向服务器提交的 HTTP 请求的数量。
- 点击一次可能会向服务器发出多个 HTTP 请求。
1.7 思考时间/休眠时间/等待时间
- 指用户在进行操作时, 每个请求之间的时间间隔。
1.8 资源利用率与性能计数器
- 资源利用率指服务器系统中不同硬件资源被占用的程度, 主要包括 CPU 利用率、内存利用率、 磁盘利用率、 网络等。
- 性能计数器是描述服务器或操作系统性能的一些数据指标。主要是通过添加计数器来观察系统资源的使用情况。
1.9 负载测试、 压力测试与并发测试
- 负载测试通过对被测试系统不断的加压, 直到超过预定的指标或者部分资源已经达到了一种饱和状态不能再加压为止。 此方法主要是为了寻找系统最大的负载能力,为性能调优提供依据。
- 压力测试是当系统已经达到一定的饱和程度(如 CPU、 磁盘等已经处于一种饱和状态) 时, 测试系统处理业务的能力, 测试系统是否会出现崩溃等。 此方法一般用于系统稳定性测试。
- 并发测试通过模拟用户并发访问, 测试多用户同时访问同一应用、 模块或数据, 观察系统是否存在死锁、 系统处理速度明显下降等性能问题。
HTTP响应状态码
状态码由 3 位数字组成, 第一位表示响应的类别。
- 1xx: 指示信息, 表示请求已接收, 继续处理。
- 2xx: 成功, 表示请求已被成功接收、 理解、 接受。
- 3xx: 重定向, 要完成请求必须进行进一步的操作。
- 4xx: 4 开头的代表客户错误。
- 403 错误
- 表示资源不可用, 服务器上文件或目录拒绝访问。
- 通常由于服务器上文件或目录的权限设置导致的 WEB 访问错误。
- 404 错误
- 告诉浏览者其所请求的页面不存在或链接错误。
- 通常是在目标页面被更改或移除,或客户端输入页面地址错误后显示
的页面。
- 403 错误
- 5xx: 5 开头代表服务器端错误。
- 一般的产生原因是由于服务器不支持的组件而出错。