首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >负载测试-需要运行模拟100K用户的测试

负载测试-需要运行模拟100K用户的测试
EN

Stack Overflow用户
提问于 2014-06-25 16:05:05
回答 2查看 602关注 0票数 1

我们需要对服务器进行负载测试,我们的目标是模拟100K并发用户。我已经创建了一个junit脚本,它接收一个NUM_OF_USERS参数并在我们的服务器上运行该脚本。

问题是我们需要大量的用户(100K),而运行此测试的单个pc可能只能处理1000个用户。

我们如何才能完成这项任务?有什么工具可以解决这个问题吗?

如果我们可以在多台pcs上运行这个junit测试,而不是使用需要配置相关参数的工具,那就太好了。(我们花了很多时间创建此脚本,希望避免过渡到其他工具)

EN

回答 2

Stack Overflow用户

发布于 2014-06-25 16:18:08

正如你所理解的,打开100K线程是不可能的。但是,您并不真正需要100K线程。人类用户的反应相对较慢。每10秒执行最大动作或类似的操作。

因此,您可以创建大约100个线程,但每个线程都应该模拟1000个用户。如何模拟?你可以保存1000个代表用户状态的对象,按顺序或随机地进入列表,执行下一个用户的操作。

你可以自己实现,也可以使用参与者模型框架,例如Akka

如果你现在不想使用Akka,你可以使用JMeter改进第一个解决方案。您可以在JMeter中实现插件,在其中您可以使用相同的逻辑来模拟一个线程中的多个用户,但线程池将由my JMeter管理。作为一个好处,您将获得报告,时间测量和可配置的负载。

票数 0
EN

Stack Overflow用户

发布于 2014-06-25 20:05:30

您不需要模拟100k用户,就可以大致了解100k用户的性能。由于您的模拟不能准确地模拟真实用户,您已经接受了一些不准确,所以为什么不更进一步呢?

您可以使用100、300和1000个模拟用户(您说您的计算机将管理这些用户)来测量性能,并看到趋势。也就是说,您可以创建一个性能模型,并使用该模型通过外推来估计性能。计算成本(例如,在CPU时间或内存中)可以由幂律近似:

C= C0 N^p

其中C是成本,C0是未知的成本常数,N是问题大小(对于您的情况,是用户数),p是一个未知数(可能在0到2的范围内)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24403304

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档