云环境下Web应用的自动资源扩展
1. 引言
Web应用在各类企业和云服务中扮演着重要角色。像网上银行、电子商务和在线游戏等许多Web应用,都面临着负载波动的问题。部分负载是可预测的,比如购物服务在节假日前后的工作量;但随着社交网络的普及以及信息在全球传播的速度加快,在线系统需要应对不断增长且不可预测的峰值负载事件。
自动扩展是一种解决方案,它不仅能在面对波动负载时维持应用服务质量,还能减少资源浪费。其基本思想是在短时间内估计负载,然后根据需要对资源进行扩展或缩减。许多云服务,如亚马逊EC2和谷歌应用引擎,都推出了自动扩展服务。其他软件如Scalr和RightScale也提供了可应用于云环境的自动扩展机制。然而,大多数现有解决方案存在以下一些限制:
1. 依赖用户提供的扩展指标和阈值。
2. 采用简单的多数表决扩展算法,这种算法在扩展Web应用时效果不佳。
3. 缺乏预测工作负载变化的能力,可能导致不必要的扩展操作。
为了解决这些问题,开发了一个自动扩展系统WebScale。它不受到上述限制的影响,能够实时监控应用和系统的行为,并根据收集的指标决定是否需要增加或减少应用的虚拟机数量。
2. 主要贡献
- 发现客户端的传入请求(而非标准指标)和HTTP响应时间能更准确地描述Web应用的工作负载/性能行为。基于此,设计了一种有效的Web应用扩展算法——基于工作负载的算法。
- 提出了一种分析Web应用工作负载变化趋势的算法。该趋势分析算法能显著减少因工作负载波动导致的响应时间峰值(超过2秒)。
- 通过httperf生成的工作负载进行实验,结果表明该扩展策略即使
云环境Web应用自动扩展技术
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



