用50个并发线程模拟1万在线用户的逻辑

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用50个并发线程模拟1万在线用户的逻辑相关的知识,希望对你有一定的参考价值。

参考技术A 1.不管是大颗粒度(多接口事务构成一个事务型业务)还是单接口,目前系统的性能对应的tps就在那里,它是不变的

2.  100的tps可以认为是100的并发数,可以用100个并发线程去压测,给几分钟的压测压力,让服务端真正能够达到每秒处理了100个并发请求;但是,更应该注意的是,并非必须用100个并发线程去压,你只要压测出最高的tps后,再根据你设定的最大响应时间,这个最大并发请求可以计算出来。比如你预计最大能接受的响应时间是4s,那么实际的并发数就是最大并发数的基础上乘以4.所以如何选取压测的并发模拟线程,唯一的参考数据不断加压,加压到系统平均响应时间达到1s左右,这时候你就得到了系统最大tps了,那么真实的并发用户数是多少,再根据你定义的最大响应时间乘以这个数就行,它也可以是小于1s,也可以是大于1s

最大tps(每秒请求数)*产品经理约定的最大响应时间=并发用户数

3:问题:

    1万用户,并发度5%,得到最大要求的tps是500,最大响应时间要求是0.1s,那么初始定义压测线程是多少?

0.1 rt 表示 服务器每个线程需要执行的时间,tps表示每秒要处理的线程数,那么500*0.1表示服务端每秒能够处理的线程数为50

小结:

1.单接口最大tps,可以通过一个基本的线程数/响应时间得到,并不需要一定压到1s才能知道

2.预定的tps和响应时间确定的话,那么给出的预压测线程可以轻易计算 =tps*响应时间

以上是关于用50个并发线程模拟1万在线用户的逻辑的主要内容,如果未能解决你的问题,请参考以下文章

性能测试各个指标之间关系

Golang适合高并发场景的原因分析

Linux下模拟多线程的并发并发shell脚本

多线程并发一定比单线程快吗?

JMeter 线程用户限制 - 并发执行 5000 个线程

java高并发系列 - 第32天:高并发中计数器的实现方式有哪些?