数据库性能模型与容量规划

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

数据库性能模型与容量规划张瑞@Alibaba问题与挑战硬件设备选型•硬件选型•性能评估数据库性能模型•评估应用对数据库的影响•响应时间为中心的优化方法数据库容量规划•容量规划•预测风险硬件测试与选型硬件性能-CPU•AlibabaTPC-C测试模型*以上数据针对Alibaba特定场景测试,不能作为普遍数据反映硬件的性能测试模型设计数据规模缓存命中避免物理IO数据分布减少热点数据操作读写比例典型操作减少等待IO,Latch硬件性能-IO存储性能指标•IOPS•吞吐量•延迟时间存储测试工具•OracleOrion•Oraclecalibration_io(11g)测试方案•小IO测试IOPS•大IO测试吞吐量磁盘性能分析IOPS•转速,寻道延时,吞吐量•转速,接口类型,内部/接口传输率存储性能分析IOPS磁盘数量缓存命中率存储划分吞吐量端口数量系统架构串行-并行正确使用存储存储层存储架构存储划分Raid类型OS层LVM数据库RawdeviceFilesystemASM硬件性能模型主机TPC-CCPU使用率每秒逻辑读存储IOPS吞吐量响应时间拐点硬件性能模型是容量规划的前提数据库性能模型响应时间为中心的优化方法优化的目标是降低响应时间•响应时间是用户体验第一要素•响应时间是性能问题的直接表现影响数据库响应时间的因素•CPU•IO•Memory•Network关键设备的响应延迟L1cachereference0.5nsBranchmispredict5nsL2cachereference7nsMutexlock/unlock25nsMainmemoryreference100nsCompress1KbyteswithZippy3,000nsSend2Kbytesover1Gbpsnetwork20,000nsRead1MBsequentiallyfrommemory250,000nsRoundtripwithinsamedatacenter500,000nsDiskseek10,000,000nsRead1MBsequentiallyfromdisk20,000,000nsSendpacketCA-Netherlands-CA150,000,000ns1s=1000ms=1000000us=1000000000ns*数据来自于GoogleJeffDean的资料ORACLE时间模型服务时间•后台进程•前台进程等待时间•IO等待•并发等待SQL执行时间•服务时间+等待时间用户响应时间•SQL执行时间+网络传输ORACLE中的时间信息SQLexetutetime•SQL服务时间+等待时间DBCPU•CPU资源的消耗量DBTIME•前台进程消耗时间的总和AWR等待时间分类DBCPU•logicalreadUserIO•sequentialread•scatteredreadCommit•logfilesyncConcurrency•latch•bufferbusywaits•librarycachelock/pinApplication•enqueue数据库IO特点分析日志文件顺序写•同步写入•连续位置的随机IO•响应延时5ms数据文件读写•异步写入•随机读与顺序读•响应延时10ms瓶颈分析•IOPS:小IO,数据文件随机读,随机写,日志文件写•吞吐量:大IO,数据文件连续读物理IO响应时间•Cache对物理IO响应的影响•Sequentialread与Scatteredread•Logfilesync与logfileparallelwrite逻辑IO响应时间逻辑读是性能度量的重要指标•衡量SQL所耗费的系统资源•包含CPU,物理IO……逻辑IO的响应延时事件名称响应延迟每秒处理次数逻辑IO,单块读500MHzCPU20us50000逻辑IO,单块读1GHzCPU10us102400逻辑IO,单块读2GHzCPU5us204800数据库类型与响应时间CPU密集型•CPUtime85%•UserIO10%•LogicalIO:0.005-0.01ms混合型•UserI/O60%•CPUtime20%•LogicalIO:0.05-0.1msIO密集型•UserIO85%•CPUtime5%•LogicalIO:0.1-0.5ms基于响应时间的优化原则减少物理IO•增大buffercache•缓存对象提高IO响应•Sequential/scatteredread•Logfilesync/logfileparallelwrite减少并发等待•Latch•Lock减少逻辑IO•SQL优化消除热点消除存储热点•数据分散在更多磁盘上•redolog单独存放•减少checkpoint次数消除数据库热点•latch:cachebufferchain•librarycachepin•bufferbusywait消除应用热点•enqueueTX•数据密集修改/查询容量规划与风险预测容量规划主机容量•DBCPUTIME主机CPU数量×时间•逻辑IO数量主机容量•CPU利用率分析:LoadSysUserIO存储容量•物理IO数量存储容量•物理IO响应时间其他风险因素数据库•除IO以外的等待时间小于5%•CPU消耗HardparseLatchspinSharedpool频繁函数调用大量逻辑读主机•硬件性能拐点•内存使用量过度•硬件损坏,性能降级未来发展方向硬件技术发展•CPU性能巨大飞跃•SMP,NUMA,MPP•Flash存储技术软件架构改进•集中式-分布式Scaleup-Scaleout•Diskbased-SSDbased未来发展趋势•高密度多核CPU•SSD大规模普及•大型软硬件一体机Q&Ablog:email:freezr@gmail.comtwitter:hellodba技术领域:数据库高可用,分布式架构

1 / 27
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功