PERF 1: 如何选择性能最好的架构?
一个工作负载通常需要采用多种方法才能实现最佳性能。架构完善的系统会使用多种解决方案和功能来提高性能。
资源
Introducing The Amazon Builders’ Library (DOP328)
最佳实践:
-
了解可用的服务和资源:
了解云中提供的各种服务和资源。识别与您的工作负载相关的服务和配置选项,并了解如何实现最佳的性能。
-
制定架构选择流程:
使用关于云的内部经验和知识,或外部资源(例如,已发布的使用案例、相关文档或白皮书),制定资源和服务选择流程。您应该制定一个流程,以鼓励对可能会用于工作负载的不同服务进行试验和基准测试。
-
在制定决策时考虑成本要求 :
工作负载通常具有运营成本要求。根据预测的资源需求,使用内部成本控制机制来选择资源类型和规模。
-
使用策略或参考架构:
通过评估内部策略和现有参考架构,以及使用分析为工作负载选择服务和配置,来最大程度提高性能和效率。
-
使用云提供商或相关合作伙伴提供的指南:
使用云公司提供的资源,例如,解决方案架构师、专业服务或适当的合作伙伴来指导您的决策。这些资源可帮助进行审核,并改进您的架构,从而实现最佳性能。
-
对现有工作负载进行基准测试:
对现有工作负载的性能进行基准测试,以了解工作负载在云上的运行情况。使用从基准测试中收集的数据来推动架构决策。
-
对工作负载进行负载测试:
使用不同的资源类型和大小在云上部署最新的工作负载架构。监控部署情况,捕获用于识别性能瓶颈或容量过剩的性能指标。使用此性能信息来设计或改进您的架构和资源选择。
改进计划
了解可用的服务和资源
盘点相关服务的工作负载软件和架构: 收集工作负载清单,并确定要详细了解哪类产品。识别并收集可被托管服务替代,以提高性能和降低运营复杂性的工作负载组件。
制定架构选择流程
选择架构方法: 确定满足性能要求的架构类型。确定限制因素,例如,交付媒介(桌面、Web、移动设备、IoT)、传统要求和集成。确定重用(包括重构)的机会。咨询其他团队,查阅构架图和其他资源,例如,AWS 解决方案架构师、AWS 参考架构和 APN 合作伙伴,以帮助您选择架构。
定义性能要求: 根据客户体验来确定最重要的指标。确定每个指标的目标、衡量方式和优先程度。定义客户体验。记录客户所需的性能体验,包括客户如何判断工作负载的性能。优先考虑重要用户案例的体验问题。包括性能要求和实施脚本化的用户历程,以确保您知道如何根据您的要求执行用户案例。
在制定决策时考虑成本要求
优化工作负载组件以降低成本: 设置大小合适的工作负载组件并实现弹性,可降低成本并最大程度提高组件效率。确定哪些工作负载组件可在适当情况下由托管服务替代,例如,托管数据库、内存缓存和反向代理。
使用策略或参考架构
使用现有策略或参考架构部署工作负载: 将服务集成到您的云部署中,然后使用您的性能测试,以确保您可以继续满足性能要求。
使用云提供商或相关合作伙伴提供的指南
联系 AWS 资源以获取帮助: AWS 解决方案架构师和专业服务提供关于实施解决方案的指南。APN 合作伙伴提供 AWS 专业知识,可帮助您实现业务敏捷性和创新能力。
对现有工作负载进行基准测试
在开发期间监控性能: 实施可以让您在工作负载运行期间了解其性能的流程。
集成到您的交付管道: 在您的交付管道中自动运行负载测试。将测试结果与预先定义的关键性能指标 (KPI) 和阈值进行比较,以确保您继续满足性能要求。
测试用户体验: 使用合成或净化的生产数据(删除敏感信息或身份识别信息)进行负载测试。在应用程序中大规模使用重演或预先编程的用户体验,从而演练整个架构。
对工作负载进行负载测试
利用负载测试来验证方法: 对概念证明进行负载测试,以确定您是否满足性能要求。您可以使用 AWS 服务来运行生产规模的环境,以测试您的构架。由于您只需在需要时为测试环境付费,因此,执行全面测试的成本远远低于使用本地环境的成本。Amazon
EC2 测试策略
监控指标: Amazon CloudWatch 可以收集架构中各种资源的指标。您也可以收集和发布自定义指标,用于显示业务指标或派生指标。使用 CloudWatch 或第三方解决方案来设置超出阈值时显示的警报。
大规模测试: 负载测试时使用您的实际工作负载,以便您可以了解解决方案在生产环境中的表现。您可以使用 AWS 服务来运行生产规模的环境,以测试您的构架。由于您只需为所需的测试环境付费,因此,执行全面测试的成本要低于使用本地环境的成本。利用
AWS 云测试您的工作负载,以发现工作负载的哪些部分无法扩展或者是否以非线性方式扩展。例如,您可以使用 Spot 实例以很低的成本生成负载,并在投入生产前发现瓶颈。