Dialogflow Chatbot 负载/性能测试

Posted

技术标签:

【中文标题】Dialogflow Chatbot 负载/性能测试【英文标题】:Dialogflow Chatbot Load/Performance Testing 【发布时间】:2021-07-24 07:53:58 【问题描述】:

我一直在为我的任务在 Dialogflow 上开发一个聊天机器人,我的讲师说我需要对聊天机器人进行测试。我想询问是否有任何方法可以测试聊天机器人一次可以处理多少用户?非常感谢您对此事的任何帮助

【问题讨论】:

【参考方案1】:

根据documentation,在将聊天机器人代码部署到生产环境之前,建议执行负载测试,并应考虑三个要点:

增加负载。您的负载测试必须增加应用于 Dialogflow 服务的负载。该服务并非旨在处理负载的突然爆发,而实际流量很少会遇到这种情况。服务需要时间来适应负载需求,因此请缓慢提高请求率,直到您的测试达到所需的负载。

API 调用是收费的。测试期间调用 API 会向您收费,并且调用会受到项目配额的限制。

使用测试替身。您可能不需要在负载测试期间调用 API。如果负载测试的目的是确定系统如何处理负载,通常最好使用测试替身来代替对 API 的实际调用。您的测试替身可以模拟 API 在负载下的行为。

使用重试。您的负载测试必须执行带有退避的重试。

负载测试场景将取决于您的代理操作模式。文档中的This tutorial 展示了如何测试 webhook fullfilment 中的请求峰值和浸泡测试(恒定数量的请求):

尖峰测试: 不断的请求,突然增加负载。
ab -n 60 -c 60 -p ActionRequest.json -T 'application/json' https://example.com/webhookFunctionName
浸泡测试: 观察响应的请求数量恒定。
ab -t 120 -n 1200 -p ActionRequest.json -T 'application/json' https://example.com/webhookFunctionName

除了上述信息之外,您还应该记住 Dialogfdlow ES 的 Quotas,例如 Dialogflow ES 文本请求的配额是每分钟 600 个请求(试用版每分钟 180 个)。请在链接文档的表格中检查哪一项适用于您。

【讨论】:

以上是关于Dialogflow Chatbot 负载/性能测试的主要内容,如果未能解决你的问题,请参考以下文章

性能测试轻量级压测工具Hey

你真的了解压测吗?实战讲述性能测试场景设计和实现

两种开源聊天机器人的性能测试——基于tensorflow的chatbot

性能测试软件lr主要包括哪些组件?各自有啥作用

你真的了解压测吗?实战讲述性能测试场景设计和实现

swingbench-免费的oracle性能压测工具