偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

使用Eucalyptus打造自己的云測試平臺(CentOS+Apache+MySQL)

原創(chuàng)
系統(tǒng) Linux
云計算旨在為應用程序按需提供方便和可擴展的計算資源和IT服務,它也為測試平臺帶來了一種新的解決方案。本文將教你如何通過四臺CentOS機器,配合Eucalyptus、Apache和MySQL,來搭建自己的JMeter云測試環(huán)境。在動手之前,你需要了解云計算和Eucalyptus工作原理的基本知識。

【51CTO精選譯文】編者導讀:雖然云計算不是一般人能玩得起的,但作為開發(fā)者或系統(tǒng)/安全運維人員,可能會需要隨時測試一個應用/服務在云平臺上的伸縮性表現(xiàn)。這種時候,我們就可以通過架設一個云測試平臺來滿足這方面的需求。本文將教你如何通過四臺機器,配合一系列的開源軟件,來搭建自己的云測試環(huán)境。

云計算旨在為應用程序按需提供方便和可擴展的計算資源和IT服務,它也為測試平臺帶來了一種新的解決方案?;谠频臏y試平臺提供自動橫向和縱向擴展的測試基礎設施,剔除了傳統(tǒng)測試平臺的許多不足和挑戰(zhàn)。

傳統(tǒng)的測試環(huán)境通常是生產環(huán)境的按比例縮小版本。要建立一個測試環(huán)境需要大量的時間和精力,因為安裝過程包括大量艱巨的任務,如購買合適的硬件基礎設施(包括應用服務器,數(shù)據(jù)庫服務器,Web服務器等),安裝需要的軟件(如應用,數(shù)據(jù)庫,測試工具,如果需要的話還有監(jiān)控工具)。

