性能测试的目的
1)评估当前系统。系统未做过任何性能测试,对系统的当前性能情况不了解。
2)寻找系统瓶颈,优化性能。常见现象为某业务操作的响应时间很长,系统上线一段时间后运行很
慢,这些西药逐步分析定位并优化
3)预测未来性能。当用户数和业务量增加时能否及时应对,如何调整,是增加应用服务器还是数据
库服务器,还是要优化代码逻辑
性能测试术语和指标
并发数
1.系统用户数:系统的注册用户数
2.在线用户数:登陆系统的用户数
3.并发用户数:是对服务器产生了压力的用户
并发数的去确定:分析服务器日志,日志分析工具:AWStats,Webalizer,Analog,Deep Log Analyzer
两个概念:1.所有用户同一时刻做同一种操作,主要是验证程序或数据库对并发的处理能力
2.多个用户对系统做多个请求,这些请求可以是同一种操作也可以是不同操作(混合场景)
响应时间
网络请求处理逻辑:没有缓存的情况下,一个请求发出去后,需要经过网络传输,DNS解析等步骤
才能到达服务器,服务器处理完后,经由网络出传输返回给客户端,而客户端
收到以后,要进行解析渲染展示给用户,网络时间包括请求传输时间和响应传输
时间,服务器也可能是多层处理
响应时间=网络传输时间(请求时间)+服务器处理时间(一层处理或多层)+网络传输时间(响应)
+页面前端的解析渲染时间
注意:响应时间长短取决于用户的实际需求
每秒通过事务数
TPS是每秒通过事务数,是直接反应系统性能的指标,该值越大,系统性能越好,每个系统都有上限
不可能无限大,将他与平均事务响应时间进行对比,可以分析事务量对响应时间的影响
例子:当压力加大时,TPS曲线如果变化缓慢或者有平缓的趋势,很有可能是服务器出现瓶颈。如果环境没有发生大的变化,对于同一系统会存在一个最大事务处理能力,他并不会随着并发用户多少而改变
每秒点击数
每秒点击数代表用户每秒向Web服务器发提交的HTTP请求数.但是这里需要注意的是,提交一个登陆请求,对于用户来说感觉是一个请求,但是对于服务器来说也许是多个请求所以点击一次不代表就是一个请求
每秒点击数从侧面可以反映客户端的状况,每秒点击数不正常,一般可能是网络原因或者脚本问题所致
吞吐量
吞吐量是指单位时间内系统处理的请求数量,能直接反应服务器承受的压力,是需要重点关注的指标.
吞吐率一般指用户在给定的一秒内从服务器获得的数据量(服务器返回的数据量)
思考时间
思考时间就是客户进行操作的时间,每个请求或者操作之间的间隔时间,是为了更加真实的模拟用户的操作场景
资源利用率
CPU:它就像人的大脑,主要是进行判断和处理,能反映出系统的繁忙程度,一般分为系统CPU和用户CPU,系统CPU处理的是系统本身所占用的资源,用户CPU处理的是程序所占用的资源
Load Average:指一段时间内CPU正在处理和等待CPU处理的任务,,也就是CPU使用队列长度的统计信息(地铁站里等待进站上车的乘客越多load average越大)\
Memory:它就像是人大脑的记忆区域,将各种信息收集起来存放,数据从内存中读取要比从磁盘上读取速度快,内存经常发生内存泄露和内存溢出的现象,是需要重点留意的,短时间之内可用的内存越来越少不代表一定会有内存溢出和泄露
队列:队列长说明处理能力可能达到极致或者遇到阻塞
IO:与磁盘的交互,重点关注交换的频率和磁盘的队列长度
网络:重点关注网络的流量,看是否存在网络带宽的瓶颈