负载测试、压力测试和性能测试的异同

负载测试(Load testing)、压力测试(Stress Test,应称为强度测试)和性能测试,这三个概念常常引起混淆,难以区分,从而造成不正确的理解和错误的使用。之前,也有不少讨论,比较有名的,应归为Grig Gheorghiu’s的两篇博客:
Performance vs. load vs. stress testing
More on performance vs. load testing
负载测试、压力测试和性能测试的测试目的不同,但其手段和方法在一定程度上比较相似,通常会使用相同的测试环境和测试工具,而且都会监控系统所占用资源的情况以及其它相应的性能指标,这也是造成人们容易产生概念混淆的主要原因。      我们知道,软件总是运行在一定的环境下,这种环境包括支撑软件运行的软硬件环境和影响软件运行的外部条件。为了让客户使用软件系统感到满意,必须确保系统运行良好,达到高安全、高可靠和高性能。其中,系统是否具有高性能的运行特征,不仅取决于系统本身的设计和程序算法,而且取决于系统的运行环境。系统的运行环境会依赖于一些关键因素,例如:

  • 系统架构,如分布式服务器集群还是集中式主机系统等。
  • 硬件配置,如服务器的配置,CPU、内存等配置越高,系统的性能会越好。
  • 网络带宽,随着带宽的提高,客户端访问服务器的速度会有较大的改善。
  • 支撑软件的选定,如选定不同的数据库管理系统(Oracle、MySQL等)和web应用服务器(Tomcat、GlassFish、Jboss、WebLogic等),对应用系统的性能都有影响。
  • 外部负载,同时有多少个用户连接、用户上载文件大小、数据库中的记录数等都会对系统的性能有影响。一般来说,系统负载越大,系统的性能会降低。

从上面可以看出,使系统的性能达到一个最好的状态,不仅通过对处在特定环境下的系统进行测试以完成相关的验证,而且往往要根据测试的结果,对系统的设计、代码和配置等进行调整,提高系统的性能。许多时候,系统性能的改善是测试、调整、再测试、再调整、……一个持续改进的过程,这就是我们经常说的性能调优(perormance tuning)。     在了解了这样一个背景之后,就比较容易理解为什么在性能测试中常常要谈负载测试。从测试的目的出发、从用户的需求出发,就比较容易区分性能测试、负载测试和压力测试。性能测试是为了获得系统在某种特定的条件下(包括特定的负载条件下)的性能指标数据,而负载测试、压力测试是为了发现软件系统中所存在的问题,包括性能瓶颈、内存泄漏等。通过负载测试,也是为了获得系统正常工作时所能承受的最大负载,这时负载测试就成为容量测试。通过压力测试,可以知道在什么极限情况下系统会崩溃、系统是否具有自我恢复性等,但更多的是为了确定系统的稳定性。      那么,如何给负载测试、压力测试下个定义呢?根据上述讨论,我们可以给出如下的定义:

  • 负载测试是模拟实际软件系统所承受的负载条件的系统负荷,通过不断加载(如逐渐增加模拟用户的数量)或其它加载方式来观察不同负载下系统的响应时间和数据吞吐量、系统占用的资源(如CPU、内存)等,以检验系统的行为和特性,以发现系统可能存在的性能瓶颈、内存泄漏、不能实时同步等问题。负载测试更多地体现了一种方法或一种技术。
  • 压力测试是在强负载(大数据量、大量并发用户等)下的测试,查看应用系统在峰值使用情况下操作行为,从而有效地发现系统的某项功能隐患、系统是否具有良好的容错能力和可恢复能力。压力测试分为高负载下的长时间(如24小时以上)的稳定性压力测试和极限负载情况下导致系统崩溃的破坏性压力测试。

