zoukankan      html  css  js  c++  java
  • 性能02篇-性能测试工具介绍

        ​    ​性能测试是通过自动化的测试工具模拟多种正常、峰值及异常负载条件来对系统的各项性能指标进行测试。

        ​    ​负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统对性能指标的变化情况。压力测试时通过确定一个系统的瓶颈或者不能接受的性能点,来获取系统能提供的最大服务级别的测试。

        ​    ​一个优秀的性能测试工程师,不仅需要会编程语言,更重要的是可以熟练使用一套性能测试工具,正所谓工欲善其事,必先利其器。当然,如果你对自己的编程功底很有自信,那你可以自己来开发工具来进行性能测试。但我相信你没有Apache和HP之类大公司的专业性和开发能力,如果有那么厉害的编程能力,开发何尝不是最好的出路。

        ​    ​接下来小梦会和大家一起探讨Jmeter和Loardrunner为主的一些性能测试工具的使用,以及在使用过程中常出现的问题。

        ​    ​其实测试工具远不止Jmeter和Loardrunner,市面上还有很多相当不错的性能测试工具,这就要针对不同的项目来选择更适合的工具了。

        ​    ​首先,今天为大家介绍一下性能测试工具,如何抉择就看实际情况了。

    1、LoardRunner

        ​    ​是一种预测系统行为和性能的负载测试工具。通过以模拟上千万用户实施并发负载及实时性能检测的方式来确认和查找问题,LoardRunner能够对整个企业架构进行测试。通过使用LoardRunner,企业能最大限度地缩减测试时间,优化性能和加速应用系统的发布周期。LoardRunner是一种适用于各种体系架构的自动负载测试工具,它能预测系统行为并优化系统性能。

        ​    ​现很多公司都在使用LoardRunner进行性能测试,也是许多从事性能测试和对性能测试感兴趣的测试人员乐于追求的工具。

    2、Jmerer

        ​    ​是Apache开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。它可以用于测试静态和动态资源,例如静态文件、Java小服务程序、CGI脚本、Java对象、数据库、FTP服务器等等。Jmeter可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类型下测试他们的强度和分析整体性能。另,Jmeter能够对应用程序做功能/回归测试,通过创建带有断言的脚步来验证你的程序返回了你期望的结果。为了最大限度的灵活性,Jmeter运行使用正则表达式创建断言。

    它可以用于对服务器、网络或对象模拟繁重的负载来测试它们的强度或分析不同压力类型下的整体性能。你可以使用它做性能的图形分析或在大并发负载测试你的服务器/脚本/对象。

    3、Gatling

        ​    ​是一款基于Scala开发的高性能服务器性能测试工具,它主要用于服务器进行负载等测试,并分析和测量服务器的各种性能指标。Gatling主要用于测量基于HTTP的服务器,比如Web应用程序,RESTful服务等。Gatling适用的场景包括:测试需求经常变化,测试脚本需要经常维护;测试环境的客户机性能不强,但又希望发挥硬件的极限性能;能对测试脚本进行很好的版本管理,并通过CI进行持续的性能测试;希望测试结果轻量易读等。

    4、Web Bench

        ​    ​是一个简单的web或者web代理服务的基准测试工具。使用fork()模拟多哥客户端并且可以发起HTTP/0/9-HTTP/1.1的请求。这个基准测试不是非常符合实际情况,但是可以测试出你的HTTP服务是否可以处理多个客户同时访问而不把你的机器弄挂掉。这个工具可以获得服务的两个指标:每分钟响应请求梳理(pages/min)和每秒钟传输数据量(bytes/sec)。使用-f选项可以运行在主动模式下,既不等待服务器响应直接发送下一个请求。

    5、Siege

        ​    ​是一个压力测试和评测工具,设计用于Web开发评估应用在压力下的承受能力:可以根据配置对一个Web站点进行多用户的并发访问,记录每个用户所有请求过程的响应时间,并在一定数量的并发访问下重复进行。Siege支持基本的认证,cookies,HTTP和HTTPS协议。

    6、Web Polygraph

        ​    ​Web Polygraph这个软件也是一个用于测试Web性能的工具,这个工具是很多公司的基准测试工具,包括微软在分析其软件性能的时候,也是使用这个工具作为基准工具的。现在,有一些公司在使用这个工具。

    7、Grinder

        ​    ​Grinder是一个开源的JVM负载测试框架,它通过很多负载注射器来为分布式测试提供了便利。支持用于执行测试脚本的Jython脚本引擎HTTP测试可通过HTTP代理进行管理。根据项目网站的说法,Grinder的主要目标用户是“理解他们所测代码的人,Grinder不仅仅是带有一组相关响应时间的”黑盒“测试。犹豫测试过程可以进行编码,而不是简单地脚本化,所以程序员能测试应用中内部的各个层次,而不仅仅是通过用户界面测试响应时间。

    8、kylinpet

        ​    ​是一款国产商业工具,作为一款功能强大的性能测试工具,界面友好、操作方便,资源占用率低;自带TCP/IP协议栈,支持虚拟大量IP,支持IPv4、IPv6的多种业务测试,支持多种协议组合。

        ​    总之,性能测试工具五花八门,我们不可能学会所有的性能测试工具,找准侧重点,学习几个市面上比较流行的测试工具,达到精通,再结合自己的编程能力,恭喜你可以胜任现如今的性能测试工程师岗位了。


            长按二维码识别关注,您的支持是我们最大的动力。       

            公众号:测试梦工厂

            QQ一群:300897805

      


        ​    ​

  • 相关阅读:
    C++实现希尔排序和快排
    操作系统重点知识汇总
    结构体(对齐规则及举例)
    指针和引用(传指针和传引用)
    数组和指针
    判断一个字符是否为数字的两种方法(C/C++)
    浅谈操作系统栈和堆(区别与联系)
    浅谈malloc/free和new/delete 的区别
    操作符和表达式
    windows重装系统后grub引导菜单修复方法(亲自实验过)
  • 原文地址:https://www.cnblogs.com/testdream/p/6481326.html
Copyright © 2011-2022 走看看