什么是性能工程?( 三 )

  • 测试验证阶段,由于性能指标和代码实现已经齐备 , 可以通过在测试环境的持续监控和仿真测试来对系统性能进行评估 。
  • 运营维护阶段,通过观测手段对生产系统进行分析和剖析,产出性能变化趋势和优化建议 , 真实环境的场景和数据沉淀后形成知识 。
  • 版本迭代阶段,基于设计目标和实际分析结果,建立性能基线 , 用于新版本发布前的性能看护,以快速识别劣化点 。
  • 上述全流程方法,从设计规划阶段开始关注性能 , 到运营阶段完成分析和看护,能形成性能工程的持续反馈闭环,也能实现研发性能左移 。
    固化专家经验形成知识库,沉淀性能优化标准实践 
    通过持续的指标检测 , 形成性能指标数据库,将积累的性能指标在不同系统之间关联,能够从趋势上洞悉业务变化从而以数据驱动架构设计决策 。
    对日常性能分析和优化的实践经验进行总结提炼 , 形成特定场景的性能分析流程、性能劣化反模式,以及性能优化思路,固化进知识库以供参考 。知识库使业务研发人员也能基于标准化流程尝试解决性能问题,这极大地降低了性能专家的工作量 , 使其能更专注于少量疑难杂症的解决 。
    形成一定规模的知识库后,一方面能够基于知识沉淀出方法,进而研发出公共平台组件一劳永逸的解决同类问题 。另一方面能够通过机器学习的手段,对发现的性能问题给出解决方法建议和步骤,进一步降低性能优化的难度 。
    自助化性能分析,降低工具学习和使用成本 
    通过构建平台化的性能工程能力,为研发人员提供一站式的性能分析工具集和自助式使用体验 。在该场景中,研发团队扮演需求提出方,平台团队扮演能力提供方 。
    通过建设可观测体系,平台可为研发团队提供开箱即用的监控能力市?。?<?娜?APM、全链路观测等,实现对系统各类性能指标的一键监控 。
    通过封装各类性能分析工具集,以帮助研发团队通过简单的操作就可以对不同环境下运行的各类异构应用、中间件、系统甚至硬件进行数据采集和即时分析 , 并生成可视化友好的分析报告,如火焰图、调用图、内存地图、请求分析图、线程分析图等 。
    通过扩展持续交付流水线,允许研发团队将各类性能指标和测试用例在流水线上集成和关联,以方便形成性能基线,并为性能看护提供基础设施和流程自动化的支持,以实现持续的性能改善,防止性能劣化 。
    如何开始? 
    本文先讨论了性能问题日趋严峻且不容忽视,之后引出了研发团队在处理性能问题时的现状问题和挑战,然后对应每一种问题,提出了性能工程的实现目标 。
    那么,如何才能开始建设性能工程体系?企业落地性能工程的实践有哪些?怎样评价企业性能工程建设的水平?
    请看后续系列文章 。




    推荐阅读