压力测试可以被看作是负载测试的一种,即高负载下的负载测试,或者说压力测试采用负载测试技术。通过压力测试,可以更快地发现内存泄漏问题,还可以更快地发现影响系统稳定性的问题。例如,在正常负载情况下,某些功能不能正常使用或系统出错的概率比较低,可能一个月只出现一次,但在高负载(压力测试)下,可能一天就出现,从而发现有缺陷的功能或其它系统问题。通过负载测试,可以证明这一点,某个电子商务网站的订单提交功能,在10个并发用户时错误率是零,在50个并发用户时错误率是1%,而在200个并发用户时错误率是20%。     负载测试是为了发现系统的性能问题,负载测试需要通过系统性能特性或行为来发现问题,从而为性能改进提供帮助,从这个意义看,负载测试可以看作性能测试的一部分。但它们两者的目的是不一样的,负载测试是为了发现缺陷,而性能测试是为了获取性能指标。因为性能测试过程中,也可以不调整负载,而是在同样负载情况下改变系统的结构、改变算法、改变硬件配置等等来得到性能指标数据,从这个意义看,负载测试可以看作是性能测试所c的一种技术,即性能测试使用负载测试的技术、使用负载测试的工具。性能测试要获得在不同的负载情况下的性能指标数据。     通过负载测试和压力测试都可以获得系统正常工作时的极限负载或最大容量。容量测试,自然也是采用负载测试技术来实现,而在破坏性的压力测试中,容量的确定可以看作是一种副产品——间接结果。     综合所述,负载测试、压力测试和性能测试的概念可以概括如下:

  • 负载测试是通过改变系统负载方式、增加负载等来发现系统中所存在的性能问题。负载测试是一种测试方法,可以为性能测试、压力测试所采用。负载测试的加载方式也有很多种,可以根据测试需要来选择。
  • 性能测试是为获取或验证系统性能指标而进行测试。多数情况下,性能测试会在不同负载情况下进行。
  • 压力测试通常是在高负载情况下来对系统的稳定性进行测试,更有效地发现系统稳定性的隐患和系统在负载峰值的条件下功能隐患等。

云计算时代企业IT技术趋势综述

