创建线程组

新建线程组后,会出现一个线程组的配置界面,如下

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 确定即可创建

输入服务器的ip和端口,并配置发送内容

点击运行脚本

显示已经运行成功。

添加断言

为什么要添加断言,要记住工具显示的成功不一定真的成功,必须确认服务端返回的数据是正确的数据才能确认是成功的。

这里添加对于响应的断言,点击添加按钮,输入‘OK’,这时再运行脚本。发现运行结果都是失败的,因为返回的响应是

String response = message + " is OK";

这里有个注意的点,在Tcp Sampler的配置页面中,有一个选项叫做 Re-use connnection,这里jmeter是默认开启的,也就是说jmeter会默认复用连接,所以在实际的测试场景中需要考虑是否需要使用长连接,如果必须用短链接,那可能就需要更多的 CPU 来支撑;要是长连接,就需要更多的内存来支撑用以保存 TCP 连接。

如果有客官想要尝试跑一下,可以自己手写一个简单的tcpserver,或者关注并私信小编,可获取代码。

jmeter是一个跟强大的性能测试工具,小编后面还会把学习到的关于jmeter的内容分享出来,各位客官也可以使用头条搜索来获取更多关于tcp压测和jmeter的内容

jmeter 用户数 线程数_如何使用jmeter编写TCP测试脚本相关推荐

  1. jmeter 用户数 线程数_jmeter的线程数,并发用户数,TPS,RPS 关系解说

    背景 在做性能测试的时候,传统方式都是用并发虚拟用户数来衡量系统的性能(站在客户端视角),一般适用于一些网页站点例如首页.H5的压测:而RPS(Requests per second)模式主要是为了方 ...

  2. 高级性能测试系列《34.普通性能场景:​jmeter的线程数,有没有限制?线程数+ramp-up时间,怎么设置才比较合理?》...

    目录 一.回顾 二.性能测试场景设计 六种常见设计方法 三.普通性能场景 1.jmeter的线程数,有没有限制呢? 2.ramp-up时间 3.线程数+ramp-up时间,怎么设置才比较合理? 4.循 ...

  3. 5000并发_彻底理解 jmeter 的线程数与并发数之间的关系

    概述 在jmeter中,只要提到并发,99%的同学立马想到线程组.需要多少并发就启动多少线程组,这已经成了大部分人的共识.这种理解方式很明显是把并发数和线程数的概念混淆了.线程组中不光有线程数,也有循 ...

  4. springboot tomcat默认线程数_记一次JAVA线程池的错误用法

    最近项目一个项目要结项了,但客户要求 TPS 能达到上千,而用我写的代码再怎么弄成只能达到 30 + 的 TPS,然后我又将代码中能缓存的都缓存了,能拆分的也都拆分了,拆分时用的线程池来实现的:其实现 ...

  5. parallelstream启动的线程数_高并发与多线程网络学习笔记(三)线程组和线程池

    线程组 线程组的作用是:可以批量管理线程或线程组对象,有效地对线程或线程组对象进行组织. 构造函数 ThreadGroup(String name)//默认parent为当前线程组 ThreadGro ...

  6. java压测请求线程数_程序员撕开京东 618 大促压测的另一面 | 原力计划

    作者 | 天涯泪小武 责编 | 王晓曼 出品 | CSDN博客 前天618大促演练进行了全链路压测,在此之前刚好我的热key探测框架也已经上线灰度一周了,小范围上线了几千台服务器,每秒大概接收几千个k ...

  7. postgres 支持的线程数_为什么 Java 坚持多线程不选择协程?

    先说结论:协程是非常值得学习的概念,它是多任务编程的未来.但是Java全力推进这个事情的动力并不大. 先返回到问题的本源.当我们希望引入协程,我们想解决什么问题.我想不外乎下面几点: 节省资源,轻量, ...

  8. 多线程 空值线程数_【开发者成长】深入理解多线程编程

    云栖号资讯:[点击查看更多行业资讯] 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 为什么要使用多线程? 防止并发编程出错最好的办法就是不写并发程序 既然多线程编程容易出错,为什么它 ...

  9. java.线程池 线程数_如何在线程“ main”中修复异常java.lang.NoClassDefFoundError:Java中的org / slf4j / LoggerFactory...

    java.线程池 线程数 此错误表示您的代码或您在应用程序中使用的任何外部库都在使用SLF4J库 (一个开放源代码日志记录库),但无法找到所需的JAR文件,例如slf4j-api-1.7.2.jar因 ...

最新文章

  1. 魏少军谈AI芯片热潮和架构创新 透露清华Thinker芯片将独立融资
  2. DRP问题集结(一)-Tomcat无法启动,报错java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory...
  3. linux 内核信号量与用户态信号量(system v,信号量在Linux多线程机制中的应用
  4. centos7安装git_【DevOps】centos7 下的 gitlab托管服务器的介绍与安装
  5. 题目1174:查找第K小数
  6. URAL 1055 Combinations
  7. 从命令行运行 MyBatis Generator
  8. 扫描路径_SolidWorks沿路径扭转扫描的线缆实例
  9. hibernate学习和各种关系总结
  10. 算法入门经典 第三章
  11. 露出暴露自拍论坛_如何照出高质感的自拍?——18个技巧,值得收藏
  12. mac下 home-brew安装及php,nginx环境安装及配置
  13. UITableView 协议方法中更好的 switch 使用方案
  14. X 射线成像 新型数字技术 —— CMOS 探测器
  15. Eratosthenes筛选法
  16. 大数据分析常用的方法有哪些
  17. 推荐 | 微软SAR近邻协同过滤算法解析(一)
  18. NGUI的拖拽和放下功能的制作,简易背包系统功能(drag and drop item)
  19. spss——主成分分析详解
  20. cad上样条曲线上的点太多了_CAD如何将样条曲线转换成多段线

热门文章

  1. java常用网络协议_初识java网络编程
  2. java上机实验答案_java上机实验答案与解析
  3. 像个字段相减绝对值_张歆艺做家务受伤,袁弘俩字逗乐媳妇,真是幼稚得像个大龄儿童...
  4. oracle主备不同步,主备环境下数据不一致重新部署复制
  5. Ubuntu 安装 python-opencv
  6. 使用JAVA加jxl jar操作EXECL
  7. Ibator生成iBATIS配置文件 DO及DAO操作记录
  8. SOCKET聊天室字符界面版
  9. 我本人一直以来犯的错误,在看了 Think In Java 后才抓了出来
  10. quartz的job类无法保留本身通过spring注入的属性问题