云平台性能优化设计_第1页
云平台性能优化设计_第2页
云平台性能优化设计_第3页
云平台性能优化设计_第4页
云平台性能优化设计_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、云平台性能优化设计技术创新,变革未来AgendaAgenda优化原则监控分析优化体系监测工具系统优化举例优化的优先级功能实现监控可运维优化什么是性能“性能”其实是一个很宽泛的概念,在不同的语境下都可以有不 同的含义,但如果一定要拉出一根墨绳,以我的理解,性能就是 一个纯粹的时间概念。可以在更短的时间内完成一项特定的工作, 就是性能高;也只有时间短才是性能高的充要条件。换句话说就是使用更少的资源来完成相同的工作。性能监测,分析,优化体系InternethttpRPCSOAPRESTThriftSSLJSONAPMCDNBigDataDevOpsMobileDesktopNetworkSystem

2、AppLog分析优化管理监测监控影响性能的因素性能问题服务器及云环境硬件老化,硬件故障, 配置差,不稳定,性 能弱,成本因素代码及应用开发语言瓶颈,研发 底蕴,代码质量,迭 代进程,团队成熟 度移动厂商和机型丰富,操 作系统高度定制,网 络复杂,信号变化, 跨网交互普遍,移动 性能优化意识和技术 缺乏PC用户端硬件配置,系 统环境干扰,接入网 复杂,恶意竞争基础网络多网割裂,南北互通,国际互通,用户 分布明显,黑带宽,数据中心分布局限产品逻辑和用户行为产品逻辑复杂,用户秒杀, 大规模推广,高峰期访问性能木桶理论PC、MobileWeb AppNative App产品逻辑及用户行为设计,结构,内

3、容基础网络IDC、CDN、BGP、GSLB服务器及云环境运维、硬件、系统、日志代码及应用前端、后端、移动端、安全性能优化要遵循的过早优化是万恶之源优化顺序是从高层到底层谨遵阿姆达尔定律(Amdahls law)性能监测系统监测日志监测网络监测存储监测性能工具听云性能测试的几个原则可复现重复多次可以给出非常近似的测试结果。这意味着需要考虑尽量 减少系统等外界因素的干扰,比如同时运行的某个资源占用大户,或者阻塞式IO,以及各种系统的限制,例如NUMA和CPU核数等。 基准测试的目的并非是求出一个“平均”或者“最大最小”的性能指标,而是为性能测试工具提供一个良好的观察对象,以便发 现和诊断性能瓶颈所

4、在。性能测试的几个原则覆盖典型执行路径无论什么类型的测试,其实都是对被测对象输入输出的管理。有 些测试可以将被测对象看作黑盒子,但性能基准测试,必须要构 建能够覆盖典型执行路径的输入。因为作为在使用环境中大量调 用的代码,它们的性能是我们主要关心的内容。同时也是给测试 工具发挥最大效用提供必要的条件。CC+性能检测工具SystemTapFlameGraphPerfValgrindMemcheckCallgrindCachegrindHelgrind/DRDMassif内存检查工具检查程序中函数调用过程中出现的问题 主要用来检查程序中缓存使用出现的问题主要用来检查多线程程序中出现的竞争问题 堆栈

5、分析器Intel的一些工具Intel C+ CompilerC/C+编译器Intel VTune Amplifier XE 性能调优工具Intel InspectorIntel Math Kernel Library内存和线程debug工具 数学库Intel Threading Building Blocks线程库(TBB)Intel Integrated Performance Primitives 高性能库(IPP)Intel Data Analytics Acceleration Library 关于数据挖掘分析的高性 能库使用局部性原理指令流水(Instruction pipeline

6、)SIMD(单指令流多数据流/Single Instruction Multiple Data)计算密集型优化存储器的层次结构局部性原理通常,一个编写良好的(优化的)程序具有良好的局部性时间局部性(Temporallocality):如果被访问过的存储 器地址在较短时间内被再次访问,则程序具有良好的时间局 部性。空间局部性(Spatial locality):如果程序访问某个存储 器地址后,又在较短时间内访问临近的存储器地址,则程序 具有良好的空间局部性。两次访问的地址越接近,空间局部 性越好。局部性原理一个良好的局部性程序int sum(int aMN)int i,j,sum = 0; fo

7、r(i=0;iM;+i)for(j=0;jN;+j) sum += aij;return sum;一个局部性很差程序int sum(int aMN)int i,j,sum = 0; for(j=0;jN;+j)for(i=0;i 0);do *to = *from+; while(-count 0);SIMD(单指令流多数据流/Single Instruction Multiple Data)Data PoolPUPUPUPUInstruction PoolVector UnitSIMDSIMD(单指令流多数据流/Single Instruction Multiple Data)SISD计算方式SIMD计算方式ordinary CPU9327R1 R2 R3mult

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论