本文介紹如何使用各種開源技術在云中搭建一個測試平臺,你可以使用它作為一個指導建立你自己的云測試平臺。下面是我搭建測試平臺用到的開源技術:

  1. 安裝CentOS 5.2的機器:它們將作為云,集群和節(jié)點控制器。(文檔
  2. Eucalyptus 1.5.1:一個開源基礎設施,它是計算機集群上云計算的實現(xiàn)。(下載
  3. Apache Tomcat 6.0.14:它是最流行的開源Servlet容器。(下載
  4. Jakarta JMeter 2.3.2:這個開源工具的目的是執(zhí)行負載測試和功能行為分析,以及測量應用程序性能,主要是Web應用程序。(下載
  5. MySQL 5.0:它是最流行的關系數(shù)據(jù)庫管理系統(tǒng),提供多用戶訪問的數(shù)據(jù)庫。(下載
  6. 預封裝的CentOS 5.2鏡像:它作為創(chuàng)建Tomcat,JMeter和MySQL鏡像的基礎鏡像。
  7. JPetStore Web應用程序:這個簡單的應用程序是J2EE平臺在現(xiàn)實應用程序設計中的一個工作示范。(項目地址

在動手之前,你需要了解云計算和Eucalyptus工作原理的基本知識。

云測試環(huán)境組件

我們的實驗環(huán)境由四臺機器組成,一臺是2GB內存的機器,其它三臺內存均是1GB,如圖1所示。全部安裝CentOS 5.2:

  1. Eucalyptus云和集群相關的RPM包安裝在2GB內存的機器上,擔任云和集群控制器;
  2. 其余三臺機器作為節(jié)點控制器,只安裝節(jié)點RPM軟件包;
  3. 其中一臺機器安裝JMeter作為JMeter主服務器(關于Eucalyptus安裝說明,請參考Eucalyptus管理員指南)。

云測試環(huán)境由四臺機器組成 
圖 1 云測試環(huán)境由四臺機器組成

下面的鏡像是在搭建測試環(huán)境時要使用到的:

  1. Tomcat鏡像:用于應用程序部署。
  2. MySQL鏡像:用于數(shù)據(jù)庫部署。
  3. JMeter鏡像:用于測試和監(jiān)控。

#p#

為云測試環(huán)境創(chuàng)建鏡像

這一部分我們將介紹如何創(chuàng)建前面列出的三種鏡像,包含必要的步驟和相關腳本。你可以從任意CentOS 5.2機器創(chuàng)建鏡像,在開始之前,我們需要一個預封裝的CentOS 5.2鏡像。

創(chuàng)建Tomcat鏡像

預封裝的CentOS鏡像已經掛載到本地目錄,第一步是創(chuàng)建一個掛載鏡像的目錄,打開命令提示符窗口,執(zhí)行下面的命令:

# 創(chuàng)建目錄
mkdir /mnt/Mount

接下來將預封裝的CentOS 5.2鏡像掛載到創(chuàng)建的目錄上。

# 掛載鏡像
mount -o loop /mnt/Mount
# 掛載Proc
mount -t proc none /mnt/Mount/proc/

將Tomcat安裝到掛載目錄中(例如,將Tomcat文件夾放入/mnt/Mount/home),為了確保Tomcat隨系統(tǒng)自動啟動,請執(zhí)行以下步驟:

1、在/etc/rc.local文件(/mnt/Mount/etc/rc.local)中包含JAVA_HOME和PATH變量;

2、在/etc/rc.local文件中添加Tomcat的啟動腳本;

rc.local文件最終看起來如下:

#!/bin/sh
# 本腳本將在所有其他init腳本執(zhí)行 之后 執(zhí)行
touch /var/lock/subsys/local
export JAVA_HOME=/home/jdk1.6.0_13
export PATH=/home/jdk1.6.0_13/bin:$PATH:$HOME/bin
/home/apache-Tomcat-6.0.18/bin/startup.sh

我們用于測試的Web應用程序是JPetStore,將jpetstore.war放入/webapps/文件夾,現(xiàn)在鏡像包含所有必要的軟件和腳本了。

接下來卸載鏡像,切換到命令提示符窗口,執(zhí)行下面的命令:

# 卸載proc
umount /mnt/Mount/proc
# 卸載鏡像
umount -d /mnt/Mount

現(xiàn)在得到的鏡像包含Tomcat 6和Web應用程序,我們可以將它上傳到云中了,關于上傳和運行鏡像的說明,請參考Eucalyptus鏡像管理文檔。

創(chuàng)建JMeter鏡像

創(chuàng)建JMeter鏡像的步驟和前面創(chuàng)建Tomcat鏡像的步驟一樣,將預封裝的CentOS 5.2鏡像掛載到指定文件夾:

# 掛載鏡像
mount -o loop /mnt/Mount
# 掛載Proc
mount -t proc none /mnt/Mount/proc/

將JMeter 2.3.2文件移動到/mnt/Mount/home文件夾下。JMeter主服務器安裝在一臺物理Linux機器上,JMeter實例作為從服務器。首先,將主服務器添加到從服務器的“已知主機”列表中;然后為主服務器生成一個無密碼密鑰,并將其添加到從鏡像,將主服務器上產生的id_dsa放在從鏡像的指定文件夾中(如/mnt/Mount/home)。每當從實例啟動時,在已知主機列表中就會有主服務器的IP。

當JMeter從實例啟動時,主服務器的jmeter.properties文件需要更新它的IP地址,為了自動添加IP地址,我們使用了一個Shell腳本,在掛載文件夾中創(chuàng)建一個腳本文件(/mnt/Mount/home):

#---------- 找到slave的IP地址 -----
OS=`uname`
IP="" # store IP
JMETER_Prop_File=""
Master=""
KeyPath="/id_dsa" # Master's Passphrase less key.
case $OS in
Linux) IP=`ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}'`;;
FreeBSD|OpenBSD) IP=`ifconfig | grep -E 'inet.[0-9]' | grep -v '127.0.0.1' | awk '{ print $2}'` ;;
SunOS) IP=`ifconfig -a | grep inet | grep -v '127.0.0.1' | awk '{ print $2} '` ;;
*) IP="Unknown";;
esac
#---------------- 將slave的IP寫入master的屬性文件 -----
ssh -i $KeyPath root@$Master "sed -e 's/remote_hosts=/remote_hosts=$IP,/1' $JMETER_Prop_File/jmeter.properties>$JMETER_Prop_File/test.chk"
ssh -i $KeyPath root@$Master "cp $JMETER_Prop_File/test.chk $JMETER_Prop_File/jmeter.properties"
ssh -i $KeyPath root@$Master "rm -rf $JMETER_Prop_File/test.chk"

將上面的代碼保存為.sh文件,在rc.local文件中添加實例啟動時需要自動啟動的服務路徑。

#!/bin/sh
# 本腳本將會在其他init腳本之后執(zhí)行
touch /var/lock/subsys/local
chmod 600 //id_dsa
/
export JAVA_HOME=//java
export PATH=//java/bin:$PATH:$HOME/bin
//jmeter2.3.2/bin/jmeter-server
service vsftpd start

接下來卸載掉鏡像,方法和前面一樣。

#p#

創(chuàng)建MySQL鏡像

創(chuàng)建MySQL鏡像的步驟和創(chuàng)建Tomcat鏡像的步驟一樣,掛載CentOS 5.2預封裝鏡像到指定文件夾:

# 掛載鏡像
mount -o loop /mnt/Mount
# 掛載Proc
mount -t proc none /mnt/Mount/proc/

修改根掛載點(如/mnt/Mount),然后執(zhí)行下面的命令:

cd /mnt/Mount
chroot .

命令執(zhí)行完后,如果顯示下面的命令提示符,則表示掛載點修改成功:

bash-3.2#

接下來安裝MySQL需要的RPM包,包括依賴包。

安裝完所有RPM包后,從root退出。

bash-3.2#exit
exit
[root@localhost centos]#

如果你還不知道遠程訪問MySQL數(shù)據(jù)庫的方法,請參考“如何開啟MySQL數(shù)據(jù)庫的遠程訪問”教程。

/etc/init.d/mysqld start

為了讓MySQL也隨系統(tǒng)自動啟動,在/etc/rc.local文件中添加啟動腳本。

接下來配置JPetStore使用新的MySQL實例:

driver=org.gjt.mm.mysql.Driver
url=jdbc:mysql://:3306/JPETSTORE
username=
password=

當實例啟動和運行時,你可以按照我們的要求,將JPetStore的默認數(shù)據(jù)庫修改為MySQL,在Tomcat鏡像中,更新JPetStore的database.properties文件。

啟動所有實例,確保每個實例都獲得了一個IP地址。啟動好后,你就可以在這些云實例上執(zhí)行性能測試,測試方法和在物理機上執(zhí)行性能測試沒有區(qū)別。

小結

和物理測試環(huán)境相比,將測試環(huán)境搭建在云中有許多優(yōu)勢,我們在物理測試環(huán)境和云測試環(huán)境中執(zhí)行了多輪測試,物理測試機和云測試實例的配置都一樣,根據(jù)測試結果顯示,基于云的解決方案降低了搭建測試環(huán)境需要的時間和精力,而它們之間的性能差異是微不足道的。

原文:http://www.developer.com/open/article.php/3909156/article.htm

作者:Rini Susan和Vikas Valikan

【編輯推薦】

  1. 面向虛擬基礎設施的云服務:IaaS和Eucalyptus
  2. 安裝Ubuntu eucalyptus研究開源云計算平臺
  3. 開發(fā)者與系統(tǒng)管理員的爭執(zhí):不要碰我的生產環(huán)境!
責任編輯:yangsai 來源: 51CTO.com
相關推薦

2009-12-30 15:09:52

Ubuntu euca

2010-01-07 13:43:15

2018-06-07 08:20:51

自動化測試移動技術云平臺

2017-07-18 07:10:00

思科安全網絡

2015-10-16 09:21:13

SparkMySQL數(shù)據(jù)分析

2013-04-12 10:24:43

云通訊平臺Twilio

2016-04-07 22:11:13

時速云Cloud NativDocker

2013-02-26 10:05:16

vmwareAWSOpenStack

2018-07-24 20:59:03

京北方

2021-01-18 05:30:22

串口通信Qt

2015-09-23 09:38:12

2012-09-17 10:04:34

Eucalyptus 開源云計算OpenStack

2010-02-24 09:39:49

Visual StudWindows Azu

2011-09-08 10:00:18

云平臺云計算虛擬化

2014-03-27 15:24:43

農行大數(shù)據(jù)

2012-03-22 18:32:05

AmazonEucalyptus混合云

2016-08-18 23:06:25

聽云智能CDN

2010-02-23 10:58:43

EucalyptusIaaS云服務

2013-07-18 10:10:31

2019-01-29 16:13:47

華為云
點贊
收藏

51CTO技術棧公眾號