最近在做 jmeter 性能测试,但是有一个疑惑,RT,向圈子里的大佬求知。
与你所在的网络也有关系,线程数上去可能会流量丢包,出现报错,服务器压力却上不去
就是说本机测试机的 cpu 和本地网络带宽有关 那请问如果服务器能够承受高并发 jmeter 怎么能算到我本地单测试机的最大并发量呢
1 万并发限制,会报错的
抛开压力机本身的配置 谈并发,都是耍流氓
压力机配置一定的前提下,访问 Nginx 的返回 1 的静态文件,保障 Nginx 服务没有性能瓶颈、保障带宽,然后就可以测试计算了
首先说明一下,抛开用户模型,谈 jmeter 支持的最大并发用户也是不准确的。
比如:登录、退出接口(前提:登录服务没有性能瓶颈)
用户模型 1: 登录,无等待时间,退出
用户模型 2: 登录,等待 10 秒,退出
同样的压力机配置、Jmeter、Jdk,这两种不同的用户模型,测试出来的最大并发用户数也是不一样的。
因为 Jmeter 是 Java 开发的、基于多线程并发模型的压测工具。一个虚拟用户,就对应一个线程。Jmeter 实际上是通过频繁的上下文切换,切换线程来造成并发用户的现象的。
所以,不同的用户模型,上下文切换对 CPU 造成的压力也是不一样的,从而测试出来的可支持的最大并发用户数也不一样。
建议,评估角度,从支持的最大并发用户数,改为能发出的最大 QPS。
具体可以看一下这篇文章 服务端|性能测试入门指南 之 性能工具性能对比
作为一名专职的性能测试的工程师,个人觉得,单机并发,这个词太过宽泛了。首先 “单机” 这个词,到底硬件层是何种配置?主机是否优化到最佳还是保持了一系列默认的配置?另外 “并发”,你测试的场景不同所能支持的并发肯定不同。如果都抛开了这些再谈,那么理论上单机就是 65535 -1024 = 64511 个并发。
jmeter 能启动多少线程,由你的堆内存和栈内存决定
8c16g 的负载机 最多差不多 4000 并发