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服務。 方法一 下載相應的服務並安裝(方法繁瑣,這裡給連結) 下載:
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的具體使用。