如何正确测试Azure机器人服务

时间:2018-08-20 12:33:57

标签: azure botframework azure-bot-service

我能够通过从Microsoft的身份验证URL(basically through this page)获取正确的身份验证令牌来成功加载测试我的机器人服务器

考虑到我们实际上并没有达到bot框架端点(which has rate limiting),我想知道这是否是对服务的有效测试

是否有另一种方式可以对机器人服务进行负载测试,使我可以复制机器人框架的节流/速率限制?

2 个答案:

答案 0 :(得分:0)

我最终在Visual Studio和Visual Studio Team Services中使用了负载测试。 我之所以使用这种方法,是因为您可以设置负载测试的完整路径。 Azure Bot Service可以是Web App或Function App,具有为接收消息而准备的终结点-使用HTTP POST,因此最终只是Web Service。

您可以为不同的端点设置负载测试,包括所选端点的命中数。如果是Bots,您可以例如通过将100条虚假消息发送到机器人来进行设置测试,以查看性能。

您可以在下面的两个链接下阅读更多信息:

Load test your app in the cloud using Visual Studio and VSTS

Quickstart: Create a load test project

enter image description here

答案 1 :(得分:0)

很遗憾,正如您所链接的文档中所述,由于调整频率的高低,因此无法公开获得费率。

关于用户端限制-只要您模拟合理的流量,这实际上就不会产生任何影响,但是即使您有些落伍,单个用户达到限速功能在功能上也等同于拥有一个多一点的流量。向机器人发送更多消息的单个用户与发送相同数量消息的三个用户稍慢一些,并且就您可能拥有的客户数量而言,您的机器人没有任何限制。也就是说,用户获取消息,阅读消息并键入响应不应使自己陷入速率受限的情况。

但是,关于bot端节流,了解您的bot是否对系统发送消息太快很有用。如果您仅直接回复来自用户的消息,这将不是问题,因为系统在构建时就考虑了回复每个用户的消息。您可能遇到麻烦的唯一方面是,如果您要发送其他(或未经请求的)消息,但是即使在这里,只要您在合理的范围内,您都可以。 (即,如果您没有针对他们发送给您的每条消息尽快向用户发送多条消息,那么您可能就不会遇到问题。)您可以为频道内的漫游器回复设置阈值,且听起来有些合理测试一下。

如果您想查看在发生节流的情况下机器人的响应方式(并不一定迫使其突破节流阈值),请考虑设置自定义渠道,以便每隔一段时间向机器人发送429个错误,必须重试发送消息。