LR的負載機安裝在linux的理由:html
一、windows xp,雙核+4G內存,基本上每一個vuser會消耗2-5m的內存,單機300-500的虛擬用戶時,CPU已經超過90%,此時整個測試系統的瓶頸其實是負載機,已經沒法真實反映系統性能。固然能夠經過多負載機的模式來實現,可是這樣的測試環境構造起來成本比較高,性價比不高。linux
二、不少時候,被測試環境是放在機房的,那麼在機房丟一臺windows機器進去不太現實,即便丟進去了,遠程鏈接的穩定和安全性也不夠理想。c++
所以,在linux服務器上,直接安裝LR的負載端程序,從環境和性價比而言,都是一個不錯的選擇。shell
linux 負載機的環境:windows
LSB Version: :core-4.0-amd64:core-4.0-ia32:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-ia32:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-ia32:printing-4.0-noarch Distributor ID: CentOS Description: CentOS release 5.7 (Final) Release: 5.7 Codename: Final
安裝步驟:centos
一、遠程登陸到服務器上,切換到root用戶下,必需要root帳戶才行;安全
二、先安裝一個rpm包,compat-libstdc++-33-3.2.3-61.i386.rpm,bash
不少系統都缺乏這個rpm包,先安裝上吧,包地址爲:http://pan.baidu.com/share/link?shareid=1560421269&uk=339142937服務器
[root@bogon lixin]# rpm -ivh compat-libstdc++-33-3.2.3-61.i386.rpm性能
三、開始安裝客戶端,先解壓安裝文件
[root@bogon lixin]# unzip linux_fuzai.zip
四、進入Linux文件夾,運行安裝程序installer.sh
[root@bogon lixin]# cd Linux
[root@bogon Linux]# sh installer.sh
這個時候會報錯,提示一些腳本文件權限不足,爲了方便起見,一次更改Linux下全部文件的權限。
[root@bogon Linux]# cd ..
[root@bogon lixin]# chmod 777 -R Linux/
能夠看見權限所有被更改過來了
五、再次進入Linux目錄,運行安裝腳本
這樣表示正式開始安裝,首先提示你是否須要繼續安裝,輸入'n'
提示你要不要看一看受權文件等等,不用看了,直接Agree吧。
最後讓你確認一下是否須要安裝,退出之類的,確定選擇‘i’,繼續安裝了。
安裝完成了,問你是否要直接結束,仍是看一下Log,懶得看的話,直接'f'結束好了。
到了這一步,基本安裝就結束了。
六、增長一個LR 負載端的客戶higkoo
[root@bogon Linux]# useradd -g 0 -s /bin/csh higkoo
這個時候已經確認了higkoo這個用戶默認使用的shell爲csh。
這裏多說一下,shell只是linux的一個外殼,每一個linux都會有一個默認的shell程序,在centos下,默認shell應該是bash,可是LR使用的csh,這二者本質上沒什麼區別,可是在接下來的配置裏面,會有一點點區別。能夠用命令看一下,higkoo這個用戶默認使用的是csh。
[root@bogon Linux]# more /etc/passwd
七、修改部分LR的配置。
csh和bash有一個區別,就是在加載不一樣的shell時,能夠加載不一樣的配置。
csh的默認配置在 /etc/csh.cshrc 下,bash的默認配置在 /etc/profile 。在這兩個配置文件中,
能夠加載一些shell的環境變量。
LR默認給出了一個環境變量的配置文件,文件在 /opt/HP/HP_LoadGenerator/env.csh 。能夠看見,*.csh這樣的配置文件實際上是csh的配置文件的格式,默認的文件內容應該是:
env.csh 這個配置目前尚未引入到csh的默認配置裏面,咱們手工修改一下,讓它默認加入環境變量,這樣就很是方便了。
[root@bogon HP_LoadGenerator]# vi /etc/csh.cshrc
在文件的最後一行加上 source /opt/HP/HP_LoadGenerator/env.csh ,這樣就能夠將lr的配置導入csh的默認配置。
八、切換到higkoo用戶,驗證一下程序是否安裝成功。
[root@bogon HP_LoadGenerator]# su higkoo
[higkoo@bogon HP_LoadGenerator]$ env
驗證一下程序安裝的狀況,驗證程序爲 /opt/HP/HP_LoadGenerator/bin/verify_generator
[higkoo@bogon bin]$ cd /opt/HP/HP_LoadGenerator/bin
[higkoo@bogon bin]$ ./verify_generator
此時出現提示頁面以下:
要求咱們設置一個DISPLAY 變量,咱們直接修改env.csh文件來解決。
先切換到root用戶下,由於兩個緣由:
一、env.csh文件對higkoo用戶是隻讀的,沒法修改
二、修改env.csh用戶,至關於修改csh的配置,這個時候須要從新進入一下csh,才能生效
因此咱們先退回到root下,修改env.csh 文件。
[root@bogon HP_LoadGenerator]# vi /opt/HP/HP_LoadGenerator/env.csh
直接在文件最後方加上 setenv DISPLAY 0.0
切換到higkoo用戶,再次運行驗證程序。
[root@bogon HP_LoadGenerator]# su higkoo
[higkoo@bogon HP_LoadGenerator]$ cd /opt/HP/HP_LoadGenerator/bin
[higkoo@bogon bin]$ ./verify_generator
九、啓動LR 負載端。
[higkoo@bogon bin]$ cd /opt/HP/HP_LoadGenerator/bin
[higkoo@bogon bin]$ ./m_daemon_setup start
正常狀況下,這個時候應該能夠啓動,可是我安裝到這裏的時候報錯了,見截圖。
檢查一下log,log在/tmp 路徑下,有一個錯誤日誌,檢查以後發現,多是一個根據主機名稱獲取主機ip的程序有問題,沒法根據主機名稱獲取到ip。
27/08/2013 00:10:25 Error: Communication error: Failed to get the server host IP by calling the gethostbyname function
看一下當前shell下的環境變量,發現主機名稱是bogon,再ping 一下bogon,沒法鏈接上。
切換到root下,更改hosts配置,把bogon指向127.0.0.1 .
再次切換到higkoo,從新運行啓動程序,正常啓動。
[root@bogon HP_LoadGenerator]# su higkoo
[higkoo@bogon HP_LoadGenerator]$ cd /opt/HP/HP_LoadGenerator/bin
[higkoo@bogon bin]$ ./m_daemon_setup start
m_agent_daemon ( 26299 ),
[higkoo@bogon bin]$ ps aux | grep m_agent_daemon
至此,LR的linux負載端安裝所有完成。
附錄:
本次安裝是在csh下安裝完成的,若是想在bash下安裝,能夠在HP_LoadGenerator 下創建一個 env.sh文件,文件內容以下,再將該文件 引入到 /etc/profile 的最後一行,最後修改 /etc/passwd中的higkoo配置爲bash,便可使用bash來安裝程序。其他步驟同樣。
#/bin/bash export PRODUCT_DIR=/opt/HP/HP_LoadGenerator export M_LROOT=$PRODUCT_DIR export LD_LIBRARY_PATH=$M_LROOT/bin:$M_LROOT/lib:/usr/lib export DISPLAY='0.0' export PATH=$PATH:$M_LROOT/bin