jmeter
文章目录
一、jmeter 为性能测试提供了一下特色:
jmeter 可以对测试静态资源(例如 js、html 等)以及动态资源(例如 php、jsp、ajax 等等)进行性能测试;
jmeter 可以挖掘出系统最大能处理的并发用户数;
jmeter 提供了一系列各种形式的性能分析报告。
二、使用 jmeter 一般用于以下两种类型的性能测试
负载测试:通过测试系统在资源超负荷情况下的表现,以发现设计上的错误或验证系统的负载能力。
压力测试:测试系统能承受的最大负载能力。目的在于发挖掘出目标服务系统可以处理的最大负载。
三、使用jmeter进行性能测试的基本过程
新增线程组 ——> 新增 jmeter元组 ——> 新增监听器 ——> 运行查看结果
总结:测试中变量是 线程数 n ,每个循环时间 t 是个实践值,循环次数 a 只是为了延长单个线程的运行时间,从而保证当最后一个线程启动时,所有线程都在运行中,达到压测效果。
四、jmeter 进行并发登录测试
第一种方案 —— 直接从数据库中获取账号和密码
1、设置线程数为20 ,我们的并发用户量就是20个用户同时登录
2、添加定时器(同步定时器(Synchronizing Timer)–>用来设置集合点,其作用是:阻塞线程,直到指定的线程数量到达后,再一起释放,可以瞬间产生很大的压力
3、设置集合点,当用户数量达到20个的时候再同时请求进行登录操作
(1)Number of Simulated Users to Group by:模拟用户的数量,即指定同时释放的线程数数量,若设置为0,等于设置为线程组中的线程数量;
(2)Timeout in milliseconds:超时时间,即超时多少毫秒后同时释放指定的线程数;如果设置为0,该定时器将会等待线程数达到了设置的线程数才释放,若没有达到设置的线程数会一直死等。如果大于0,那么如果超过Timeout inmilliseconds中设置的最大等待时间后还没达到设置的线程数,Timer将不再等待,释放已到达的线程。默认为0同步定时器(Synchronizing Timer)的超时时间设置要求:超时时间 > 请求集合数量 * 1000 / (线程数 / 线程加载时间)
第二种方案 —— 对登录账号和密码进行参数化
1、添加设置线程数
2、添加定时器,设置集合点
3、添加CSV Data Set Config进行参数化配置