我想知道如何测试最多100万活跃用户的网络服务,所有用户都同时访问该网站。
这是理论上的 - 我没有像这样的网络服务,但是最近才reading this article on how to build a scalable app for > 500K users,它让我想知道人们会如何测试这个?
为了便于讨论,我们假设我完全控制了该服务,并且已经创建了100万个测试帐户,用户名为test1
- > test1000000
可用。我希望帐户从世界各地访问我的服务,但我愿意接受任何建议!
答案 0 :(得分:1)
我认为,在高层次上,可能会有遍布全球的测试节点。每个都包含验证和执行某种类型的事务的逻辑。测试帐户块可以分发到每个节点,每个节点将并行启动测试。
在实际层面上,我将首先看一下框架locust.io声称它在标记行中执行此操作:)
答案 1 :(得分:1)
您可以使用apache jmeter或我的个人偏好siege
在围攻的情况下,我会考虑生成一个urls.txt文件,其中包含数百个网址,每个网址代表来自用户的呼叫并同时运行它们。
至于你对这些地点的关注 Blazemeter也进行了地理分布式压力测试
答案 2 :(得分:1)
您可以查看Tsung工具http://tsung.erlang-projects.org/ 它的重量非常轻,允许从普通机器运行数十万虚拟用户(取决于您的脚本难度)。
答案 3 :(得分:0)
虽然您无法在这些网站上执行多步骤自动化,但以下服务可让您点击来自不同客户位置(例如亚洲,北美,澳大利亚)的网址,并在您希望进行测试时限制带宽用途:
WebPageTest - https://www.webpagetest.org/ - 来自他们的关于页面:" WebPagetest是一个开源项目,主要由Google开发和支持,作为我们努力提高网络速度的一部分。"这个站点还有一个api,是opensource,允许你通过节点api和cli自动化它。
Pingdom的 https://tools.pingdom.com/
中的更多信息