zoukankan      html  css  js  c++  java
  • 性能测试工具CurlLoader

    关于性能的研究,我们大多都开始于工具,而对于性能测试本身我们又了解多少呢?很多人初级测试人员一提到性能测试就想到LoadRunner,而且开始疯狂地去学习LoadRunner,以为学会了LR就成为了性能测试高手,可往往就是这种盲目追逐才导致我们在不理解性能概念本身而只掌握了基本工具使用,最后的结果将是一个什么基础都没有的初级测试人员却兴师动众的去担任性能测试工作,可问这样的测试结果我们能接受吗?那么我们从这里就应该认识到性能不在于掌握了工具的使用,而在于对性能本身的理解有多深,我将为此而不懈努力。

    本期将推开性能测试工具LoadRunner,去研究一款开源性能测试工具Curl-Loader,关于两者的优劣我也不大清楚,不过对于Lr的强大,相信大家是领教多了,而理解性能测试的原理的话,对于Curl-Loader就可以溢于言表了。前者可以做录制,且业务逻辑复杂的流程;而后者更倾向于压力面的扩展,对于虚拟用户数的个数在单个机器上可以上到10000个以上。

    由于该工具运行于Linux平台,所以安装过程还是比较麻烦的,我们来看看Curl-Loaderde的安装如下:

    1、官方下载地址如下所示:

    http://sourceforge.net/projects/curl-loader/files/

    2、在官方网站上查看readme文档,以及FAST START文档,根据文档提示在安装之前先首先要了解系统是否具备了安装Curl-Loader的相关包,如下所示:

    openssl以及开发包这两个包是必须要安装的,一句官方提供的文档。

    3、具体安装方法如下:

    $tar zxfv curl-loader-<version>.tar.gz
    $cd curl-loader-<version>
    $make

    安装完成之后在主目录中会生成curl-loader可执行文件,主要通过该命令来执行压力测试。

    4、根据FAST START文档的说明,执行压力测试的过程可以通过conf-examples目录下的示例来解读,这里我们以10k.conf为例,配置如下:

    ########### GENERAL SECTION ################################
    BATCH_NAME= 10K                                //这里是配置测试对象的名称
    CLIENTS_NUM_MAX=10000                     //这里是配置最大虚拟用户数
    CLIENTS_NUM_START=100                     //这里是配置初始化并发虚拟用户数
    CLIENTS_RAMPUP_INC=50                      //这里是配置每次加载用户数
    INTERFACE   =eth0   
    NETMASK=16                                        //子网掩码位数
    IP_ADDR_MIN= 192.168.1.1                   //起始ip地址
    IP_ADDR_MAX= 192.168.53.255            //最后的ip地址范围
    CYCLES_NUM= -1
    URLS_NUM= 1

    ########### URL SECTION ####################################

    URL=http://localhost/index.html           //配置URL地址
    #URL=http://localhost/ACE-INSTALL.html
    URL_SHORT_NAME="local-index"
    REQUEST_TYPE=GET
    TIMER_URL_COMPLETION = 5000      # In msec. When positive, Now it is enforced by cancelling url fetch on timeout
    TIMER_AFTER_URL_SLEEP =20
    配置完成之后就在命令下执行命令:./curl-loader -f 10K.conf,然后就开始执行压力测试。

    通过以上这个示例配置文件,可以清楚的理解这个就类似于LoadRunner中的场景设置页面,其实原理都一样。

    5、测试结果,在执行以上测试指令后,在命令窗口中就显示如下所示,具体的动态测试数据如下:

    在执行压力的时候显示如上页面,具体的参数就不一一详细介绍了,具体请参考官方FAQ文档,因为我也没有读完,只了解大概。

    在测试结束之后将会生成一系列的日志文件,详细测试信息还可以查看日志文件。

    总结:关于Curl-loader的使用这里只是初步介绍,后面有机会用到,将会详细介绍。对于开源测试工具的研究和学习还得继续,希望大家一起讨论和分享。

  • 相关阅读:
    Python3学习之路~8.5 SocketServer实现多并发
    Python3学习之路~8.4 利用socket实现文件传送+MD5校验
    [jzyzoj2021]lca模板题
    [BZOJ4542] [JZYZOJ2014][Hnoi2016] 大数(莫队+离散化)
    BZOJ3289[JZYZOJP2018]: Mato的文件管理 莫队+树状数组+离散化
    离散化的后续
    数据离散化 ( 以及 stl 中的 unique( ) 的用法 )+ bzoj3289:Mato的文件管理
    stl upper_bound()
    [BZOJ 3720][JZYZOJ 2016]gty的妹子树 强制在线 树分块/树套树
    所以学树分块的时候为什么要看vector啊sjb
  • 原文地址:https://www.cnblogs.com/candle806/p/1939484.html
Copyright © 2011-2022 走看看