Linux系统性能调优之性能分析

发表于:2013-3-22 10:49

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:大力水手    来源:51Testing软件测试网采编

  性能调优的第一步是性能分析,下面从性能分析着手进行一些介绍,尤其对Linux性能分析工具vmstat的用法和实践进行详细介绍。

  1、性能分析的目的

  1)找出系统性能瓶颈(包括硬件瓶颈和软件瓶颈);

  2)提供性能优化的方案(升级硬件?改进系统系统结构?);

  3)达到合理的硬件和软件配置;

  4)使系统资源使用达到最大的平衡。(一般情况下系统良好运行的时候恰恰各项资源达到了一个平衡体,任何一项资源的过渡使用都会造成平衡体系破坏,从而造成系统负载极高或者响应迟缓。比如CPU过渡使用会造成大量进程等待CPU资源,系统响应变慢,等待会造成进程数增加,进程增加又会造成内存使用增加,内存耗尽又会造成虚拟内存使用,使用虚拟内存又会造成磁盘IO增加和CPU开销增加)

  2、影响性能的因素

  1)CPU(cpu的速度与性能很大一部分决定了系统整体的性能,是否使用SMP)

  2)内存(物理内存不够时会使用交换内存,使用swap会带来磁盘I0和cpu的开销)

  3)硬盘(存储系统)

  a、Raid技术使用(RAID0,RAID1,RAID5,RAID0+1)

  b、小文件读写瓶颈是磁盘的寻址(tps),大文件读写的性能瓶颈是带宽

  c、Linux可以利用空闲内存作文件系统访问的cache,因此系统内存越大存储系统的性能也越好

  4)网络带宽。

  3、性能分析的步骤

  1)对资源的使用状况进行长期的监控和数据采集(nagios、cacti)

  2)使用常见的性能分析工具(vmstat、top、free、iostat等)

  3)经验积累

  a、应用程序设计的缺陷和数据库查询的滥用最有可能导致性能问题

  b、性能瓶颈可能是因为程序差/内存不足/磁盘瓶颈,但最终表现出的结果就是CPU耗尽,系统负载极高,响应迟缓,甚至暂时失去响应

  c、物理内存不够时会使用交换内存,使用swap会带来磁盘I0和cpu的开销

  d、可能造成cpu瓶颈的问题:频繁执Perl,php,java程序生成动态web;数据库查询大量的where子句、order by/group by排序……

  e、可能造成内存瓶颈问题:高并发用户访问、系统进程多,java内存泄露……

  f、可能造成磁盘IO瓶颈问题:生成cache文件,数据库频繁更新,或者查询大表……

  4、vmstat详细介绍

  vmstat是一个很全面的性能分析工具,可以观察到系统的进程状态、内存使用、虚拟内存使用、磁盘的IO、中断、上下文切换、CPU使用等。对于 Linux 的性能分析,100%理解 vmstat 输出内容的含义,并能灵活应用,那对系统性能分析的能力就算是基本掌握了。

  下面是vmstat命令的输出结果:

[root@monitor-www ~]# vmstat 1 5
procs         —————memory—————      ——swap—— ——io——  ——system——   ——cpu——
r   b    swpd     free       buff      cache   si    so    bi     bo      in    cs    us sy  id wa st
1   0    84780    909744   267428    1912076   0     0     20     94       0     0     2  1  95  1  0
1   2    84780    894968   267428    1912216   0     0      0   1396    2301 11337     8  3  89  0  0
1   0    84780    900680   267428    1912340   0     0     76   1428    1854  8082     7  2  90  0  0
1   0    84780    902544   267432    1912548   0     0    116    928    1655  7502     7  2  92  0  0
2   0    84780    900076   267432    1912948   0     0    180    904    1963  8703    10  3  87  0  0

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号