Linux系统性能调优精讲课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《Linux系统性能调优精讲课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Linux 系统 性能 调优精 讲课
- 资源描述:
-
1、Linux 系统性能调优 20082008年年0101月月?性能分析的目的性能分析的目的?性能分析相关的人性能分析相关的人?性能相关的各个环节性能相关的各个环节?系统使用和优化的原则系统使用和优化的原则?典型应用对系统资源使用的特点典型应用对系统资源使用的特点?常见的性能分析工具介绍常见的性能分析工具介绍?Linux系统平台调优系统平台调优 性能分析的目的性能分析的目的?找出系统性能瓶颈找出系统性能瓶颈 1.硬件瓶颈硬件瓶颈 2.软件瓶颈软件瓶颈?提供性能优化方案提供性能优化方案 1.升级硬件升级硬件 2.改进系统结构改进系统结构?达到合理的硬件和软件配置达到合理的硬件和软件配置?使系统资源使
2、用达到平衡使系统资源使用达到平衡?存在遗憾:存在遗憾:1.解决某个瓶颈问题,往往带来其他凭颈问题解决某个瓶颈问题,往往带来其他凭颈问题 2.任何系统资源的过渡都会打破系统运行良好的平衡体系任何系统资源的过渡都会打破系统运行良好的平衡体系 性能分析的目的性能分析的目的?存在遗憾:存在遗憾:1.解决某个瓶颈问题,往往带来其他凭颈问题解决某个瓶颈问题,往往带来其他凭颈问题 2.任何系统资源的过渡都会打破系统运行良好的平衡体系任何系统资源的过渡都会打破系统运行良好的平衡体系 性能分析相关的人性能分析相关的人?系统管理员系统管理员?系统结构设计人员系统结构设计人员?软件开发人员软件开发人员 性能分析相关
3、的人性能分析相关的人?系统管理员系统管理员 1.掌握系统运行状况掌握系统运行状况(负载负载)2.掌握系统资源使用情况掌握系统资源使用情况(硬件硬件)3.掌握应用程序对资源的使用情况掌握应用程序对资源的使用情况(应用程序执行效率,反馈给应用开发人员应用程序执行效率,反馈给应用开发人员)4.有针对性的开展服务器性能优化有针对性的开展服务器性能优化(硬件、软件、软件配置硬件、软件、软件配置)性能分析相关的人性能分析相关的人?系统结构设计人员系统结构设计人员 1.了解程序执行效率了解程序执行效率 2.了解系统架构中的性能瓶颈,优化系统结构了解系统架构中的性能瓶颈,优化系统结构 3.设计更好的应用系统架
4、构设计更好的应用系统架构 性能分析相关的人性能分析相关的人?软件开发人员软件开发人员 1.了解程序执行效率了解程序执行效率 2.改进程序逻辑、改进性能改进程序逻辑、改进性能 性能相关的各个环节性能相关的各个环节?硬件资源硬件资源?操作系统操作系统?服务器软件服务器软件?开发平台开发平台/中间件软件中间件软件/框架软件框架软件?应用程序应用程序 性能相关的各个环节性能相关的各个环节?硬件资源硬件资源 1.CPU 2.内存内存 3.存储系统存储系统 4.带宽带宽 性能相关的各个环节性能相关的各个环节?硬件资源之硬件资源之 CPU 1.是否使用是否使用SMP 2.单颗单颗CPU的性能对依赖的性能对依
5、赖 CPU的某些应用的影响很严重,比如数据库的查询处理的某些应用的影响很严重,比如数据库的查询处理 性能相关的各个环节性能相关的各个环节?硬件资源之内存硬件资源之内存 1.物理内存物理内存 物理内存不够时会使用交换内存物理内存不够时会使用交换内存 2.交换内存交换内存 使用交换内存会带来磁盘使用交换内存会带来磁盘 IO和和CPU的开销增加的开销增加 性能相关的各个环节性能相关的各个环节?硬件资源之存储系统硬件资源之存储系统 1.SCSI磁盘磁盘 2.ATA/SATA 磁盘磁盘 3.RAID磁盘阵列磁盘阵列(RAID0,RAID1,RAID5,RAID0+1)一些经验一些经验 1.小文件读写的性
6、能瓶颈是磁盘的寻址(随机读写性能更小文件读写的性能瓶颈是磁盘的寻址(随机读写性能更差),评估的标准是差),评估的标准是 tps 速度速度 2.大文件读写的性能瓶颈是带宽,评估的标准是持续的读写大文件读写的性能瓶颈是带宽,评估的标准是持续的读写 3.Linux可以利用空闲内存作文件系统访问的可以利用空闲内存作文件系统访问的 cache,因此,因此系统内存越大存储系统的性能也越好系统内存越大存储系统的性能也越好 性能相关的各个环节性能相关的各个环节?硬件资源之带宽硬件资源之带宽 1.网络带宽网络带宽 2.SCSI总线带宽总线带宽 3.大文件访问时大文件访问时 SCSI的带宽瓶颈的带宽瓶颈 4.系统
7、总线带宽系统总线带宽 性能相关的各个环节性能相关的各个环节?操作系统操作系统 1.SMP性能性能 2.VM性能性能 3.IO性能性能(存储设备、网络设备、异步存储设备、网络设备、异步 IO)4.文件系统性能文件系统性能(大文件优化、小文件优化、写优化、读优化、网络文件系统大文件优化、小文件优化、写优化、读优化、网络文件系统)5.多线程性能多线程性能 系统使用和优化的原则系统使用和优化的原则?对资源的使用状况作长期的监控和数据收集对资源的使用状况作长期的监控和数据收集?Snmp+MRTG?Sar?程序的优化和系统结构的优化比硬件的性能优化更有效程序的优化和系统结构的优化比硬件的性能优化更有效?避
8、免不受限制的使用系统资源避免不受限制的使用系统资源?设置各项服务对资源的使用限额,如设置各项服务对资源的使用限额,如 Apache,MySQL,PHP 等等 系统使用和优化的原则系统使用和优化的原则?对资源的使用状况作长期的监控和数据收集对资源的使用状况作长期的监控和数据收集?Snmp+MRTG?Sar?程序的优化和系统结构的优化比硬件的性能优化更有效程序的优化和系统结构的优化比硬件的性能优化更有效?避免不受限制的使用系统资源避免不受限制的使用系统资源?设置各项服务对资源的使用限额,如设置各项服务对资源的使用限额,如 Apache,MySQL,PHP 等等?始终保留一定量的空闲资源始终保留一定
9、量的空闲资源 1.多少合适?根据应用的特点,比如是否有突发性使用增长?多少合适?根据应用的特点,比如是否有突发性使用增长?2.日常情况下,保留至少日常情况下,保留至少 60%的系统资源,以应付突发使用增长。的系统资源,以应付突发使用增长。3.日常情况下,资源使用率达到日常情况下,资源使用率达到 80%时,你必须有所行动了,尤其是时,你必须有所行动了,尤其是 web应应用。用。系统使用和优化的原则系统使用和优化的原则?系统硬件达到合理的配置(以适合应用的特点为依据,资源消耗均衡为目标)系统硬件达到合理的配置(以适合应用的特点为依据,资源消耗均衡为目标)1.系统性能的水桶理论系统性能的水桶理论?应
10、用软件对资源的使用要均衡(理想目标)应用软件对资源的使用要均衡(理想目标)1.怎么样就算是均衡了?我也在摸索中怎么样就算是均衡了?我也在摸索中 2.理想状况为:理想状况为:CPU消耗到消耗到50%的时候,磁盘的带宽也到的时候,磁盘的带宽也到 50%,磁盘的,磁盘的tps也也到到50%,内存使用也到,内存使用也到 50%(除去可以提供给除去可以提供给 cache的内存的内存)典型应用对系统资源使用的特点典型应用对系统资源使用的特点?动态内容为主的动态内容为主的 Web应用应用?静态内容为主的静态内容为主的 Web应用应用(如如Squid Cache)?数据库应用数据库应用?软件下载软件下载?流媒
11、体服务流媒体服务 典型应用对系统资源使用的特点典型应用对系统资源使用的特点?动态内容为主的动态内容为主的 Web应用应用?静态内容为主的静态内容为主的 Web应用应用(如如Squid Cache)?数据库应用数据库应用?软件下载软件下载?流媒体服务流媒体服务 典型应用对系统资源使用的特点典型应用对系统资源使用的特点?动态内容为主的动态内容为主的 Web应用应用 1.频繁执行程序,如频繁执行程序,如 Perl,PHP,Java 等,消耗等,消耗CPU严重严重 2.提供并发用户访问,因此系统进程数多,消耗内存多,当内存不足时,使用交提供并发用户访问,因此系统进程数多,消耗内存多,当内存不足时,使用
12、交换内存也会增加换内存也会增加 CPU的开销的开销 3.磁盘的写磁盘的写IO比较频繁(主要为随机写),比如生成比较频繁(主要为随机写),比如生成 cache文件,更新文件,更新session文件等。文件等。4.内存充足时读取的内容可以被内存充足时读取的内容可以被 cache住,住,cache的命中率和文件更新的频繁程的命中率和文件更新的频繁程度成反比,磁盘的读度成反比,磁盘的读 IO相对较小相对较小 典型应用对系统资源使用的特点典型应用对系统资源使用的特点?静态内容为主的静态内容为主的 Web应用应用(如如Squid Cache)1.网络带宽瓶颈网络带宽瓶颈 2.小文件的随机读取频繁,内存充足
13、时可以缓解磁盘随机读的压力小文件的随机读取频繁,内存充足时可以缓解磁盘随机读的压力 3.系统内存不足时磁盘系统内存不足时磁盘 IO量会比较大(读、写、交换内存),因此增加量会比较大(读、写、交换内存),因此增加CPU的开销的开销 典型应用对系统资源使用的特点典型应用对系统资源使用的特点?数据库应用数据库应用 1.数据库查询语句复杂,大量的数据库查询语句复杂,大量的 where 子句,子句,order by,group by 排序等,排序等,CPU容易出现瓶颈容易出现瓶颈 2.表太大时,查询遍历全表造成磁盘读的表太大时,查询遍历全表造成磁盘读的 IO量大,容易出现读量大,容易出现读 IO等待的情
14、况等待的情况 3.数据更新量大或者更新频繁时,造成磁盘写的数据更新量大或者更新频繁时,造成磁盘写的IO量大量大 4.内存不足时频繁使用交换内存内存不足时频繁使用交换内存 典型应用对系统资源使用的特点典型应用对系统资源使用的特点?软件下载软件下载 1.网络带宽瓶颈网络带宽瓶颈 2.存储系统带宽瓶颈存储系统带宽瓶颈(读读)?流媒体服务流媒体服务 1.网络带宽瓶颈网络带宽瓶颈 2.存储系统带宽瓶颈存储系统带宽瓶颈(读读)常见的性能分析工具介绍常见的性能分析工具介绍?Vmstat?Top?Free?Uptime?sysstat 工具包工具包?Iozone?Strace 常见的性能分析工具介绍常见的性能
15、分析工具介绍?Vmstat?Top?Free?Uptime?sysstat 工具包工具包?Iozone?Strace?ntop 常见的性能分析工具介绍常见的性能分析工具介绍?Vmstat 1.vmstat 是一个很全面的性能分析工具,可以观察到系统的进程状态、内存使用、虚是一个很全面的性能分析工具,可以观察到系统的进程状态、内存使用、虚拟内存使用、磁盘的拟内存使用、磁盘的 IO、中断、上下问切换、中断、上下问切换、CPU使用等。使用等。2.对于对于 Linux 的性能分析,的性能分析,100%理解理解 vmstat 输出内容的含义,那你对系统性能输出内容的含义,那你对系统性能分析的能力就算是基
16、本掌握了。分析的能力就算是基本掌握了。常见的性能分析工具介绍常见的性能分析工具介绍?Vmstat输出格式:输出格式:常见的性能分析工具介绍常见的性能分析工具介绍?Procs r:运行的和等待运行的和等待(CPU时间片时间片)运行的进程数,这个值也可以判断是否需要运行的进程数,这个值也可以判断是否需要 增加增加CPU(长期大于长期大于 1)b:处于不可中断状态的进程数,常见的情况是由处于不可中断状态的进程数,常见的情况是由IO引起的引起的 常见的性能分析工具介绍常见的性能分析工具介绍?Memory -swpd:切换到交换内存上的内存切换到交换内存上的内存(默认以默认以KB为单位为单位)如果如果
17、swpd 的值不为的值不为 0,或者还比较大,比如超过,或者还比较大,比如超过 100M了,了,但是但是 si,so 的值长期为的值长期为 0,这种情况我们可以不用担心,不会影响系统性能。,这种情况我们可以不用担心,不会影响系统性能。-free:空闲的物理内存空闲的物理内存 -buff:作为作为buffer cache 的内存,对块设备的读写进行缓冲的内存,对块设备的读写进行缓冲 -cache:作为作为page cache 的内存的内存,文件系统的文件系统的cache 如果如果 cache 的值大的时候,说明的值大的时候,说明 cache住的文件数多,如住的文件数多,如果频繁访问到的文件都能被
18、果频繁访问到的文件都能被 cache住,那么磁盘的读住,那么磁盘的读 IO bi 会非常小会非常小 常见的性能分析工具介绍常见的性能分析工具介绍?Swap -si:交换内存使用,由磁盘调入内存交换内存使用,由磁盘调入内存 -so:交换内存使用,由内存调入磁盘交换内存使用,由内存调入磁盘 内存够用的时候,这内存够用的时候,这 2个值都是个值都是0,如果这,如果这 2个值长期大于个值长期大于 0时,系统性能会受到影响。时,系统性能会受到影响。磁盘磁盘IO和和CPU资源都会被消耗。资源都会被消耗。注意:有些朋友看到空闲内存注意:有些朋友看到空闲内存(free)很少或接近于很少或接近于 0时,就认为内
19、存不够用了,实际上时,就认为内存不够用了,实际上不能光看这一点的,还要结合不能光看这一点的,还要结合 si,so,如果,如果free很少,但是很少,但是 si,so也很少也很少(大多时候是大多时候是 0),那么不用担心,系统性能这时不会受到影响的。那么不用担心,系统性能这时不会受到影响的。常见的性能分析工具介绍常见的性能分析工具介绍?Io bi:从块设备读入的数据总量从块设备读入的数据总量(读磁盘读磁盘)(KB/s),bo:写入到块设备的数据总理写入到块设备的数据总理(写磁盘写磁盘)(KB/s)随机磁盘读写的时候,这随机磁盘读写的时候,这 2个个 值越大(如超出值越大(如超出 1M),能看到)
20、,能看到 CPU在在IO等待的值等待的值也会越大也会越大 常见的性能分析工具介绍常见的性能分析工具介绍?System in:每秒产生的中断次数每秒产生的中断次数 cs:每秒产生的上下文切换次数每秒产生的上下文切换次数 上面这上面这2个值越大,会看到由内核消耗的个值越大,会看到由内核消耗的 CPU时间会越多时间会越多 常见的性能分析工具介绍常见的性能分析工具介绍?Cpu us:用户进程消耗的用户进程消耗的 CPU时间百分比时间百分比 us 的值比较高时,说明用户进程消耗的的值比较高时,说明用户进程消耗的 CPU时间多,但是如时间多,但是如果长期超过果长期超过 50%的使用,那么我们就该考虑优化程
21、序算法或者进行加速了的使用,那么我们就该考虑优化程序算法或者进行加速了(比如比如 PHP/Perl)sy:内核进程消耗的内核进程消耗的 CPU时间百分比时间百分比 sy 的值高时,说明系统内核消耗的的值高时,说明系统内核消耗的 CPU资源多,这并不是良资源多,这并不是良性的表现,我们应该检查原因。性的表现,我们应该检查原因。wa:IO等待消耗的等待消耗的 CPU时间百分比时间百分比 wa 的值高时,说明的值高时,说明 IO等待比较严重,这可能是由于磁盘大等待比较严重,这可能是由于磁盘大量作随机访问造成,也有可能是磁盘的带宽出现瓶颈量作随机访问造成,也有可能是磁盘的带宽出现瓶颈(块操作块操作)。
22、id:CPU处在空闲状态时间百分比处在空闲状态时间百分比 常见的性能分析工具介绍常见的性能分析工具介绍?情景分析情景分析 这个这个vmstat的输出那些信息值得关注?的输出那些信息值得关注?Procs r:运行的进程比较多,系统很繁忙运行的进程比较多,系统很繁忙 Io bo:磁盘写的数据量稍大,如果是大文件的写,磁盘写的数据量稍大,如果是大文件的写,10M以内基本不用担心,如以内基本不用担心,如果是小文件写果是小文件写 2M以内基本正常以内基本正常 Cpu us:持续大于持续大于50,服务高峰期可以接受,服务高峰期可以接受 Cpu wa:稍微有些高稍微有些高 Cpu id:持续小于持续小于50
23、,服务高峰期可以接受,服务高峰期可以接受 常见的性能分析工具介绍常见的性能分析工具介绍?Top 这个命令可以查看系统中运行的进程的状况,这个命令可以查看系统中运行的进程的状况,CPU使用状况,系统负载,内存使用等。使用状况,系统负载,内存使用等。它是检查系统进程运行状况最方便的工具了,它默认显示部分活动的进程,并且按照进它是检查系统进程运行状况最方便的工具了,它默认显示部分活动的进程,并且按照进程使用程使用CPU的多少排序。它可以显示全部的多少排序。它可以显示全部 CPU的使用状况,也可以显示每个进程都运行的使用状况,也可以显示每个进程都运行在那个在那个CPU上面。上面。常见的性能分析工具介绍
24、常见的性能分析工具介绍?Top 这个命令可以查看系统中运行的进程的状况,这个命令可以查看系统中运行的进程的状况,CPU使用状况,系统负载,内存使用等。使用状况,系统负载,内存使用等。它是检查系统进程运行状况最方便的工具了,它默认显示部分活动的进程,并且按照进它是检查系统进程运行状况最方便的工具了,它默认显示部分活动的进程,并且按照进程使用程使用CPU的多少排序。它可以显示全部的多少排序。它可以显示全部 CPU的使用状况,也可以显示每个进程都运行的使用状况,也可以显示每个进程都运行在那个在那个CPU上面。上面。常见的性能分析工具介绍常见的性能分析工具介绍?Top输出格式(一):输出格式(一):常
25、见的性能分析工具介绍常见的性能分析工具介绍?Top输出格式(二):输出格式(二):常见的性能分析工具介绍常见的性能分析工具介绍?用用 top 看到的内存的说明看到的内存的说明(Mem的第的第2行行)-actv active 活跃的内存页,正在映射给进程使用活跃的内存页,正在映射给进程使用 -in_d inactive_dirty 非活跃的内存页,并且内存数据被修改,需要写回磁盘非活跃的内存页,并且内存数据被修改,需要写回磁盘 -in_c inactive_clean 非活跃的内存页,干净的数据,可以被重新分配使用非活跃的内存页,干净的数据,可以被重新分配使用 常见的性能分析工具介绍常见的性能分
展开阅读全文