1、了解服务器性能测试测的是哪个流程?
2、服务器性能测试的必要性
app请求只跟自己有关,比如1万人发起修改性别的请求,每个请求是0.2秒,对app而言就是0.2秒请求一次,但是对服务器来说就是1万X0.2=2000秒,服务器扛不住就瘫了,所以需要对服务器的性能进行测试。
3、服务器性能测试的指标
RT(响应时间):平均响应时间、最小响应时间、最大响应时间、中间值
TT(思考时间):jmeter并发请求是瞬间请求的,而真实情况用户输入数据是有时间,比如抢购一件商品,用户买的时候是需要点击商品属性、颜色、款式啥的,而且付款按钮的点击也是有先后顺序的,这都是需要时间的,而jmeter是已经填好的,所以为了模拟用户的真实操作,会加上思考时间。
QPS(每秒发送请求数):客户端每秒钟发出的请求数
4、集合点
测试服务器最多能承受多少请求的并发。使用场景,整点抢票(比如夜里12点,是真的有很多人蹲点抢票,前提是要保证有足够的用户量,否则没啥意义)
集合点-同步定时器(Synchronizing Timer)
(1)所有的线程都到达之后,一起同时发送请求
(2)集合点等待时间3s的含义:
a、线程A到达之后等待3s,如果无其他线程到达,则线程A不再等待,直接发送请求
b、线程A到达之后等待3s,如果有其他线程B到达,则线程A和线程B重新计时等待,3s之内--如果 无其他线程,则不再等待,如果有其他线程,则一起重新计时等待(等待是不可能无限等待的,如果线程中断,就没法控制了,所以一般会设置一个最长等待时间)
5、数据库连接池
数据库建立连接时,消耗DB的性能最大。
数据库建立连接后是需要销毁的,否则一直占着连接不用,当达到数据库的最大连接数量时,其他请求都无法访问数据库。
为了减少对DB的消耗,使用数据库连接池。在系统初始化的时候,将数据库连接作为对象存储在内存中,当用户需要访问数据库时,并非建立一个新的连接,而是从连接池中取出一个已建立的空闲连接对象,使用完毕后,用户也并非将连接关闭,而是将连接放回连接池中,以供下一个请求访问使用。