创建线程组
新建线程组后,会出现一个线程组的配置界面,如下:![](https://i-blog.csdnimg.cn/blog_migrate/ad091ec3d73e8c11804bd75c487bd892.png)
Number of Threads(users):这是 JMeter 中的线程数,也可以称之为用户数,是产生TPS的,至于产生多少的TPS取决于系统的响应时间,并不能承载系统的负载能力,应该是TPS
Ramp-up Period(in seconds):递增时间,是以秒为单位。指的就是上面配置的线程数将在多长时间内会全部递增完。如果我们配置了 100 线程,这里配置为 10 秒,那么就是 100/(10s*1000ms)=1 线程 /100ms;如果我们配置了 10 线程,这里配置为 1 秒,则是 10/1000=1 线程 /10ms
Loop Count:一个线程中脚本迭代的次数
Delay Thread creation until needed:线程在需要的时候才创建,jmeter默认是在启动的时候就会创建所有的线程,只不过是在递增的时候才按照设置的规则逐渐起用。在启动的时候一次性创建所有的线程会占用更多的CPU资源,但是在开启这个功能后,在实际运行过程中再创建线程,会影响正在跑的线程,所以这里选择是否开启这个功能,需要考虑实际的场景。如果你的线程数很多,一旦启动,压力机的 CPU 都被消耗在创建线程上了,那就可以考虑选择它,否则,可以不选择
Scheduler Configuration:调度器配置,这里有个点,就是如果设置了Loop Count,是会以实际运行时间为结束时间,比如设置了Loop Count为100,而响应时间为0.1秒,线程实际持续时间为10秒,即使这了设置了duration为100秒,还是会以10秒结束的。
startup delay:启动延时时间,就是点击执行按钮以后,此时时间为T,这时仅初始化场景,不执行脚本,到了延迟时间才会执行。
创建TCP Sampler
点击 Thread Group - Add - Sampler - TCP Sampler 确定即可创建![](https://i-blog.csdnimg.cn/blog_migrate/618d3241c6098fd04a64039ccfdb9598.png)
输入服务器的ip和端口,并配置发送内容
![](https://i-blog.csdnimg.cn/blog_migrate/40c668149e3ba6bd937d03ff8ea34934.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9e58e31b3b42b29e903d2687e1a97a1e.png)
显示已经运行成功。
添加断言 为什么要添加断言,要记住工具显示的成功不一定真的成功,必须确认服务端返回的数据是正确的数据才能确认是成功的。
![](https://i-blog.csdnimg.cn/blog_migrate/17f89041e9257a2928949a53f4df1699.png)
这里添加对于响应的断言,点击添加按钮,输入‘OK’,这时再运行脚本。发现运行结果都是失败的,因为返回的响应
String response = message + " is OK";
![](https://i-blog.csdnimg.cn/blog_migrate/3a8a0bd248d4835f038ba7454237eb47.png)
这里有个注意的点,在Tcp Sampler的配置页面中,有一个选项叫做 Re-use connnection,这里jmeter是默认开启的,也就是说jmeter会默认复用连接,所以在实际的测试场景中需要考虑是否需要使用长连接,如果必须用短链接,那可能就需要更多的 CPU 来支撑;要是长连接,就需要更多的内存来支撑用以保存 TCP 连接。