当前位置:网站首页>jmeter并发数量以及压力机的一些限制

jmeter并发数量以及压力机的一些限制

2022-08-09 06:59:00 风华绝代一只猫

作为测试需要了解什么?不需要太难,但是也不能啥都不懂,不懂就没办法做出正确的测试,要知道什么是会影响测试结果的,再深的就需要自己去了解,我也不懂。

一、线程和进程的区别
线程:线程(英语:thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。
我们在jmeter中看到有个线程组,哎就是这玩意儿
在这里插入图片描述

Q:一个http请求就是一个线程吗?
A:是的,一个http请求就是一个线程
Q: Java的服务每收到一个请求就新开一个线程来处理吗?
A:受到tomcat启动的“最大线程数”和“接受排队请求个数”的制约。当已经开启的线程数目小于“最大线程数”时,自然是来一个请求,就会开启一个线程来处理这个请求。但是一旦超过了最大线程数,而又小于允许排队个数,就可以在那排着队,等待着前面的请求执行完了,空出来线程再分配给这些处于等待状态的请求。而如果处于等待的http请求已经等于了允许等待个数,便会直接拒绝此次请求。

进程:进程 – 资源分配的最小单位,我们打开浏览器,实际上就是打开了一个进程,它就会被载入内存空间,并在逻辑上产生一个独立的实例,这就是进程。
当我打开2个 jmeter页面程序,在资源管理器的进程中有两个java的程序
在这里插入图片描述
当我在任意一个jmeter中添加线程组和线程的时候,进程并不会增加。这是因为,一个进程中可以并发多个线程。

二、jmeter可支持多少并发线程
Q:WINDOWS操作系统中1个进程可以允许最大的线程数是多少?
A:默认情况下,一个线程的栈要预留1M的内存空间
而一个进程中可用的内存空间只有2G,所以理论上一个进程中最多可以开2048个线程

Q:linux操作系统1个进程可以运行多少线程数?
A:每个进程都有各自的私有用户空间(0-3G),这个空间对系统中的其他进程是不可见的。每个进程运行的时候,都会拿到4G的虚拟内存,在32位Linux下,其中3G是交给用户的,1G是交给内核的

Q:是不是说一个jmeter进程启动2048个线程?
A:只是理论上,但是内存当然不可能完全拿来作线程的栈,所以实际数目要比这个值要小,你也可以通过连接时修改默认栈大小,将其改的比较小,这样就可以多开一些线程。 如将默认栈的大小改成512K,这样理论上最多就可以开4096个线程。 

Q:jmeter平均响应时间和TPS的计算方法是什么呢?
A:平均响应时间=所有sample样本响应时间和/样本个数
	例如:20s/100个 = 0.2s
	 TPS=(sample样本数)/(结束时间-开始时间)
	 例如:100个/2s = 50tps/s

Q:如何控制jmeter发出的并发数?
A:线程数为100的时候,run_up时间为1s,如果平均响应时间小于1s,则可以加大线程数,不超过2048的线程理论值。因为tps的计算方法是按照秒计算,实际上平均响应时间小于3s都在可以接收范围之内。一味的追求tps的数据,对于服务器有要求,对压力机也有要求,且对网络带宽也有要求,如果想要在1M带宽下达到过高的tps无疑是痴人说梦。

Q:那多少带宽可以支持多少线程数?
A:1Mbps宽带理论上可以传输128kb的数据,具体计算方式为 1*1024 =1024KB  1Mbps的bit 换算为byte 为8:1 ,则1024/8=128KB
	如果一个http请求,请求数据为50个汉字,则128KB*1024/(50*2)(一个汉字2个字节)=1310个请求/s
	如果每秒请求10次,则是1310/10=131个请求/s
	!注意:这也是理论上能达到的处理请求数量,根据请求的图片和数据量的大小,数据是有波动的。
	用户可能下载图片,每秒下载一次图片大小为10kb,计算公式为 128/10 =12.8 人

Q:那我们还需要关注测试压力机的cpu等信息吗?
A:这是肯定的,当cpu被其他的程序所占用的时候,进程中的线程无法获取足够的cpu内存等支持,也是会阻塞排队,影响测试结果的,最好cpu的占用率维持到80%以下,确保压力机本身请求发起是有效的且无丢失的。还要确认程序是否发起了足够的线程。

Q:为什么我没有启动太多线程,但是jmeter报错堆栈溢出呢?
A:可以修改jmeter 内存 参数设置,编辑jmeter.bat                   set HEAP=-Xms1g -Xmx1g -XX:MaxMetaspaceSize=1024m 保存后(1024的倍数),打开jconsole查看是否修改成功,修改之前也可以查看

在这里插入图片描述
在这里插入图片描述

原网站

版权声明
本文为[风华绝代一只猫]所创,转载请带上原文链接,感谢
https://blog.csdn.net/weixin_44867493/article/details/126134460