Linux系统调优02——队列调优原理

上传人:hy****d 文档编号:243022262 上传时间:2024-09-14 格式:PPTX 页数:14 大小:144.93KB
返回 下载 相关 举报
Linux系统调优02——队列调优原理_第1页
第1页 / 共14页
Linux系统调优02——队列调优原理_第2页
第2页 / 共14页
Linux系统调优02——队列调优原理_第3页
第3页 / 共14页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2013/5/22,#,Linux,系统性能调优,队列调优原理,1,本章目标,了解队列原理的基本概念,了解队列条调优的的基本原则与核心思想,2,队列原理,队列原理的核心思想,Littles Law,:,在,1961,年由,John Little,以数学形式表现出来:,便于技术人员实现性能管理及对性能调优建立量化的衡量与操作标准,;,Littles Law L=AW,L,队列长度:,系统中等待处理的请求数,量;,等同于,(,number of request,),queue lenth,;,A,到达率:,若以秒为计算单位,则表示每秒有多少请求到达;,W,等待时间:,处理完成一个请求所需要的时间;,等同于延迟、响应时间或驻留时间;,3,队列原理在实际应用中的体现,Littles Law, L=AW,的体现,:,例如,iostat,可以告知每秒钟读写的量以及请求数量。,4,队列原理的实现方式与调优原则,队列的实现方式:,队列基于优先级实现并有两种实现方式:,针对资源建立多个队列;,队列饥饿的现象将普遍存在;,只使用一个队列;,在队列头部合并一些紧急任务;,不管使用哪种方式;,通过一定的逻辑性防止队列饥饿;,真实的队列算法通常会合并读写两种操作到队列中;,队列调优的基本原则:,挑选优秀的队列算法来更逻辑、合理和高效地处理请求;,控制队列长度:,短队列有利于节省内存和减少中断,长队列有利于有效排列和处理请求:,一般只能调整,L,与,W,,,A,无法控制;,等待时间与队列长短有直接关系,因此尽可能地控制等待时间;,往往通过调优只能实现对后端到达率的控制且用户请求和系统处理能力始终存在差异;,在大多数情况下需要作出取舍:,读相对于写应具备更高的优先级,因此队列优化应该尽可能先满足读的需求;,5,影响队列的因素,等待时间(,W,),关于等待时间,W,:包括“队列时间”和“服务时间”,队列时间:资源从不可用到可用的时间,服务时间:处理请求所用的时间,因此:,L=A,(,Q+S,),队列调优的策略:减少队列时间和服务时间,同时服务时间通常包含系统时间(,T sys,)和用户时间(,T usr,),T usr,任务真正在,CPU,上得到处理的时间;,T sys,用于,kernel,处理上的时间;,若程序大量占用系统时间(中断,,IO,,系统调用),则表明程序效率低,故原则上通过优化应用程序尽量将系统时间缩短;,若程序大量占用用户时间则说明程序对,CPU,的使用较高;,在,Linux,中,通过,time,命令可以获得,T usr,和,T sys,的信息;,但,T usr + T sys,不一定等于,Real Time,;,排队时间;,进程试图和,Kernel,交互时会等待并,sleep,;,6,降低等待时间的原则与方法,队列调优的重要方法:,找到程序执行的“热点”:,例如:,# strace -fc elinks -dump,显示系统调用以及随之产生的,folk,子进程,系统调用角度,# ltrace -Sfc elinks -dump,显示系统和库的调用以及随之所产生的,folk,子进程,库调用角度,(,任何一个用户层程序试图访问,Kernel,层(,ring 0,)时的过程称为,system call,,任何应用程序和内核交互都要通过,system call,,应用程序一般通过,glibc,来和,system call,进行交互来间接实现对,Kernel,的访问。,),7,降低等待时间的原则与方法,队列调优的重要方法:,8,完成量,另外一个重要概念,完成量:,前提概念:,Bandwidth,(带宽),: data + overhead,指在给定时间之内通过的固定大小为单位的数据单位总量,同等条件下实际通过的固定大小单位的数据总量,Throughput,(吞吐量),: data only (e.g., Mbps),在给定时间内通过的有用的数据量,Overhead,(开销),: cost of doing work (e.g., Mbps),传输有用数据时产生的消耗,Complete Rate,(完成率):,处理完成的请求数量;,因此:,带宽,=,吞吐量,+,开销;,因此“吞吐量”理论上即“完成量”;,完成量和开销有直接关系:,带宽固定的情况下,开销越小,完成量越大;,为了提高完成量,减少开销是最有效的手段;,9,完成量,另外一个重要概念,完成量:,完成量的计算(单位时间的完成量,=,总完成量,/,观察时间):,Completions,X = -,Observation period,减少损耗意味着增加吞吐量以及增加完成量(,completions,)。,提高完成率的核心思想,提高完成量,降低和减少开销:,采用更高效的协议;,采用更高效的算法;,减少可能产生其他开销的各种因素;,(例如,若,希望减少开销为应用程序选用,UDP,协议,如果在网络丢包的情况下应用程序将会发起重传请求。比较复杂的应用程序可能会因此产生比使用,TCP,更多的开销。,),10,完成量对队列调优的影响,针对完成量调优的目标:,前提概念:,到达率,Arrival rate,(A): rate at which work is requested (e.g., packets/s),到达的请求数量;,观察周期,Observation period,: discrete time spent observing resources (e.g., 1 s),观察时间;,稳定状态,Steady state,: condition in which A=C,稳定状态,即,A=C,的状态;,最终的调优目标:,到达率的平均值,=,完成量的平均值,11,定义合适的观察周期,确定适当的观察周期:,观察周期的设置应遵从原则:,以,1s,作为观察期并收集观察数据,通过,Littles,法则来对比观察结果,观测到的值是否和计算值一致?,若是则证明观测期设置是合理的,否则就需要调整观测期到更长时间。,12,队列调优的整体思想,因此,队列调优的思想:,Littles Law,的变体:,L=AW,;,L=A( Q + S ),;,L=A( Q + ( St + Su ) ),;,根据,Littles Law,所体现的调优思想:,调整队列,L,:,对队列的调整主要在于限制队列的长度到一定的值;,对队列进行重新调整以适应读操作;,尽可能低优化到达率,A,:,通过将负载分担到多个资源(,SMP,,,RAID,)以实现降低访问量;,采用更有效和更小开销的协议以提高完成率;,通过缓存机制来减少对低速资源的访问;,调整等待时间,W,:,给每个请求一定的过期时间,对每个资源的访问使用更小的服务时间;,使用提供更小服务时间的设备;,在同一时间中只调整其中一个因素:,13,本章总结,了解队列原理,了解队列条调优的的基本原则与核心思想,14,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!