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://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編譯器
----------------------------
安裝 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]# 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