首先,先来看个问题:
为什么300并发能把支持最大连接数4000的数据库压死?
- 前端访问有超时限制,超过一段时间后,会自行断开链接,所以后端超级卡顿时,前端会是无法提供服务的。
- 除了前端会有超时断开,应用api也会在一段时间没有收到数据库响应后,超时断开。
一、页面性能测试
页面性能测试是指针对页面性能优化开展的一种测试,目的是对页面进行测试以确认页面是否影响系统并为页面的性能优化提供依据和建议,最终达到系统性能提高的表现。
二、2种提高web页面速度的方式
- 减少请求和响应的往返次数
HTTP缓存:第一次请求了到了客户端缓存下来,下次可以直接缓存中取
- 减少请求和响应的往返字节大小
使用HTTP压缩、使用更少的图画等
三、性能术语及缩写词
测试时间:一轮测试从开始到结束所使用的时间
并发线程数:测试时同时访问被测系统的线程数。注意,由于测试过程中,每个线程都是以尽可能快的速度发请求,与实际用户的使用有极大差别,所以,此数据不等同于实际使用时的并发用户数。
每次时间间隔:测试线程发出一个请求,并得到被测系统的响应后,间隔多少时间发出下一次请求。
平均响应时间:测试线程向被测系统发请求,所有请求的响应时间的平均值。
处理能力:在某一特定环境下,系统处理请求的速度。
cache影响系数:测试数据未必如实际使用时分散,cache在测试过程中会比实际使用时发挥更大作用,从而使测试出的最高处理能力偏高,考虑到这个因素而引入的系数。
用户习惯操作频率:根据用户使用习惯估算出来的,单个用户在一段时间内,使用此类功能的次数。通常以一天内某段固定的高峰使用时间来统计,如果一天内没有哪段时间是固定的高峰使用时间,则以一天的工作时间来统计。
预期平均响应时间:由用户提出的,希望系统在多长时间内响应。注意,这个值并不是某一次访问的时间,而是一段时间多次访问后的平均值。
最大并发用户数:在给定的预期平均响应时间下,系统最多能支持多少个并发用户。这个数据就是实际可以同时使用系统的用户数。
计算公式
l 成功率=成功次数÷(成功次数+失败次数)
l 处理能力=成功次数÷测试时间
l 最短平均响应时间=MIN(平均响应时间)
l 最高处理能力=MAX(处理能力)×(1-cache影响系数)
l 最大并发用户数=(最高处理能力-1÷(预期平均响应时间-最短平均响应时间+(1÷最高处理能力)))÷用户习惯操作频率,
此公式要注意各时间单位的不同和转换