预览加载中,请您耐心等待几秒...
1/5
2/5
3/5
4/5
5/5

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

中国[选择]使用条款 dW全全全全 首页产品服务与解决方案支持与下载个性化服务 developerWorks中国>Webdevelopment> developerWorks 中国提供基于Web的应用程序的关键特性 本文内容包括:开发并衡量可伸缩性、可用性、可维护性和可靠性 Web应用程序的关键特性 文档选项 级别:初级 衡量方法 打印本页 提高可伸缩性和可用性的编程实 ShantanuBhattacharya,首席顾问,SiemensInformationSystemsLimited 践将此页作为电子邮件发送 结束语 参考资料2006年10月10日 关于作者 对本文的评价任何企业级应用程序都必须具有某些关键性能。一个基于Web的应用程序的用户可能遍布世界各地,提供无缺陷的可伸缩性、可用性、 可维护性和可靠性至关重要。在本文中,您将了解这些关键特性的处理方法和衡量标准的设计技巧。您还会找到一些开发提示以确保应 用程序具有最佳性能。 相关链接: Webdevelopment技术文档库基于Web的应用程序的管理与维护是最棘手的问题。基于Web的应用程序的用户都是动态变化的。用户可能遍布世界各地,这就要求应用程序必须具有高 可用性。具有高可用性的应用程序一定还要具有高度的可靠性和可伸缩性。 一个优秀的基于Web的应用程序多获益于若干个特性的同时作用。本文将讨论在Web应用程序中必须要处理的以下几方面的关键特性: 可伸缩性 可用性 可维护性 可靠性 另外本文还将说明如何设计上述特性的衡量方法,并将提供一些可用于增强应用程序功能的开发提示。 Web应用程序的关键特性 每个企业应用程序都必须具备上述特性,以及可靠性、可升级性、可收益性、可支持性、可购性和可售性。本文主要分析了前四种特性。 可伸缩性 应用程序的可伸缩性有两个独立的方向——向上扩展和向外扩展。向上扩展包括升级硬件或优化软件以确保单个服务器机组能够支持更多用户。例如,如果 一个机器在向上扩展前支持100个用户,则在应用向上扩展后,它支持的用户可能增加到125个。 向外扩展就是在能添加更多服务器来执行同样的功能时,无需中断软件,即可增加应用程序所支持的用户数。添加另一组服务器后,用户可能从100个增加 到175个。用户数不会倍增,原因在于共享负载的服务器之间进行通信也需要系统开销。这也决定了软件要能够无缝地在多个这类服务器之间共享单个服务 器的负载。 可用性 通常,我们所说的可用性即是指高可用性。具有高可用性的应用程序应该在一年中的大部分时间里都处于启动且运行的状态,因而对高可用性的衡量方法就 是看它在一年里的停机时间。有关衡量技巧的详细信息,请参阅衡量可用性。这里说的停机时间还包括为应用程序维护和升级所规划的停机时间。 可维护性 如果应用程序在生命周期内始终能够满足用户需求,则可认为该应用程序具有可维护性。如果应用程序可以根据需要增加用户数、升级用户需要的功能并可 根据需要将新功能添加到应用程序中,则应用程序具有可维护性。 可靠性 由于软件中的错误而造成应用程序停机称为不可靠性因素。应用程序应该具有高可靠性因素以确保它同时具有高可用性,这一点十分重要。任何一次停机, 包括由于软件错误造成的停机,都会降低可用性。 回页首 衡量方法 必须要能够衡量应用程序的各种性能,这样才能在产品的生命周期内对其进行监视。此部分将探讨一些衡量方法。 衡量可伸缩性 衡量可伸缩性时经常采用以下两种衡量方法: 特定的机器配置能够支持的用户数,可以衡量应用程序的向上扩展能力。例如,配有4GBRAM和80GBHDD的Pentium4PC能够支持 100个用户。 在通过服务器机群增加支持应用程序的服务器后最多可支持的用户数,可以衡量应用程序的向外扩展能力。您还可以通过服务器机群最多可支持的 服务器数目来衡量向外扩展能力。 虽然这些方法可以在顶层衡量可伸缩性,但您还需要针对支持的用户数来定义工作流。如果不把它考虑在内,则有可能出现不同级别的工作流复杂度所支持 的用户数也不同的情况。 精确定义工作流和各类用户的比例是一项复杂的任务,并不在本文讨论范围之内。 衡量可用性 可用性是用应用程序在一年内非停机时间的百分比来衡量的。表1给出了可用性百分比与一年内可接受的停机时间。 表1.可用性与一年内可接受的停机时间 可用性百分比可接受的最长停机时间 99.9%8.8小时 99.99%53分钟 99.999%5分钟 99.9999%32秒 一些重要的系统(例如空中交通控制系统或医疗系统)需要在99.9999%的时间里都处于运行状态。也可以用可用性百分比中包含9的数目来表示可用 性,例如99.9%被称为三个9s可用性