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安裝如果安裝系統盤有,可以将安裝CD光牒插入,運作下面指令(虛拟機請參考插入安裝檔案的方式):
[root@youname test]# rpm -ivh gcc*
----------------------------安裝 openssl------------------------------------------------------------------------------------
其次,要求我們運作需要安裝openssl 包
[root@youname curl-loader-0.56]# rpm -qa | grep ssl 檢視自己是否安裝了openssl服務。
方法一
下載下傳相應的服務并安裝(方法繁瑣,這裡給連結)
下載下傳:
http://download.chinaunix.net/download/0001000/11.shtml安裝方式 :
http://myswirl.blog.163.com/blog/static/513186422007101410149578/方法二
上面方式比較麻煩,最簡單的方式就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的具體使用。