检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
首先让系统运行起来,再考虑怎么让它变得更快。一般只有在我们证实某部分代码的确存在一个性能瓶颈的时候,才应进行优化。除非用专门的工具分析瓶颈,否则很有可能是在浪费自己的时间。另外,性能优化的隐含代价会使我们的代码变得难于理解和维护,这一点也是需要权衡和关注的。 设计优化 算法优化 资源优化
RES07 监控告警 应用系统需要监控,以便维护人员能快速识别系统运行现状及问题。 RES07-01 定义关键指标与阈值并监控 RES07-02 日志统计监控 RES07-03 监控到异常后发送消息通知 RES07-04 监控数据存储和分析 RES07-05 端到端跟踪请求消息 父主题:
OPS02-01 进行需求管理和迭代开发 风险等级 高 关键策略 您的云上应用要达到卓越运营,从设计和开发阶段就需要保证可用性,可恢复性,同时也需要保证代码的质量。您需要评估和了解软件DFX相关要求,包括可靠性、性能、可服务性、可运维性、可交付性等要求 将监管、行业和内部合规性要求纳入需求范围
统一部署具备跨账号安全管控的服务,如安全云脑SecMaster、企业主机安全HSS、数据安全中心DSC、数据加密服务DEW、云证书服务CCM、漏洞管理服务CodeArts Inspector、配置审计Config等 云审计服务CTS 日志账号 集中存储和查看所有账号的审计日志和安全相
此外,云上的软件是不断演进和重构的,很多时候我们不敢修改已有系统代码的原因,就是不知道它的影响范围,担心产生某种程度上的蝴蝶效应,影响了其它模块而造成线上系统的问题,有了开发者测试之后,只要在改完代码后运行一下测试就知道改动对整个系统的影响了,从而可以让我们放心的重构和演进代码。 同时,应该有一个适用于您软件的
的组织可以在云上提供多个环境,典型的环境包含测试环境,预生产环境和生产环境。在生产环境部署之前,可以通过测试环境进行联调测试,验证不同团队代码之间的业务交互流程是否正确。但是测试环境和生产环境的配置不尽相同。 而预生产环境使用与生产环境相同的部署配置、安全控制、步骤和程序,在预生
规划标准化的运维流程与运维工具 OPS02 您是否通过CI/CD实现高效的频繁可逆的小规模变更? 1. 进行需求管理与迭代开发 2. 关联源代码版本和部署的应用版本,使用代码质量最佳实践 OPS03 你是否有完备的测试验证体系? 1. 推行开发者测试 2. 使用多个环境进行集成测试,构建和生产环境相同的预生产环境
OPS06-07 通过可观测性指标引入自动化措施 风险等级 高 关键策略 可观测与自动化运维工具联动,实现自动化的故障检测、恢复及弹性伸缩等功能,进一步提升运维响应速度和准确性,降低人为干预带来的延误,甚至错误。 父主题: OPS06 可观测性体系
RES07-04 监控数据存储和分析 监控数据包括统计和日志信息,均需要存储并进行生命周期管理,以满足数据监控的保留要求;并定期对其进行分析,以了解系统运行状态和趋势。 风险等级 中 关键策略 监控数据存储时长需要满足保留要求。 监控数据需要定期分析,以便发现或预测系统故障,减少业务中断。
RES13-03 过载检测与流量控制 当应用系统发生过载时,可能会导致系统疲于处理请求而无法有效提供服务,因此需要进行过载检测并进行流量控制。 风险等级 高 关键策略 过载控制(也称流控)指系统处于过载时,通过限流、降级、熔断、弹性伸缩等手段,使系统保证部分或者全部额定容量业务成
失败时发生大规模问题的风险。 X即代码,尽量自动化所有流程 云上应用和传统应用的一大区别是,您可以将整个云上应用,包含应用程序自身、运行应用的云基础设施、安全策略、以及相应的运维操作视为代码。这意味着整个卓越运营的各种实践,都可以极大地使用代码自动化,例如定义应用的基础设施,部署
RES07-02 日志统计监控 应用系统需要收集日志,在必要时对日志进行统计分析,设置告警规则触发告警,统计分析的内容可以是统计一定时间段内某些关键字出现的次数。 风险等级 中 关键策略 日志关键字与出现次数阈值需要合理设置,以免监控信息不正确。 日志信息(如关键字或出现频率)发生变化时,需要及时更新告警规则。
OPS02 通过CI/CD实现高效的频繁可逆的小规模变更 OPS02-01 进行需求管理和迭代开发 OPS02-02 关联源代码版本和部署的应用版本,使用代码质量最佳实践 父主题: 卓越运营支柱
根据性能瓶颈,调整云服务资源的配置,如 CPU 、内存、网络等。 使用缓存: 使用缓存技术,如 CDN 、 Redis 等,提高数据访问速度。 代码优化: 对云服务资源使用的代码进行优化,提高代码执行效率。 数据库优化: 对云服务资源使用的数据库进行优化,如索引优化、查询优化等。 负载均衡: 使用负载均衡技术
RES07-01 定义关键指标与阈值并监控 对资源进行监控时,需要先定义资源的关键指标以及对应的阈值,以便快速有效的发现业务表现和系统状态,以便在异常状态下尽早干预恢复,或定位改进系统缺陷。 风险等级 中 关键策略 关键指标需要与系统内工作负载的关键性能指标相关,并能确定为系统性
避免过度设计。 性能可观测 在业务系统开发维护阶段,采取措施(例如在关键点插入代码,探测器)使测试和分析负载场景、资源需求、性能目标达成一致。使用监控工具来分析历史趋势,并识别支配性占比的数据流和代码实现路径。本原则强调采取措施使性能指标可测试,可以利用商用工具测试质量指标,也可
RES07-05 端到端跟踪请求消息 端到端跟踪请求消息的处理流程,便于分析和调试问题,并提高处理性能。 风险等级 低 关键策略 消息跟踪需要包含消息处理流程中所有组件,以便跟踪结果完整,从而进行准确分析和定位。 相关云服务和工具 应用性能管理 APM:支持调用链追踪,能够针对应
内部工具或公测类应用典型部署架构(99%) 内部工具类应用通常用于内部操作,且在故障时只会对内部员工造成影响,不可用时只会带来不方便,可以承受长时间的恢复时间和恢复点;公测类应用用于面向客户的实验性的工作负载,在必要时可以隐藏其功能;针对这些应用,其可用性目标通常要求不高,可达到99%,即每年中断时间可以为3
RES07-03 监控到异常后发送消息通知 当对应用系统监控发现应用异常后,需要向相应的人员和系统发送实时通知消息和告警,以便及时处理。 风险等级 中 关键策略 采用实时快捷的消息通知方式,以便相关人员能及时得到消息。 消息发送人员需要涵盖运维人员,以便及时恢复。 运维人员需要有备份,避免单点风险。
提高cpu使用率同时减少额外性能开销。 提高内存使用率。 优化业务逻辑,减少计算量和IO操作。 典型业务的调优 优化代码逻辑:在进行Spark参数调优之前,要进行相应的规划设计,优化代码逻辑。 Spark任务跑的比较慢,cpu利用率低:检测室executor线程不能全部吃满,此时应减少每个e