zoukankan      html  css  js  c++  java
  • Locust优势在哪里

    常用性能指标
    • HPS(Hits Per Second) :每秒点击次数,单位是次/秒。
    • TPS(Transaction Per Second):系统每秒处理交易数,单位是笔/秒。
    • QPS(Query Per Second):系统每秒处理查询次数,单位是次/秒。对于互联网业务中,如果某些业务有且仅有一个请求连接,那么TPS=QPS=HPS=RPS,一般情况下用TPS来衡量整个业务流程,用QPS来衡量接口查询次数,用HPS来表示对服务器点击请求.
    • RPS(Requests Per Second):每秒请求数,这里还有两个我们通常认为和RPS相等的名词,arrival rate、TPS。
    • 并发数:系统同时处理的request/事务数
    • 响应时间:一般取平均响应时间
    • QPS(TPS):并发数/平均响应时间
    性能工具对比:
       LoadRunner Jmeter Locust
    授权方式 商业收费  开源免费 开源免费
    开发语言 C/Java Java Python
    测试脚本形式 C/Java GUI Python
    并发机制 进程/线程  线程 协程
    单机并发能力
    分布式压力 支持 支持 支持
    资源监控 支持 不支持 不支持
    报告与分析 完善 简单图标 简单图标
    支持二次开发 不支持 支持 支持

    LoadRunner 是非常有名的商业性能测试工具,功能非常强大。使用也比较复杂,目前大多介绍性能测试的书籍都以该工具为基础,甚至有些书整本都在介绍 LoadRunner 的使用。

    Jmeter 同样是非常有名的开源性能测试工具,功能也很完善,在本书中介绍了它作为接口测试工具的使用。但实际上,它是一个标准的性能测试工具。关于Jmeter相关的资料也非常丰富,它的官方文档也很完善。

    Locust 同样是性能测试工具,虽然官方这样来描述它 “An open source load testing tool.” 。但其它和前面两个工具有着较大的不同。相比前面两个工具,功能上要差上不少,但它也并非优点全无。

    • Locust 完全基本 Python 编程语言,采用 Pure Python 描述测试脚本,并且 HTTP 请求完全基于 Requests 库。除了 HTTP/HTTPS 协议,Locust 也可以测试其它协议的系统,只需要采用Python调用对应的库进行请求描述即可。

    • LoadRunner 和 Jmeter 这类采用进程和线程的测试工具,都很难在单机上模拟出较高的并发压力。Locust 的并发机制摒弃了进程和线程,采用协程(gevent)的机制。协程避免了系统级资源调度,由此可以大幅提高单机的并发能力。

    正是基于这样的特点,使我选择使用Locust工具来做性能测试,另外一个原因是它可以让我们换一种方式认识性能测试,可能更容易看清性能测试的本质。

  • 相关阅读:
    IDEA 2018 搭建 Spring MVC helloworld
    Intellij IDEA创建Spring的Hello World项目
    浅谈finally使用坑。
    ArrayList源码分析
    Spring依赖注入的四种方式(重点是注解方式)
    Spring常用的三种注入方式
    interview question
    待提高问题
    myeclipse svn 在线安装
    《SQL 进阶教程》 自连接排序
  • 原文地址:https://www.cnblogs.com/helloTerry1987/p/11257464.html
Copyright © 2011-2022 走看看