云服务器内容精选

  • 性能效率支柱简介 如何设计出高性能的架构是一个普遍性的问题。作为基本的质量属性,性能的重要性和性能失败后果的严重性是毋庸置疑的,实际上公司内外都有很多性能失败的例子。本文试图为性能设计、性能优化提供一些技术方法和手段,这些方法手段可以用于系统的软件性能工程建设,也可用于指导性能调整和优化。 早期的设计决策会对性能调节能否成功,以及是否有必要进行性能调节产生重要影响。如果开发的软件对性能非常敏感,实际上需要从设计阶段和开发周期的第一天起就考虑性能管理的问题,即采取系统的主动性能管理的办法来解决性能问题。除了管理上的措施外,解决性能问题需要在系统和架构设计、实现方案设计及编码实现上采取有效的技术手段来保证。 一般认为,性能问题通常由于体系架构或设计问题造成,而不是低效的编码引起的。性能问题在开发过程的早期已经引入,而大部分开发团队直到集成测试,或更晚的时候才予以考虑。实际情况并非完全如此,编码实现阶段引入的性能问题也很普遍,只是解决体系架构引起的问题代价要高得多。下面给出影响系统性能的几个因素: 体系架构设计:影响性能的决定性因素,需要在设计之初考虑 实现方案设计:影响性能的主要因素,在不改变整体架构的情况下可以修改 编码实现:目前情况下是重要因素,也是可以不断改进的因素 系统或组件的性能问题,对外的表象上反应为: 请求响应延迟时间过长 资源占有量过大 对常见的性能问题进行分析,可以发现对于一个系统或组件来说,性能问题经常发生在以下方面: 实体间通信或者调用处理(包括数据库) 频繁调用函数、模块处理过程、数据组织等问题 并行处理资源争用引起的延迟 串行处理进程/线程间等待延迟 父主题: 性能效率支柱
  • 设计原则 以下是常用的性能优化指导原则: 中心化原则:识别支配性工作量负载功能,并使其处理过程最小化,把注意力集中在对性能影响最大的部分进行提升。 本地化原则:选择靠近的活动、功能和结果的资源;避免通过间接的方式去达到目的,导致通信量或者处理量大辐增加,性能大辐下降。 共享资源: 采取共享资源的设计,通过协作减少争用延时从而改善整体性能;如多个进程可以从一个数据库的同一部分读取。 并行处理:当并行处理过程的增速能抵消通信开销和资源争用延迟时,执行并行处理。 分散负载原则:通过在不同时间或者不同位置处理冲突负载,从而分散负载:将资源划分为成一些相对独立的小资源组,不同进程/线程可以独立访问,是“资源”分散的常见方案;将同一时间点的多个请求分散到一个时间区段,是“时间”分散的方案。 父主题: 性能效率支柱