自上世纪60年代出现以来,计算机行业的发展依次经历了“主机时代”,“个人电脑时代”,“互联网时代”,直到今天步入了“云计算时代”。也许两年前人们还在质疑云计算的价值,但随着Amazon等云计算商业的成功,今天的人们早已经停止怀疑,而是积极拥抱这个新时代:业务人员思索如何转型其业务,从而使其更加适应云计算时代,或者如何借用云计算之力,转型其业务模式;技术人员也在探索,云计算时代IT技术如何顺应云计算发展之大势,或者借鉴云计算之理念,发展IT各领域的技术使其更好支撑业务发展,甚至是驱动业务的发展。
让我们审视一下这个时代的主要元素:除了云计算本身外,还有互联网、移动、大数据,社交网络,这五个元素密切交织在一起,互为背景又互为促进,各自延伸并相互结缘,共同编织了这个伟大时代。让我们看一组数据,了解一下云计算时代五个元素蕴含的巨大能量。
Gartner的研究指出,2012年云计算的预计增幅为19%,市场规模同比上一年910亿美元将扩展至1090亿美元;对于互联网而言,两项重要指标衡量它的规模:电商交易额和广告收入,2011年中国电商交易额达到6万亿,美 国互动广告局 近日联合普华永道发表了报告显示,2012年第一季度全球互联网广告收入达到84亿美 元!再观智能手机,IDC的报告指出2012年第二季度全球智能手机出货量达到了4.06亿台;大数据到底有多大?今天全球互联网数据已达180万PB,90%是非结构化的,还在以每年50%的速度高速增长,也就是每两年增长一倍;在刚刚发布的二季度财报中,Facebook日度活跃用户数搞到5.52亿,月度活跃用户高达9.55亿,而国内新浪微博的一组数据显示,新浪微博的用户(包括数量庞大的僵尸粉)每日平均在微博上停留90分钟!
云计算时代五大元素的巨大能量首先释放在了消费领域,深远地影响了人们的做事方式与行为习惯。然而,影响绝不仅限于消费领域。当人们深入思考企业IT的问题时,如成本控制,业务敏捷性、沟通协作、商业决策等,很快发现了与这五大元素的切合点,继而引发了一系列企业IT技术的变革。
笔者如下从IT设备,IT基础设施,业务数据,业务应用、工作效率、软件工程六个方面,综述企业IT技术的重要趋势。
IT设备(IT Facility): 企业IT设备主要包括机房的UPS、空调、机柜、布线等,这些元素在云计算时代呈现出“高密度”、“模块化”,“绿色节能”的趋势。高密度是指对承重、电力、制冷等方面的更高要求。一个云计算机房的承重应该不小于1.5吨/平米,每个机柜的电力设计应不低于10KW。
模块化是将机柜、布线、空调、供电等元素集成,形成一个互匹配、自包含的单元。模块化的实现有很多形式,颗粒度也差别很大。在业务量变化很大的今天,模块化的独到优势是能更迅速的适应业务量的变化,在业务量增加时能迅速部署,而业务量减少时能更快的释放。
“绿色节能”不仅仅是一个来自社会志愿者的呼声,从企业运营角度,就数据中心运营的10%的成本来自于能源损耗,所以绿色IT、绿色数据中心成为企业IT成本压缩的重要领域,这方面的技术从传统的冷热通道封闭、冷冻水制冷等,发展到喷雾制冷、Free Cooling、甚至是余热回收等,使得数据中心的PUE值显著降低,Google、Facebook、IBM等知名企业建造了大量绿色数据中心,其PUE值非常接近于1。
IT基础设施(IT Infrastructure):企业IT基础设施是指服务器、存储、网络这“三大件”。对于IT基础设施的趋势,相信每一位IT从业者都不陌生,那就是虚拟化与云计算(IaaS,基础设施即服务),Hyper成了兵家必争之地,弹性共享计算也成了各IT厂商追逐热点。
在IT基础设施领域还有一个趋势悄然发生,那就是硬件的“三大件”与软件的“一体化”,一体化区别用通用硬件,也不同于专用设备,而是位于两者中间,支持不同工作负载的软硬件集成与优化。Oracle的Exadata, Exalogic, Exalytics,Cisco的UCS, VCE Block,IBM的PureFlex, PureApplication都属于一体化产品,国内也已经出现此类产品,限于技术水平,目前的状态是“有集成,无优化”。
业务数据(Business Data): 电子商务、移动互联、物联网、社交网络等领域的迅速发展,创造出了一个新的名词:“大数据”,当今的人类一年产生的数据,超过过去几千年产生数据的总和。一方面,大数据呈现明显的“3V+1C”的特点:Volume(大规模)、Variety(多样性)、Velocity(不确定)、Complexity(复杂性),另一方面,企业越来越希望加强对大数据的把控,希望通过对大数据的分析,分析跟踪舆情、洞察消费者喜好,并及时作出正确的商业决策。
业务数据对于企业IT带来的挑战是前所未有的,而数据处理方面的技术创新也最为异彩纷呈。首先,两类典型的数据处理工作负载(OLTP, OLAP)分别遇到了性能瓶颈,高速并发对于追求ACID的OLTP而言,首先出现性能瓶颈的是其锁机制,而对于OLAP而言,磁盘I/O是其主要瓶颈。为解决这些瓶颈,各大IT厂商都推出了各有特色的创新性技术,这其中主要包括:分布式技术(计算、存储)、RDMA、FPGA、大表扫描技术、数据分层、数据压缩、索引与分区等等,仔细分析各家产品,可以发现几乎在每一项技术中,各厂商都有相竞争的创新技术,此处笔者简略摘取几例有关IBM和oracle的技术对比:Oracle的Exadata采用分布式锁机制,IBM的DB2 PureScale直接引入其主机中采用的集中锁机制;Exadata采用PCI flash card复制热数据,DB2 PureScale采用Easy Tier技术;Exadata采用Smart Scan,IBM Smart Analytics System采用Piggy-back scan等等,这类技术创新非常之多。
此外,因为Hadoop在分布式领域应用的大获成功,以及NoSQL在对非结构化、半结构化数据的处理能力,两者已经成为传统Data Warehouse的必要且有竞争性的补充,企业IT厂商已经推出类似产品。鉴于对分布式数据库的三个目标CAP(一致性、可用性、分区容忍性)的不同偏好,已经出现数十种NoSQL系统,可见此领域创新之密集。
业务应用(Business Application):业务应用包括ERP, HCM, CRM, BI等,支撑着企业正常的业务运营。传统上,这些业务应用功能繁多、安装复杂、运维困难,环境封闭,交付单一,这些特点在云计算时代均被颠覆,呈现出“四化”趋势:平台化、服务化、移动化、社交化。
平台化有多层含义,一方面,业务应用的开发、测试、发布、运营等各个环节,都在云计算平台上进行,这些新型业务应用天然具备云的特点,例如高横向扩展性等;另一方面,传统ERP, HCM, CRM的厂商,逐渐将自己的套装软件发展成为平台,以平台即服务(PaaS)的方式交付。服务化是指业务应用的厂商告别单一的套装软件的交付方式,在有条件的情况下采用在线服务的方式进行交付,对用户而言意味着减少了运营负担,而应用厂商而言意味着更快的交付。移动化是指企业用户可以通过手机等移动设备随时缩地的访问业务应用,极大的提升了工作效率。鉴于目前社交网络的迅速发展,越来越多的企业开通微博等社交网络,面对自己的客户与合作伙伴,传统ERP,,HCM,CRM等呈现社交化的趋势,有的是自己开发一个社交网络,而有的是与既有的流行社交网络(如Facebook, Twitter等)直接集成。
工作效率(Business Productivity): 在企业信息化的过程中,不可避免的出现大量的IT系统、流程、工具,而这些大量的系统、流程、工具往往彼此关系松散,用户的获取十分困难,而随着web2.0的发展、移动设备的普及,企业用户追求更加便捷的办公IT环境,企业工作效率体系呈现如下四个趋势:
协同/社区化,传统企业OA向协同/社区化转变,进一步打破部门壁垒、更容易分享、协作;集成的办公环境,体现在信息获取,业务流程,工作交流,效率工具,会议系统等的整合;搜索(Search),搜索成为企业用户获取信息的主要人机交互方式;BYOD(Bring Your Own Device),员工习惯携带自己的移动设备进入办公环境,带来效率的同时,也带来了信息安全的挑战。
软件工程(Software Engineering): 软件工程的目标依旧是更快更敏捷的交付高质量的软件,当出现问题能时能快速修复。今天,Agile拥有越来越多的实践者、相关工具也日益普及,SOA作为一种架构理念也深入人心,而进入云计算时代,软件工程进一步发展,出现更多的理念与趋势。
首先是DevOps,这个由Development与Operations连在一起的缩写,代表着开发测试与运营的融合,持续集成,持续交付,这个理念首先源于互联网企业,进而被传统企业IT所采用,可以有效的提升交付速度,传统套装软修复一个问题经常需要数周、甚至数月的时间,而采用DevOps的方式可以将周期压缩至30分钟。DevOps对目前企业IT中广泛采用云计算服务提出更高要求,在传统IaaS服务上需要增加能涵盖软件生命周期的管理能力,借助云的快速部署能力,可以很快的部署开发测试环境,自动运行大规模测试脚本,并且可以很方便的复制客户环境。DevOps与云计算天然相关,与软件的新型交付模式——在线服务方式也天然相关,但是DevOps作为一种理念,也可以用于提高传统套装软件的交付速度与质量。
在云计算时代,企业IT更多的接纳、支持开源,不管是套装软件还是在线服务软件,一个明显的例子就是开源的死对头——微软成立一个专门的开源子公司,用于发现、利用开源的机会。看似是微软在开源面前的低头,其实背后的一个道理却不容忽视——当软件采用在线服务的方式交付时,用户还在乎服务背后的软件是开源还是闭源吗?
笔者在写这篇博文时,曾经想将其命名为“互联网对企业IT的影响”,或者“消费IT对传统企业IT的影响”,后来考虑到这不能概括本文的所有内容,于是改名为“云计算时代企业IT技术趋势综述”。即使如此,读者一定可以看到,本文的绝大部分技术创新都是源于互联网,源于消费类IT。的确,这一波技术创新大部分发迹于互联网与消费类IT领域,而传统企业IT很好的发现了利用这些技术的切合点,因此引发了企业IT领域的“二次创新”,而这些创新带来的变化就是:更高效,更敏捷,更贴近业务与用户。
出处:http://joyale.blog.51cto.com/2698460/947230

