zoukankan      html  css  js  c++  java
  • jmeter如何进行MQTT性能测试(测试前期准备一,性能测试需求)

    接到一个有关MQTT的性能测试任务,把查找资料到解决问题的过程都记录、分享下

    首先先科普下性能测试中相关术语的解释及

    说到性能测试、负载测试、压力测试、并发测试,很多人都是混合使用,或者一会叫压力测试,一会叫并发测试。这些概念除了非测试人员分不清楚,甚至许多专业测试人员也对这些名词也很模糊

    基准性能测试 ,少量用户进行性能测试,查看相应结果,以此作为一个基准去测试

    压力测试,分为轻、中、高三级压力,查看测试过程中,在一定饱和状态下,例如cpu、内存在接近饱和使用情况下,系统能够处理的会话能力,以及系统是否会出现严重问题(如崩溃,死锁,占用资源无法释放,错误率超过预期的指标),

    主要是作为查看系统在一定时间端经历较高压力后,再一定时间端内是否能恢复正常

    负载测试,通过对被测系统由小到大不断加压,直到性能指标(如:平均响应时间、错误率、CPU/Mem系统资源占用)达到不满足预期的情况。

    并发测试,并发测试方法通过模拟用户并发访问,测试多用户并发访问同一个应用、同一个模块或者数据记录时是否存在死锁或其者他性能问题。

    稳定性测试,在给系统加载一定业务压力的情况下,使系统运行一段时间(如7x24小时),以此检测系统是否稳定。至于给多大的压力,可以参考负载测试的极限压力再乘以80%。

    测试过程中分为下面几大点

    一、性能测试需求

    二、工具插件选型

    三、MQTT协议了解

    四、性能用例设计

    五、性能执行过程监控(nmon)

    六、测试结果分析

    一、性能测试需求

    不管做任何性能测试,首先一定要有一个大概的需求,比如这次我测试的需求就是从MQTT发布消息到服务器处理,最后存入数据库花费时间不能超过3s

    需求一般是产品/客户/cto 这类人会提出的要求,总之谁让你测性能,需求来源就从谁那里问

    可以参考这位大佬写的,写得蛮详细的,链接附上:https://blog.csdn.net/weixin_40906439/article/details/79124028

    一般性能需求点的选取

    性能测试点的选取

     1.发生频率非常高的(例如:某邮箱核心业务系统中的登录、收发邮件等业务,它们在每天的业务总量中占到90%以上)

    2.关键程度非常高的(产品经理认为绝对不能出现问题的,如登录等)

    2.资源占用非常严重的(导致磁盘I/O非常大的,例如某个业务进行结果提交时需要向数十个表存取数据,或者一个查询提交请求时会检索出大量的数据记录)

     

    一般的性能需求点:

     

    1、响应速度-比如:API请求的平均响应时间应低于1s, WEB首页打开速度5s以下,web登陆速度 15s以下。

    2、服务支持50万个在线用户

    3、某接口支持200个用户同时调用(平均3秒调用一次)

    3、计费请求成功率达到99.999%以上。

    4、在100个并发用户的高峰期,邮箱的基本功能,处理能力至少达到10TPS

    5、系统能在高于实际系统运行压力1倍的情况下,稳定的运行12小时 

    6、这个系统能否支撑200万的vu(每天登录系统的人次)  

     

    性能的水很深,今天记录的东西是测试过程中的一个总结,也是查找资料的参考一些大佬写的博客,有不对的地方,欢迎指正

  • 相关阅读:
    浅析VO、DTO、DO、PO的概念、区别和用处
    serialVersionUID的作用
    Eclipse Debug提示source not found解决方案
    eclipse的块选择模式
    Java工程Properties配置文件注释中文,会自动转换为其他编码方式问题解决 中文乱码
    spring boot1.5以上版本@ConfigurationProperties取消location注解后的替代方案 cannot resolve method location
    c++11多线程
    多媒体指令(AVX加速数组求和)
    oracle数据库occi接口写入中文乱码解决方法
    c++得到窗口句柄
  • 原文地址:https://www.cnblogs.com/YouxiYouxi/p/9323414.html
Copyright © 2011-2022 走看看