编者导读:虽然云计算不是一般人能玩得起的,但作为开发者或系统/安全运维人员,可能会需要随时测试一个应用/服务在云平台上的伸缩性表现。这种时候,我们就可以通过架设一个云测试平台来满足这方面的需求。本文将教你如何通过四台机器,配合一系列的开源软件,来搭建自己的云测试环境。
云计算旨在为应用程序按需提供方便和可扩展的计算资源和IT服务,它也为测试平台带来了一种新的解决方案。基于云的测试平台提供自动横向和纵向扩展的测试基础设施,剔除了传统测试平台的许多不足和挑战。
传统的测试环境通常是生产环境的按比例缩小版本。要建立一个测试环境需要大量的时间和精力,因为安装过程包括大量艰巨的任务,如购买合适的硬件基础设施(包括应用服务器,数据库服务器,Web服务器等),安装需要的软件(如应用,数据库,测试工具,如果需要的话还有监控工具)。
本文介绍如何使用各种开源技术在云中搭建一个测试平台,你可以使用它作为一个指导建立你自己的云测试平台。下面是我搭建测试平台用到的开源技术:
安装CentOS 5.2的机器:它们将作为云,集群和节点控制器。(文档) Eucalyptus 1.5.1:一个开源基础设施,它是计算机集群上云计算的实现。(下载) Apache Tomcat 6.0.14:它是最流行的开源Servlet容器。(下载) Jakarta JMeter 2.3.2:这个开源工具的目的是执行负载测试和功能行为分析,以及测量应用程序性能,主要是Web应用程序。(下载) MySQL 5.0:它是最流行的关系数据库管理系统,提供多用户访问的数据库。(下载) 预封装的CentOS 5.2镜像:它作为创建Tomcat,JMeter和MySQL镜像的基础镜像。 JPetStore Web应用程序:这个简单的应用程序是J2EE平台在现实应用程序设计中的一个工作示范。(项目地址)在动手之前,你需要了解云计算和Eucalyptus工作原理的基本知识。
云测试环境组件我们的实验环境由四台机器组成,一台是2GB内存的机器,其它三台内存均是1GB,如图1所示。全部安装CentOS 5.2:
Eucalyptus云和集群相关的RPM包安装在2GB内存的机器上,担任云和集群控制器; 其余三台机器作为节点控制器,只安装节点RPM软件包; 其中一台机器安装JMeter作为JMeter主服务器(关于Eucalyptus安装说明,请参考Eucalyptus管理员指南)。图 1 云测试环境由四台机器组成
下面的镜像是在搭建测试环境时要使用到的:
Tomcat镜像:用于应用程序部署。 MySQL镜像:用于数据库部署。 JMeter镜像:用于测试和监控。