IBM发布SKC 实现云计算快速部署

2011年12月7日,IBM在北京举行了主题为“云固基础,智算未来”Power Cloud战略发布会,正式推出了Power新一代企业级基础云平台(IaaS),并在业界率先提供全面完整的解决方案,以分别满足企业级云计算平台建设从虚拟化、到系统资源池、最终达到云服务管理的三个阶段的不同需求;同时,大会还隆重发布了“IBM基础架构云快速部署解决方案套件—Starter Kit for Cloud(SKC)”。作为IBM 2011年在全球发布的“智慧云(SmartCloud)”中的重要产品,SKC能够在系统资源池基础上实现“快速云(Entry Cloud)”的部署,确保以最经济、最简捷的方式成功实现云服务管理的落地,为广大用户加快实现“智慧的运算”、以IT推动企业核心竞争力创新奠定基业长青的云基础。
面对云计算这一历史机遇,IT部门在重新思考IT的方向:如何迅速交付服务、实现跨环境整合、提高效率、降低成本;而业务部门期望重塑业务:发掘新的收入来源、加快上市速度、满足变化的客户需求。据《IBM2011年CIO调查报告》显示:IT部门被云计算的低成本、高效率和可控性所吸引――60%的CIO打算使用云计算,而两年前这一数字是33%;业务用户则被云计算的简单、自助体验和新的服务功能所吸引――55%的业务高管相信云计算能够帮助实现业务转型和更加精益、迅速、敏捷的流程。
IBM大中华区副总裁、系统与科技部总经理唐华先生表示:“在今年IBM百年华诞之际,IBM提出了‘智慧的运算(Smarter Computing)’这一重要战略,期望通过为数据而设计(Designed for Data)、为工作而优化(Tuned to the task)、通过云计算管理(Managed in a cloud)三大领先优势,帮助各行业用户奠定智慧而坚实的IT基础架构。IBM Power Systems融汇了‘智慧的运算’三大优势,基于优化的系统,构建领先的企业级虚拟化平台、强大的系统资源池以及提供可快速部署的云服务管理,并实现大数据整合,切实帮助了国家统计局、上海电信、贵州移动等诸多中国客户快速建立云优势、成就云时代的商业创新!”
业界全面领先的Power Cloud:新一代企业级基础云平台
作为云计算概念的提出者和全球云计算技术的领导者,IBM凭借为实现“智慧的地球”愿景而量身打造的Power Systems智慧系统,不断引领客户快速、成功地实现云落地。IBM系统与科技部大中华区Power Systems服务器产品总监李红认为:“在实施云计算之前,企业用户首先需要根据自身业务的独特需求选择不同的云模型,相对于需要从零开始购买硬软件、开发全新应用的分布式公有云而言,企业私有云的部署模式是通过对原有IT设施的云化管理,平滑地将现有应用迁移到云平台。”她进一步介绍了企业级云计算平台建设的三个阶段,以及IBM Power Cloud具有针对性的卓越解决方案:
架构企业级虚拟化平台:云计算的基础
虚拟化在大规模数据中心管理和解决方案交付方面发挥着巨大的作用,是企业迈向云计算的必经之路。虚拟化能够实现应用与硬件解耦,使得硬件资源可以动态地在应用系统间调拨,从而对IT资源实行统筹规划,打破项目之间的界限,形成资源共享、提高利用率。PowerVM基于IBM POWER处理器提供行业领先的虚拟化技术,为企业级云平台提供企业级的虚拟化支撑,具有强大的性能扩展、安全可靠、调配灵活和绿色节能等优势。
例如在性能扩展方面,POWER7的性能遥遥领先,PowerVM虚拟分区也具有业界无可比拟的强大扩展能力,单个虚拟机可以使用物理机的所有资源,从而保证了Power虚拟平台强大的性能扩展能力;又如在安全和可用性方面,Power与PowerVM提供更高的安全可靠性,独有的UNIX在线迁移功能减少了计划停机所带来的服务中断,基于Power的AIX系统达到99.997%的可用时间,IBM还是唯一的设计从电路到Hypervisor虚拟环境的厂商,从而能够全面保障安全性,因此Power虚拟化包括Hypervisor和VIOS都通过了EAL4+认证。
实现系统资源池管理:云计算资源管理的最佳途径
云计算作为一种新的IT基础架构管理和服务交付方式,需要用来管理大批高度虚拟化、标准化、自动化、高效的计算资源,使其表现为一个单一的大型资源池。因此,在虚拟化的基础上构建云计算资源池、实现IT系统资源共享与按需分配,是云计算发展的必经阶段。系统资源池是一组作为单一实体进行管理的虚拟系统组件(服务器、存储器和网络),通过VMControl使系统资源池的管理像管理单个系统一样简单,是实现云计算和动态基础架构的关键功能。通过VMControl统一管理系统资源池,可以打破传统的“烟囱式”IT建设模式,实现资源的自动化部署,降低环境搭建和执行的时间、避免潜在的人为错误,实现标准化的操作系统、应用软件部署和补丁管理,缩短业务需求的响应时间,满足应用按需申请资源、快速上线等需求。
成就云服务管理平台:跨进云计算的最后门槛
为了帮助客户领先一步羸取云计算的优势,IBM于今天推出了IBM基础架构云快速部署解决方案套件—Starter Kit for Cloud(SKC)。它可以帮助用户以最简洁、最快速的步骤构建Power Cloud云服务管理,通过项目管理、计费、流程管理等功能构建IT消费的新模式,在系统资源池的基础上跨越云计算的最后门槛,实现用户服务模式升级,快速响应业务需求,推动业务创新。
SKC是IBM中国系统与科技开发中心(CSTL)基于部分中国客户对云计算平台管理的需求开始研发、经IBM全球研发机构合作打造的、在全球发布的标准产品。该解决方案利用IBM VMControl的扩展方案和多虚拟机平台支持能力,基于REST开放架构,可以同时管理Power和x86服务器,具有部署简单快捷、易于上手和使用的鲜明特点。它利用已有的硬件和虚拟机环境,通过自助式按需获取计算资源,对操作系统和应用进行快速部署,其模块化架构非常易于二次开发,并且易于与企业已有的流程和系统整合,它将新工作负载实现价值的时间从几个月缩短至几分钟,支持更高效的运营,帮助控制运营成本,帮助简化数千个用程序映像的存储。
IBM中国系统与科技研发中心存储与科技部总监谢东表示:“SKC不仅体现了中国企业对云平台管理的未来构想和本地需求,同时融入IBM自己构建、运行和管理为超过 10 万专业人士提供服务的内部云平台的经验;同时,SKC采用了在世界各地企业部署云计算的成熟技术,还利用了经过时间考验的私有云实现经验和最佳实践,因此SKC已经成为许多中国客户及合作伙伴成就‘快速云’的必备工具,并为企业通过IBM Service Delivery Manager(ISDM)跃升到更高级的云平台管理提供跳板。”
作为同IBM中国开发中心和IBM中国研究院并列的三大研发机构之一,IBM中国系统与科技研发中心(CSTL)是国内系统科技研发领域的权威机构,凭借突出的人才技术优势、世界级的研发测试工作、持续的创新能力和前瞻的本地技术洞察,CSTL贴近中国的客户和ISV,针对特定需求提供快速响应的技术支持服务,为云计算在中国的普及落地提供保障。
华迪计算机集团有限公司云计算服务事业部副总经理胡荣表示:“华迪公司专注于云计算技术和业务模式的发展,提供涵盖咨询服务、集成实施、产品研发和运营维护等全方位、端到端的整体解决方案,在电信运营商省级平台及政府高新企业园区得到率先应用。在与IBM系统与科技事业部的支持下,我们已经采用了SKC作为华迪‘云数据中心综合运营管理系统’解决方案的一部分。通过应用SKC,我们能够快速地建立起云计算管理平台,从而帮助用户实现IT基础设施的统一管理、统一分配和统一部署,快速响应企业对IT资源的需求和服务交付。我们期待以SKC为合作契机、充分发挥华迪在云计算平台管理的行业领先优势,和IBM一起共同为更多企业提供高端的云计算服务。”
IBM系统与科技部大中华区Power Systems服务器产品部总经理韩忠恒先生表示:“作为服务器市场的绝对领导者,Power Systems开启了一个崭新的计算时代,凭借卓越的产品特性、稳定发展的产品路线图和持续的研发投入,一直为用户和ISV提供高价值的支持与服务。50% 的中国五百强企业正在使用Power,超过3000个企业级的应用运行在Power服务器上,超过8000个客户选择从HP/SUN迁移到POWER 7。Power 已经成为企业级关键应用的首选平台,现在有越来越多的客户选择部署Power Cloud,构建业界领先、安全可靠、绿色节能的企业级基础云平台,加快实现‘智慧的运算’,以全新的IT价值推动企业从优秀到卓越!”