当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > Solaris系统性能问题

Unix/Linux
Linux 备份 恢复方法
Linux玩CS反恐精英的方法
在一个ISO镜像中集成多个不同的linux发行版,可刻盘,可引导
Linux 快捷键使用
Linux DHCP 服务器配置方法介绍
Linux 22端口的修改方法
Linux 记录会话过程的命令
Linux 后台执行程序如何操作?
linux Wget命令来浏览网页的方法
Linux tail命令的巧妙应用
Wine 中文存在很多的乱码怎么解决方法
linux 新手教程之创建锁文件的方法
配置Linux 保证其系统的安全
Linux DHCP协议实现过程
Linux系统下破解SAM密码
linux/unix vi 编辑器用法详解
Linux 误删文件的解决方法
Linux系统下的历史记录删除方法
Red Hat Linux 安全设置指南
Linux基本命令-注销、关机、重启

Unix/Linux 中的 Solaris系统性能问题


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 32 ::
收藏到网摘: n/a


文章转自http://www.douzhe.com/docs/bbsjh/3/14923.html,标题为寻求对solaris系统性能问题感兴趣的朋友(下面的文章是抛砖引玉,希望大家多指教)
不过好笑的是,砖是抛出来了,玉却是没有引过来。
只有多多学习先,才能去抛玉给别人。
日常运行中服务器性能不好,究其原因是一件很复杂的事情,一种情况可能是目前的服务器配置不能满足业务增长的需要;另一种情况可能是应用软件结构的不合理,数据文件和数据库存放的不合理,网络结构不合理。 系统管理员的主要任务是使用各种工具和命令诊断出问题所在,明确出什么应用程序在大量消耗系统资源(CPU、内存、磁盘IO、网络带宽等),然后应用开发人员去优化应用程序降低对系统资源的占用率来提高响应速度。 性能调优主要关注的是系统资源的利用,系统资源分为物理的和逻辑的,物理的如:CPU、内存、输入输出设备(包括磁盘设备、IO总线、通讯线和各种控制卡等),逻辑的资源如:LVM(逻辑卷管理器)、VMM(虚存管理器)、文件系统、Page space (缓存)和队列等。这些资源对系统性能的影响轻重缓急不同,合理利用这些资源有许多途径,如果条件允许可首先通过优化程序代码和数据结构降低对资源的要求;尽量使用合理的资源;以及合理控制分配资源。另外,可以通过扩充新的硬件设备来提升处理速度。
注:系统资源为CPU,内存,磁盘IO,网络带宽
“明确什么应用程序在大量的消耗系统资源”的观点非常的好,应该再加上是否需要这么多的资源。
系统在不同时间内的平均负荷(Last mimute、Last 5 minutes、Last 15 minutes)是用来评估系统是否超负荷运行较方便、较常用的一种方法。 系统性能分析的标准工具: CPU : vmstat sar ps 内存: vmstat ps 磁盘: iostat vmstat 网络: netstat nfsstat
注:所用工具罗列在此。
性能调优一般步骤 注:此处应该为一般标准 性能调优的主要目的是使系统能够有效的利用各种资源,但衡量系统资源利用率好坏的标准是什么,针对不同的系统和应用没有严格的定义,一般参照以下条件来判定主要资源使用状况: 好 坏 糟糕 CPU user% + sys%< 70% user% + sys%= 85% user% + sys% >=90%磁盘 iowait % < 30% iowait % =40% iowait % >= 50%内存 No Page In & Page Out Per CPU with 10 page/s More Page In & Page Out网络 < 30% Bandwidth运行队列(Run Queue) < 2 x CPU Count

通过以下步骤,发现影响整体性能的关键资源,进行性能优化,必要时需要添加或升级某种硬件设备。1.用iostat、sar、tprof检测是否是CPU原因 2.用vmstat、svmon检测是否是内存原因 3.用filemon、iostat检测是否是硬盘原因 4.用netstat 、nfsstat检测是否是网络原因以上步骤是一个交互的过程,当某个瓶颈被去掉后,有可能另外的资源又变为新的瓶颈,需要重新从步骤1开始反复再观察。·sar 统计单CPU系统的系统活动状况·cpusar 统计多处理器中单个处理器的活动状况·mpsar 统计多处理器中处理器的总体活动状况1、sar -u显示项的含义(检查CPU的使用率)·%usr cpu执行用户进程的时间·%sys cpu执行系统进程的时间·%wio cpu等待完成I/O的时间·%idel cpu 的空闲时间显示结果分析说明·一般情况下%usr和%sys的值基本相等·在一般的多用户系统中,%idel的值通常大于40%·若 %wio经常>15%意味着硬盘可能存在着瓶颈·若%idel经常小于30%,意味着处理器的处理能力较弱·若%idel经常小于10%,表明处理器负担较重,或者存在逃逸进程。·若%idel接近于0,而且%sys远高于%usr,则可能是内存短缺引起了大量的swaping和paging2、sar -p 检查系统中是否有较多的等待进程·Sar -p:检查系统中是否有过多的等待进程 此命令有四个相关字段: runq-sz:内存(memory)中可以运行的进程数 %runocc:进程进入内存等待的概率 swpq-sz:对换区(swap)中等待运行的进程数 %swpocc:进程进入swap等待的概率 显示结果分析汇总如下: 1) 若runq-sz经常大于2并且%runocc经常大于90%,意味着处理器负载过重 2) 若%swpocc不为0,表示系统已经置换出了进程。可以采用增加内存或减少缓冲的方法来减少swap和paging。netstat网络问题是影响系统性能的问题之一,诊断网络问题最简单的工具是netstat -i, 命令结果显示了在每一个接口发送和接收数据包的情况,其中的3项:ierrs、oerrs and collis与网络性能问题有关:1.ierrs,是指主机从网络接收数据包中包含有多少不正确的数据包,如果ierrs很大,通常表明硬件接口存在问题或硬件驱动器接受数据包较慢,此时应该在不同时间多次采集数据进行比较来决定采取什么措施。正常情况下,ierrs/opkts< 0.025%. 2.oerrs,是指主机从网络送出的数据包中包含有多少不正确的数据包。正常情况下oerrs/ipkts< 0.025%. 3.collis,碰撞是在局域网中有两面三刀个或以上系统同时发送数据时产生的,如果碰撞率(collis/opkts)大于5%,说明网络负荷过大。此时应该调整网络结构,减少网络流量。 Uptime是用来