《4、DevPerfOps 性能工程_ 通往高性能低成本软件之路_张旭海.pdf》由会员分享,可在线阅读,更多相关《4、DevPerfOps 性能工程_ 通往高性能低成本软件之路_张旭海.pdf(22页珍藏版)》请在三个皮匠报告上搜索。
1、Dev evPerferfOps ps 性能工程性能工程 通往高性能低成本软件之路通往高性能低成本软件之路2023 China DevOpsDays-8月12日 北京-张旭海张旭海Thoughtworkshoughtworks 安全与系统研发事业部安全与系统研发事业部架构师、专家级咨询师架构师、专家级咨询师在软件架构设计、云原生基础设施、企业数字化和性能工程等领域拥有7年咨询和交付经验。关注并聚焦于云原生、分布式以及系统研发等技术领域,是活跃的技术博客写作者,技术文章翻译者和开源软件贡献者。性能后置时代落幕性能后置时代落幕计算机体系结构发展放缓计算机体系结构发展放缓CPU 性能增速急剧衰减:性
2、能增速急剧衰减:19862003:性能每年提升 52%20032015:单核 多核,每年提升 1223%2015至今:摩尔定律终结,每年提升 3%改善性能不再对代码透明:改善性能不再对代码透明:单核:指令级并行,硬件+编译器多核:线程级并行,并发编程图源:计算机体系结构:量化研究方法复杂系统性能治理愈发困难复杂系统性能治理愈发困难软件一直朝着规模庞大的方向发展软件一直朝着规模庞大的方向发展:复杂:单体 SOA 微服务 云原生缓慢:函数调用 进程间调用 跨服务远程调用图源:Uber 的微服务架构图无法忽视的成本增速无法忽视的成本增速云成本管理成为企业用云的头号挑战。公有云支出平均超出企业预算 1
3、8%,且仍在逐年增长。2023 State of the Cloud Report即便在容器技术大幅提升资源利用率的情况下,仍有 68%的企业表示在迁移至 K8s 后其计算资源成本反倒增加了。FINOPS FOR KUBERNETES(CNCF)性能优化:提升服务体验,降低硬件开销,多角度性能优化:提升服务体验,降低硬件开销,多角度降成本降成本图源:2023 State of the Cloud Report融入性能并不容易融入性能并不容易研发流程中,性能往往被忽视研发流程中,性能往往被忽视习惯于习惯于“性能后置性能后置”,把性能问题推到,把性能问题推到 Day2ay2打破思维定式不容易打破思
4、维定式不容易设计阶段:性能考量基于经验知识,缺少完整建模方案和验证方法。开发阶段:业务开发优先,性能优化看心情,缺少性能基准测试。测试阶段:按时上线最重要。关键路径覆盖不足,测试方法可能存在偏颇。PlanningImplemen-tationClient NameMaintenanceDesignAnalysisTesting&IntegrationDevelopmentLifecycleDay2:发现性能问题开发测试返工依赖专家经验,难以规模化依赖专家经验,难以规模化性能优化网络存储CPU内存协议算法指标建模测试分析数据结构编程语言性能工具系统架构性能优化依赖性能优化依赖“分析性思维分析性思
5、维”和和“综合技术能力综合技术能力”理解关键业务路径+熟悉系统架构掌握底层系统知识和原理+各种性能分析工具的使用性能优化方法和理论+大量的实践经验孤立工具的高认知负载孤立工具的高认知负载pprofjmapjstackjhatjstatjinfojps学习成本高:学习成本高:不同的语言、框架、系统都有自己的一套工具,使用复杂,不容易掌握数据不直观:数据不直观:需要在各种工具的结果报告间关联数据,寻找问题踪迹,注重逻辑分析和演绎图源:Linux Performance Observability Tools什么是性能工程?什么是性能工程?Dev evPerferfOps ps:构建性能工程反馈闭环
6、:构建性能工程反馈闭环平台能力支撑看护定界测试仿真代码优化设计设计开发开发测试测试运营运营代码静态扫描微基准测试关键路径插桩性能测试框架用例模板执行任务编排仿真数据分析版本性能基线指标模型对比根因分析性能优化模式性能建模性能指标要求性能规划设计性能关注点地图插件市场测试平台观测系统分析服务知识库性能左移:技术支撑的流程再造性能左移:技术支撑的流程再造队列容量消费速度排队率中断频率上下文切换softirqAsync IO零拷贝用户态 性能建模性能建模:关注点地图、指标模型性能测试用例负载发生器用例调度仿真环境采样分析器插件市场用例观测系统性能测试性能测试:用例框架、基础设施图源:TCP Impl