数据测试 <虚心请教>请教 测试 --- 平台支持最大用户量的测试方法和思路问题,请大佬帮忙看下思路是否正确,提出宝贵意见

Hao123 · 2022年11月23日 · 最后由 我去炒饭 回复于 2022年11月25日 · 4176 次阅读

需求:新开发一个平台,主要产品就是设备,然后设备在不同的模块去发生不同的事件,也可以说:一个设备代表一个用户把
1、现在领导就想知道我们平台是否可以支撑住 30-50w 的设备去使用,而且功能不分大小,起码每个模块的功能都能支撑的住这 30w 用户去发生多次事件
2、大概可以支撑多久

我的思路:
1、先准备 2w--5w--8w--10w--15w--20w 等等依次递增的测试设备出来
2、先在平台从 1w 设备开始加起,加完后,在每个主业务模块用这 1w 个设备去发生多次事件,然后我要么设置循环次数或者设置 运行时间,看下每个事件(主功能)支持的最大并发数是多少,然后记录结果
3、之前小测了一下,发现每个接口支持的并发数很小,有的 200 多,有的 1000 左右,所以如果等每个事件都加够 10 万数据就花费很长时间得好几天,此时就需要问下大家:如果老板想知道我们平台是否可以支撑住 20w 的设备数(没说是最后累计 20w,还是一次性 20w,正常都是递增,反正听意思就是如果我现在有 20w 设备,你平台可以支撑住不),那我是不是加的过程没有那么重要,重点就是看结果,看每个模块都通过多次反复的加,分别都加够 20w 设备所发生的多次事件后,平台是否会无响应,卡顿、奔溃等情况,出现的话,需要开发优化,没出的话,就暂时先这样
4、等上面单独接口都测完后,再说压测稳定性问题:如果我想看平台是否稳定,那我就把这些接口都组合起来一起测,线程数不用太多,然后最低运行 24 小时看看服务器整体情况?---补充一点,连续长时间运行,可能会发生较多错误,因为线程多服务器会处理不过来就报错,所以大家觉得稳定性测试,一般设置多少线程比较合适
以上就是我的一个思路,大家觉得这种方法可行吗?马上我就要开始测试了,请大家给点宝贵意见!

最佳回复

” 现在领导就想知道我们平台是否可以支撑住 30-50w 的设备去使用,而且功能不分大小,起码每个模块的功能都能支撑的住这 30w 用户去发生多次事件 “

--大概可以猜测是总量为 50W,那么可以根据每个模块大概的比例,分配出每个模块的用户量(没有必要每个模块都压到 50W,性能测试也是有成本的),比如你们有 ABCDE5 个功能,其中 ABC 占 80%,DE 占 20%,那么 A 功能大约就压到(50W*80%)/3 的量级就可以了。

测试步骤:测试目标明确了,那就好办了,直接上压力,不需要逐步加压(如果性能真的太差,比如直接压挂了,或者响应时间太长,再逐步用二分法减压)

等每个模块的性能问题解决的差不多了(TPS 和响应时间大家都能接受了),再考虑全系统加压

重点关注系统分发功能的性能、资源互锁的问题

最后再做稳定性测试(一般的做法是 80% 左右的峰值量去压)

铺底数据的问题,建议越多越好,直接按 30W 的量去准备就好,SQL 或者接口都行。

共收到 13 条回复 时间 点赞

问一下是什么设备?

回复

可以发数据用来监测动物体内情况的设备

搬个凳子看看

11楼 已删除

” 现在领导就想知道我们平台是否可以支撑住 30-50w 的设备去使用,而且功能不分大小,起码每个模块的功能都能支撑的住这 30w 用户去发生多次事件 “

--大概可以猜测是总量为 50W,那么可以根据每个模块大概的比例,分配出每个模块的用户量(没有必要每个模块都压到 50W,性能测试也是有成本的),比如你们有 ABCDE5 个功能,其中 ABC 占 80%,DE 占 20%,那么 A 功能大约就压到(50W*80%)/3 的量级就可以了。

测试步骤:测试目标明确了,那就好办了,直接上压力,不需要逐步加压(如果性能真的太差,比如直接压挂了,或者响应时间太长,再逐步用二分法减压)

等每个模块的性能问题解决的差不多了(TPS 和响应时间大家都能接受了),再考虑全系统加压

重点关注系统分发功能的性能、资源互锁的问题

最后再做稳定性测试(一般的做法是 80% 左右的峰值量去压)

铺底数据的问题,建议越多越好,直接按 30W 的量去准备就好,SQL 或者接口都行。

CKL的思考 回复

测试步骤:测试目标明确了,那就好办了,直接上压力,不需要逐步加压(如果性能真的太差,比如直接压挂了,或者响应时间太长,再逐步用二分法减压)

我现在就是单接口压的过程中比较痛苦,因为线程数上不去,比如你说的这句:那么 A 功能大约就压到(50W*80%)/3 的量级就可以了。当我这个接口线程设置 2000,如果持续运行 2 分钟就开始各种报错(每次报错我都是先找是不是我这边的问题,不是后才对开发说,开发也没时间去调优),所以如果负载加压到 13w,可想而知要加很久很久,而且响应时间都大于很长,95% 的差不多都在 5-6 秒,tps 也不高😂 ;之前反馈给开发说慢的问题,开发就说,我保证我代码不报错就行,这响应时间长和并发量低,他也没办法😂

Hao123 回复

” 之前反馈给开发说慢的问题,开发就说,我保证我代码不报错就行,这响应时间长和并发量低,他也没办法 “
--你说:如果你也能和老板这么说,那我也没意见,需求是老板提的,不是我提的。

前期如果真的意识到性能问题,优化起来的收益是非常可观的。从 5 秒变 1 秒是相对比较简单的,从 1 秒变 500 毫妙,那才麻烦。

加油。

仅楼主可见
回复

supersheeps 这个工具搜索没搜到什么信息😂 ,我不会 python 不会代码级的,所以这个工具适合用吗,主要是简单好用不😀

CKL的思考 回复

谢谢,感觉您的建议很好思路又清晰,学习了👍

仅楼主可见

为啥回复要仅楼主可见啊?我也想学习学习呀 大佬😖

回复

嗯嗯,好的,我现在用得工具就是 jmeter 分布式去测试

为啥回复要仅楼主可见啊?我也想学习学习呀 大佬😖

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册