技术开发 频道

Linux系统性能测试与分析

  【IT168 技术文档】

  一、前言

  通过对系统中和性能相关的各个环节的介绍,使大家知道出现性能问题时可以从那些方面入手去查,而分析典型应用对系统资源使用的特点,让大家对应用和系统资源的依赖有了更直观的认识。

  大多数的硬件性能问题主要和CPU、磁盘、内存相关,还没有遇到因为开发语言的运行效率对整个应用的性能造成影响,而应用程序设计的缺陷和数据库查询的滥用反倒是最最常见的性能问题。

  需要注意的是,大多数情况下,虽然性能瓶颈的起因是程序性能差或者是内存不足或者是磁盘瓶颈等各种原因,但最终表现出的结果就是CPU耗尽,系统负载极高,响应迟缓,甚至暂时失去响应,因此我们观察服务器状况时,最先看的就是系统负载和CPU空闲度。当你阅读完了这遍文档以后就会有一个对系统分析的思路。

  二、性能分析的目的

   找出系统性能瓶颈

  1)硬件瓶颈

  2)软件瓶颈

   提供性能优化方案

  1)升级硬件

  2)改进系统结构

   达到合理的硬件和软件配置

   使系统资源使用达到平衡

   但遗憾的是解决一个性能瓶颈,往往又会出现另外的瓶颈或者其他问题,所以性能优化更加切实的目标是做到在一定范围内使系统的各项资源使用趋向合理和保持一定的平衡。

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

  三、性能相关的各个环节

  3.1 硬件资源

   CPU

  1)是否使用SMP。

  2)单颗CPU的性能对依赖CPU的某些应用的影响很严重,比如数据库的查询处理。

   内存

  1)物理内存

  物理内存不够时会使用交换内存。

  2)交换内存

  使用交换内存会带来磁盘IO和CPU的开销增加。

   存储系统

   SCSI磁盘

   ATA/SATA磁盘

   RAID磁盘阵列(RAID0, RAID1, RAID5, RAID0+1)

   一些经验

  1)小文件读写的性能瓶颈是磁盘的寻址(随机读写性能更差),评估的标准是tps

  2)大文件读写的性能瓶颈是带宽,评估的标准是持续的读写速度

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

   带宽

  1)网络带宽

  2)SCSI总线带宽

  大文件访问时SCSI的带宽瓶颈

  3)系统总线带宽

  3.2 操作系统

   SMP性能

   VM性能

   IO性能(存储设备、网络设备、异步IO)

   文件系统性能(大文件优化、小文件优化、写优化、读优化、网络文件系统)

   多线程性能

  3.3 服务器软件

  根据各个服务器的不同而定制不同的软件,这里就不多说了,服务器软件实在是太多了。

  3.4 开发平台/中间件软件/框架软件

  没有什么规范的定义,按情况而定。

  3.5 应用程序

  一些应用软件。

0
相关文章