当前位置:  首页  >  服务器技术  >  Linux/unix  >  Linux教程

Linux系统性能测试与分析

文章标题:Linux系统性能测试与分析。Linux是中国IT实验室的一个技术频道。包含桌面应用,Linux系统管理,内核研究,嵌入式系统和开源等一些基本分类
一、前言

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

  大多数的硬件性能问题主要和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 应用程序

  一些应用软件。

  四、典型应用对系统资源使用的特点

  4.1 动态内容为主的Web应用

  1)频繁执行程序,如 Perl, PHP, Java 等,消耗CPU严重。

  2)提供并发用户访问,因此系统进程数多,消耗内存多,当内存不足时,使用交换内存也会增加CPU的开销。

  3)磁盘的写IO比较频繁(主要为随机写),比如生成cache文件,更新session文件等。

  4)内存充足时读取的内容可以被cache住,cache的命中率和文件更新的频繁程度成反比,磁盘的读IO相对较小 。

  4.2 静态内容为主的Web应用 (如Squid Cache)

  1)网络带宽瓶颈。

  2)小文件的随机读取频繁,内存充足时可以缓解磁盘随机读的压力。

  3) 系统内存不足时磁盘IO量会比较大(读、写、交换内存),因此增加CPU的开销。

  4.3 数据库应用

  1)数据库查询语句复杂,大量的 where 子句,order by, group by 排序等,CPU容易出现瓶颈。

  2)表太大时,查询遍历全表造成磁盘读的IO量大,容易出现读IO等待的情况。

  3)数据更新量大或者更新频繁时,造成磁盘写的IO量大。

  4)内存不足时频繁使用交换内存。

  4.4 软件下载

  1)网络带宽瓶颈

  2)存储系统带宽瓶颈(读)

  4.5 流媒体服务

  1)网络带宽瓶颈

  2)存储系统带宽瓶颈(读)

 

[1] [2] 下一页

吐了个 "CAO" !
扫码关注 PHP1 官方微信号
PHP1.CN | 中国最专业的PHP中文社区 | 凯发国际娱乐 | 凯发国际娱乐下载 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | PHP问答
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved PHP1.CN 第一PHP社区 版权所有