首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Locust进行负载测试视频流

使用Locust进行负载测试视频流
EN

Stack Overflow用户
提问于 2020-09-20 23:54:52
回答 1查看 338关注 0票数 0

我正在研究如何使用Locust对视频流媒体播放器进行负载测试,但还没能让它工作。基本上,我有一个加载播放器的播放URL,我可以将参数传递给播放器,包括autoPlay=true

因此,我尝试使用传递autoplay参数的播放URL,但这似乎还不够。如果您熟悉视频流,视频通常被分成2到10秒的块;每个块都有一个唯一的URI,播放器在其中获取下一个段。

这在Locust中目前是可能的吗?

下面是我的完整代码:

代码语言:javascript
复制
from locust import HttpUser, task, between


class GenerateViewers(HttpUser):
    wait_time = between(1, 5)

    @task
    def index(self):
        self.client.get("/")

然后,我可以打开Locust UI并输入用于测试的参数,包括播放器URL。我假设发生的情况是,Locust正在命中我在UI上传递的URL并立即退出(即,它只发送一个GET请求)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-21 01:10:37

这在Locust中是可能的,但对于简单的内置用户是不可能的。您说得对,Locust只会在您指定的端点执行一次简单的GET。我使用Locust进行视频流负载测试,但为了获得我想要的行为,我不得不编写自己的用户流来模拟视频播放器。您将需要根据您的特定用例执行相同的操作。

我建议您编写一个Python脚本,它可以完成您想要做的事情。在一个基本的场景中,您可以将整个内容复制并粘贴到Locust中,并将其标记为@task,然后用Locust的网络调用替换您的网络调用。

对于更高级的场景,您可以编写Python代码来执行所需的任何操作,并在所需的点手动触发事件,以将事件的状态报告回Locust。在文档中,这被称为使用自定义客户端测试其他系统。你可以在这里查看https://docs.locust.io/en/stable/testing-other-systems.html

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

https://stackoverflow.com/questions/63980895

复制
相关文章

相似问题

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