捉虫记--大容量Web应用性能测试与LoadRunner实战(连载五)

发表于:2013-5-28 10:03

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:施迎    来源:51Testing软件测试网采编

分享:

  那么,如何使得网站具有高可用性呢?

  【何为高可用性】

  所谓高可用性,就是指网站在绝大多数的时间都能够正常显示。网站的设计说明书中经常提到"保证网站99.99%的时间都可用"这样的承诺,这就需要一定的技术保障。但是Web应用比较复杂,软件代码可能有Bug;用户的持续访问和数量的增加也会造成网站较大的负荷,导致硬件可能失效。

  可以用以下几种方法来提高网站能正常运转的时间。

  主动防御:尽量修改软件代码中的Bug,提高Web应用本身的健壮性,减少网站出问题的机会。

  被动防御:在保持现有Web应用代码、服务器配置不变的情况下,通过适当增加服务器的数量、尽量平均分配网站负荷、采用备份的方法提高可用性。在这些措施中,就有冗余备份,负载均衡等方法,我们将在下面的内容中介绍。

  2.提高可用性:冗余备份

  冗余备份是用两台或者多台服务器构成一个小的服务器场(Server Farm)来承担网站失败恢复工作的。简单地说,一台服务器作为Web应用的主服务器,另一台作为它一模一样的镜像复制。一旦主服务器发生问题,网站无法正常使用,立刻切换到备用服务器,使得用户的访问能够继续。它的结构示意如图5-11所示。

图5-11  冗余备份的简单结构示意图

  由于网站所需要的服务器要比图5-10中多出一台到多台,这些服务器中的数据又是互为备份的,因此,我们把这种方式叫做冗余备份。当图5-10中的Web应用服务器发生故障时,系统检测到(有多种方法能检测服务器故障是否发生:比如"心跳",即HeartBeat,采用定时ping服务器以及其他指标),系统将把连接服务器与外界的线路自动转接到备份服务器上,从而导致用户端浏览网站时基本感觉不到这种变化,极大地减少了维修Web应用服务器所带来的网站停止时间。

  这种方法在生活中也经常采用。比如家里的手机、电视、汽车等出了故障,维修点一般会先给一个替代用品来满足维修期间的需要。不同的是,对于网站来说,主服务器和备份服务器的数据要求尽量完全一致。

  3.提高可用性:负载均衡

  冗余备份看似很完美地解决了服务器故障所带来的影响,但是它增加了设备,增加了成本,而且备份服务器上网站的备份实际上用户也是可以使用的,平时闲置的话有些可惜。因此,人们又采用了负载均衡的办法,在多台同样的服务器之前,加入一个"调度员",将用户的访问请求尽量平均分配给它们,导致每台服务器的负担下降,因而出问题的几率也就下降了。整个系统的简单示意如图5-12所示。

图5-12  网站服务器的负载均衡

  在实际工作中,还有其他一些方法,人们也往往综合使用这些方法来达到网站的7×24(7天,每天24小时,也就是全天候)可访问目标。

  【失败恢复测试的意义】

  失败恢复测试一般都是人工进行,有点类似奥运会开幕式的彩排。在模拟一台Web服务器出现故障的时候,验证另外的服务器能否接管用户的请求。当然,目前这些工作都已经可以由专用软件、硬件厂商来提供服务,只需要购买就可以了,实际的操作一般不会由测试工程师参与,技术经理和网络管理参与即可。但是,作为一个Web性能测试工程师,没有进行失败恢复测试的意识是不合适的。在以后的章节中,我们将和小白一起编写测试计划,在其中,应该给失败恢复测试留出一定的文字、安排一定的时间。

  (未完待续)

相关链接:

捉虫记--大容量Web应用性能测试与LoadRunner实战(连载一)

捉虫记--大容量Web应用性能测试与LoadRunner实战(连载二)

捉虫记--大容量Web应用性能测试与LoadRunner实战(连载三)

捉虫记--大容量Web应用性能测试与LoadRunner实战(连载四)

55/5<12345
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号