基于mqtt协议的locust的性能压测脚本

本文介绍如何使用Locust进行基于MQTT协议的性能压测,提供了两种不同的实现方式,旨在帮助那些想要自定义客户端压测脚本但缺乏明确指导的读者。官方文档和网络资源可能不够清晰或已过时。文章还邀请读者加入自动化测试交流群以进行更深入的学习和讨论。
摘要由CSDN通过智能技术生成

基于mqtt协议的locust的性能压测脚本

很多小伙伴想自定义客户端的性能压测脚本,又不知道怎么下手,官方文档的例子有很模糊,网上的资料都是千篇一律,大多数都是互相copy的,使用的也不是最新版本的locust,我写了两个例子,希望对大家有所帮助
欢迎加入测试交流群:自动化测试-夜行者(816489363)进行交流学习QAQ
两种实现方式:
第一种:

#!/user/bin/env python
# -*- coding: utf-8 -*-

"""
------------------------------------
@Project : locust_demo
@Time    : 2020/8/12 15:32
@Auth    : chineseluo
@Email   : 848257135@qq.com
@File    : locust_mqtt_demo1.py
@IDE     : PyCharm
------------------------------------
"""
import os
import time
from locust import User, task, between, events
from paho.mqtt.client import Client


class MQTTPubClient(Client):

    def on_connect_rewrite(self, client, userdata, flags, rc):
        print("Connected with result code: " + str(rc))

    def on_message_rewrite(self, client, userdata, msg):
        print(msg.topic + " " + str(msg.payload))

    Client.on_connect = on_connect_rewrite
    Client.on_message = on_message_rewrite

    def __getattribute__(self, name):
        func = Client.__getattribute__(self, name)
        print("func:{}".format(func))

        def wrapper(*args, **kwargs):
            start_time = time.time()
            try:
                result = func(*args, **kwargs)
                print('*' * 100, '\n', result, '$' * 100)
            except Exception as e:
                total_time = int((time.time() - start_time) * 1000)
                events.request_failure.fire(request_type="mqtt_pub", name=name,
                                            response_time=total_time, exception=e,
                                            response_length&
  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
基于MQTT协议的视频是一种基于物联网技术的视频传输方式。MQTT是一种轻量级的即时通讯协议,特点是低带宽、低耗能、可靠传输等。在视频传输中,MQTT协议可以提供可靠的消息订阅和发布机制,以实现实时的视频传输。 基于MQTT协议的视频传输可以有效解决传统视频传输方式的一些问题。首先,基于MQTT协议的视频传输可实现低带宽传输,因为MQTT协议采用压缩和优化技术,可以大幅降低视频传输所需的带宽,节省网络资源。其次,MQTT协议支持低耗能传输,这对于移动设备用户来说尤其重要,通过使用MQTT技术,视频传输可以在保证画质的同时减少能耗,延长电池寿命。此外,基于MQTT协议的视频传输具有可靠性,传输过程中的数据包丢失率低,可以保证视频传输不会出现卡顿、断流等问题。 基于MQTT协议的视频传输应用广泛,例如可用于监控系统的视频传输,通过将摄像头的视频数据通过MQTT协议传输到云端或其他设备上,实现实时监控和远程观看。另外,基于MQTT协议的视频传输也可以应用于视频会议系统,通过MQTT协议将多方视频流传输到各参与者的设备上,实现高效的远程协作和沟通。 总而言之,基于MQTT协议的视频传输利用其低带宽、低耗能和可靠传输等特点,可以提供高效、稳定的视频传输服务,满足不同场景下的视频需求。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值