? ? ? ?
? ? ?
透过性能优化看系统架构的合理性
? ? ?
?
?
?
?
? ? ?
? ? ?
?
? ? ?
?
?
?
本文首发于一年多以前,由当时十位民生银行的数据库专家合著,系统地从架构的角度对数据库性能问题进行分析解读,是多年项目开发和运维工作的经验总结。
综述
本文尝试在软件系统架构的众多组成部分中突出的讨论性能问题,尤其是数据库有关的性能问题。从架构的角度对这些数据库的性能问题进行评估,试着在架构的设计中找到答案。
首先我们会简单的认识一下何为架构、架构如何重要,在架构的通用语义中如何考虑性能问题,如何建立起性能模型。
接着,我们会深入的讨论数据库中的性能问题:性能模型的考虑、影响性能的各种因素、性能调优的原则和方法等等。
最后我们通过四个很有价值的实例,讨论了性能问题的发生和解决的方法。
1?架构
1.1 什么是架构
不论是不是真的理解架构或精通架构,每个从事软件系统实现这一工作的人员,肯定在自觉或不自觉的完成了设计或实现一个架构。也就是架构作为软件系统的灵魂,套用一句流行语:不管你认识或者不认识架构,架构就在那里,不可改变。就像建筑行业一样,不论建房之前是否有一个设计图纸,只要是建筑物,就不可避免的存在一个建筑架构,而且建筑物的特点、质量、功能都取决于这一架构。软件系统亦是如此。
本文引入架构这一概念,并非专门探讨架构这一主题,因此下面借鉴两个比较权威的架构定义,有兴趣深入的读者可以研究其相关内容。
IEEE 1471的定义为:架构是在组件,彼此间和与环境间的关系,引导设计发展原则中体现的系统的基本结构。
系统是为实现某个(些)特殊作用的组件的集合。
专用系统包括个人应用,传统概念上的系统,子系统,系统中的系统,产品线,产品系列,整个企业和其他利益集团。一个系统是为了实现一个或多个任务而存在。
环境决定了开发,操作,策略和其他影响系统的设置和条件。
任务是指系统为了实现对对象设置的使用或操作。
涉众是对于系统有利益关系或关注的个人,团队或组织。
卡内基梅隆大学软件研究所的定义为:软件架构是一系列相关的抽象模式,用于指导大型软件系统各个方面的设计。软件架构是一个系统的草图。软件架构描述的对象是直接构成系统的抽象组件。各个组件之间的连接则明确和相对细致地描述组件之间的通讯。在实现阶段,这些抽象组件被细化为实际的组件,比如具体某个类或者对象。在面向对象领域中,组件之间的连接通常用接口_(计算机科学)来实现。
下面我试着列出了在不同角度体现出的影响架构的因素。
影响架构的因素1:在软件系统生命周期的各阶段,影响架构的因素有如下图所示的各个方面
影响架构的因素2:从不同需求层次出发,影响架构的因素有如下图所示:
1.2 架构的重要性
上面在提到关于建筑这一示例时,尽可以体现架构对于建筑的重要性,如无合理的架构,建筑物就存在坍塌的危险。同理,在软件系统中,如果架构存在缺陷,则一样会影响软件系统正常功能,甚至是整体系统的生命。因此架构在软件系统中重要性是毋庸置疑的。
所以我们在建设一个软件系统时,绝对有必要事前建立一个合理的、高效的架构。这也是软件系统的核心角色:架构师的重要职责。
2?架构设计中的性能模型
架构的组成是多样的,相应的每一部分都很重要,而本文将会集中讨论架构中性能问题。最后会落实到数据库的性能问题。
作为软件系统非常重要的一项指标,性能不避免的成为架构设计中非常重要的一环,架构是由很多不同层次的组件组成的,具体到性能的设计,每个组成架构的组件,都会有不同角度的体现,为了从架构的角度和范畴来统一的规划和设计性能,目前比较普遍采用的方法是在设计架构时,同时规划或设计一个性能模型。由性能模型来指引和管理整个架构范围内的性能问题。
性能模型需要达成的目标如下:
管理性能相关的风险:
·将业务目标映射至性能目标
·平衡性能与质量之间的关系
·标识和分析典型性能场景
·拟定具体指标和测试案例
·评估模型并确保最终能实现性能目标
为了更好的表现性能模型,性能模型表现形式主要分为两类:
·一套结构化的信息,用于描述性能相关的各种元素。
·一套过程,用于定义、获取上述的信息和处理方法。
为了实现性能模型的目标,性能模型应该包含如下的内容:
·关键程序路径及对性能的影响
·如何利用计算资源及这些计算资源对性能的影响
·最常用的代码或模块
·访问关键资源的方法及资源竞争的解决
·代码或模块的访问关系,标识本地与远程的不同
·在性能实现中性能的折中
·同步调用与异步调用的评估
·梳理耗资源较高(I/O,CPU,MEM等)功能或模块
·定义各性能目标的优先级别
·性能目标对设计的影响
模型中对性能信息的描述可以参考下面的内容:
·根据业务确定系统的响应时间和各种资源的利用率目标
·确定最终的部署环境(包括各种软
您可能关注的文档
- 数据中心运维管理方案.pdf
- 数据中心智能运维管理方案.docx
- 数字辽宁发展规划.docx
- 数字孪生城市研究报告.docx
- 数字油田视频监管系统解决方案.pdf
- 双活数据中心自动化切换的工具平台选型分析.docx
- 水电站安全防范系统解决方案.pdf
- 水利可视化监测系统解决方案.pdf
- 泰合信息安全运营中心系统白皮书.docx
- 泰合信息安全运营中心系统方案.docx
- 非遗文化木雕知识技法分类木雕非遗介绍讲座PPT课件.pptx
- 川教版小学信息技术三年级上册第三单元 在线助我做家务3.2在线攻略全搜索PPT.pptx
- 北师大版(2024)物理八年级下册第八章 压强和浮力 第六节 浮力PPT.pptx
- 中小学生全面守护安全教育必修课主题班会PPT课件.pptx
- 川教版小学信息技术三年级上册第二单元 在线助我乐出游2.3在线购物备物品PPT.pptx
- 川教版小学信息技术三年级下册第二单元2.5评价在线学习成果PPT.pptx
- 川教版小学信息技术三年级上册第二单元 在线助我乐出游2.4在线交流聊计划PPT.pptx
- 川教版小学信息技术三年级下册第三单元3.1做好自我管理PPT.pptx
- 川教版小学信息技术三年级上册第一单元走进在线新生活1.2了解多样在线技能PPT.pptx
- 川教版小学信息技术三年级上册第一单元走进在线新生活1.3树立正确在线观念PPT.pptx
最近下载
- 2025年数学新课标《义务教育数学课程标准(2025年版)》解读.pptx VIP
- 《产品认证培训资料》PPT课件.pptx VIP
- 汽车运输危险货物规则.pdf VIP
- 游标卡尺的读数和使用.ppt VIP
- 危险货物道路运输规则 jtt 617-2018.doc VIP
- 最新正规婚内协议书范文范本电子版.docx VIP
- 江西省市政工程消耗量定额及统一基价表(2017).pdf VIP
- 2025年数学新课标《义务教育数学课程标准(2025年版)》解读.pptx VIP
- 2025年最新杭州医保考试题及答案.doc
- 无锡城市职业技术学院单招《数学》考试历年机考真题集【夺分金卷】附答案详解.docx VIP
原创力文档

文档评论(0)