性能测试理论
- 性能测试
为什么要做性能测试
功能测试、接口测试 只是验证了这个功能是否正常,
检测软件系统,在多用户,长时间的操作下,是否能够正常运行。
专业术语
-
并发用户 同时操作的用户
- 相对并发(虽然有多个用户同时操作,但是做的事情可以不一样。)
- 绝对并发(这些用户,做的事情都是一样的。)
-
响应时间/平均响应时间/百分比(90%)的响应时间
- 90%的响应时间:将所有的时间从小到大排序,取第90%个的时间
-
吞吐量/TPS (衡量系统性能好与坏的 最直观的数据)
- 单位时间内,处理的请求数
- TPS 动态的值,在每一台服务器中,TPS存在最大上限的
-
TPS与并发用户之间关系/平均响应时间与并发用户之间的关系
银行 5个柜台 每个柜台处理一个客户 需要1s
并发用户 TPS 平均响应时间
1 1/s 1s
2 2/s 1s
3 3/s 1s
4 4/s 1s
5 5/s 1s
6 5/s 1.17s
7 5/s 1.28s
8 5/s 1.42s
-
如何找到服务器的最佳并发用户数
-
性能测试的分类
- 负载测试 (满足性能指标的前提下,检测出系统能够处理的最大用户)
- 压力测试 (不断的增加用户,检测出系统在极限状态下能够处理的最大用户\压力值)
- 并发测试 (常见, 对单个接口进行绝对并发 )
- 稳定性测试 (长时间执行)
-
TPS 每秒服务器处理的请求数
-
QPS 每秒服务器处理的查询请求数( 数据库 读写分离的 )
DBA 数据库管理员
同步
数据库1 查询语句
数据库2 增删改
-
内存溢出
软件占用的内存,超过了系统的最大内存。 -
内存泄露
在内存的回收过程中,内存没有回收干净,内存泄露势必会导致内存溢出
内存泄露最大的特点:内存的占用率越来越高。内存泄露一定需要长时间观察。 -
死锁
程序中有多个线程在互相争夺资源,如果没有外力的作用下,程序将无法推进下去,这种情况就叫做死锁。
浙公网安备 33010602011771号