我开发了一个使用 Azure EventHub的应用程序- 它声称是用于发布和处理大量事件的非常可扩展的解决方案 - 现在我想对最终解决方案进行负载测试,以查看整个系统是否符合我的要求或我需要向 EventHub 添加更多吞吐量单元以处理预期的入口。
我的客户正在使用 EventHub 的 HTTP 端点来发布事件,这实际上意味着当客户想要发布事件时,它会将 HTTPS POST 请求发送到一个特殊的 URL,例如:
//mynamespace.servicebus.windows.net/myeventhub/publishers/mypublisher
我可以轻松地从本地机器加载测试此服务(例如使用Apache JMeter),但不幸的是,我的本地机器资源有限,因此我无法生成大负载来测试我的服务。
大负载是什么意思?
我需要针对每秒给定数量的请求测试系统——这个给定的数量应该在 20,000 到 100,000 之间——所以在最坏的情况下,我必须以100,000 个请求/秒来测试它。
有多个云负载测试工具可以产生如此大的负载并且它们很好 - 但是,当我必须验证我要测试的系统是我的财产时,云中的每个负载测试工具都需要一些验证步骤。(因此负载测试器不会对 WhiteHouse 网站进行 DDoS。)
为此,我通常必须在运行测试之前将验证令牌上传到负载测试工具检查的 URL。不幸的是,在这种情况下,我无法控制 EventHub 的端点,因此我无法将令牌上传到:
//mynamespace.servicebus.windows.net/verificationToken.txt
云中是否有任何负载测试解决方案可以与 Azure EventHubs 一起使用?
如果没有,我如何加载测试基于 EventHub 的服务?