zoukankan      html  css  js  c++  java
  • 性能测试工具curl-loader(linux)

    curl-loader介绍

          curl-loader(也被称为“omes-NIK”和“davilka”)是一个开源的C语言编写的工具,模拟应用负载和成千上万的几十万人的HTTP / HTTPS和FTP/ FTPS的客户端应用程序的行为,每个有其自己的源IP地址。相反,其他curl-loader使用真正的C编写的客户端协议栈,即libcurl和TLS/ openssl的SSL的HTTP和FTP协议栈,支持登录和验证口味和模拟用户行为的工具。  

        所以,体积虽小,但不要小看他的能力哦!^_^  curl-loader 性能测试工具在初做测试时就有听过,但由于它的运行环境是linux系统,所以,一直没下载使用,现在刚好可以趁着学linux的机会把玩一下。

    ------------------------------------------------------------------------------------------------

    -       运行环境:centOS 4.8                                     -

    -   下载地址: http://sourceforge.net/projects/curl-loader/files/curl-loader/         -
    -   官方配置文档: http://curl-loader.sourceforge.net/index.html                 -
    ------------------------------------------------------------------------------------------------
     
    安装步骤:
     
     
    [root@youname test]# tar jxvf curl-loader-0.56.rar.bz2     解压文件
     
    解压之后
    [root@youname test]# cd curl-loader-0.56      进入目录
    [root@youname  curl-loader-0.56 ]# vi QUICK-START     打开快还入门文档
    其中有如下提示:
    复制代码
    .............
    Build it using general C development environment with bash,
    gcc (3 or 4 series), make, etc on a linux machine.

    Building pre-requirements are:
    1. openssl binaries;
    2. openssl development package with include files (on debian package libssl-dev)
    ............
    复制代码
     
    如果有你的linux系统有gcc和openssl环境的话,下面内容可以跳过,没有的话跟我来安装。   
    --------------------安装gcc----------------------------------------------------------------------------
     首先,要求我们运行必须有gcc 环境:
     
        方法一  
        如果你的是redhat/centos版本的linux,可以运行下面命令进行下载安装
         [root@youname test]# yum install gcc gcc-c++   下载安装C编译器
        方法二 
        rpm安装如果安装系统盘有,可以将安装光盘插入,运行下面命令(虚拟机请参考插入安装文件的方式):
         [root@youname test]# rpm -ivh gcc*
     
     ----------------------------安装 openssl------------------------------------------------------------------------------------
     其次,要求我们运行需要安装openssl 包
     
       [root@youname curl-loader-0.56]# rpm -qa | grep ssl  查看自己是否安装了openssl服务。
     
       方法一
       下载相应的服务并安装(方法繁琐,这里给链接)  
       
       方法二  
       上面方式比较麻烦,最简单的方式就DVD/CD方式将系统盘插入,然后在系统盘/centOS/RPMS/目录中找到:
       openssl-0.9.7a-43.17.el4_7.2.rpm
       openssl-devel-0.9.7a-43.17.el4_7.2.rpm
      两rpm包,双点击安装重启就OK了。
     
         当然,也可以参照安装gcc的方法二通过命令安装
     [root@youname test]# rpm -ivh  [文件名]
     -------------------------------------------------------------------------------------------------------------------------------------------------
        
     
    前提环境满足后,下面一个命令就开始安装了。

    [root@youname test]# make          自动编译
     
    编译完成后curl-loader可执行程序,curl-loader 为我们提供了一些例了,我们先看一下例子中如何配置性能选项
    [root@youname curl-loader-0.56]# cd  conf-examples/         打例子目录  
    [root@youname conf-examples]# cp 10K.conf  mysimp.conf     将10K.conf文件拷贝到当前目录下并命名为mysimp.conf
    [root@youname conf-examples]# vi mysimp.conf    打开编辑mysimp.conf文件
    复制代码
    ########### GENERAL SECTION ################################
    BATCH_NAME= 10K //测试对象的名称
    CLIENTS_NUM_MAX=10000 //最大虚拟用户数
    CLIENTS_NUM_START=100 //一开始启动用户数
    CLIENTS_RAMPUP_INC=50 //每秒钟启动几个用户
    INTERFACE =eth0 //使用的网卡eth0
    NETMASK=16 //子网掩码位数
    IP_ADDR_MIN= 192.168.1.1 //起始IP地址
    IP_ADDR_MAX= 192.168.53.255 #Actually - this is for self-control //最后的IP地址范围
    CYCLES_NUM= -1 // -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
    复制代码
    对上面的内容配置完成后保存退出
     
    进行性能测试
     
    执行下面一条命令就开始运行我们的性能测试了
    [root@youname curl-loader-0.56]#  curl-loader  -f  ./conf-examples/mysimp.conf

    运行测试的过程中,上面的信息会不断的更新(刷新)中。环境终于跑通了。后面会详细学一下curl-loader的具体使用。
  • 相关阅读:
    Android拍照+方形剪裁——附代码与效果图
    Caffe源代码中Solver文件分析
    Java学习笔记五(多线程)
    setTimeout和setInterval的区别
    javascript中this的妙用
    javascript基于原型的语言的特点
    css样式小技巧
    html块元素和内联元素
    怎么解决浏览器兼容性问题
    高效率、简洁、CSS代码优化原则
  • 原文地址:https://www.cnblogs.com/xumaojun/p/8533208.html
Copyright © 2011-2022 走看看