如何进行AIX系统性能分析和性能调优
系统性能无疑是我们最关注的一个方面。我们投入大量的金钱,最终就是为了达到一个目的:性能最佳化。但是我们怎么样才能了解自己系统的性能,又怎样才能实现系统性能的优化呢?因此,我们必须要了解AIX中跟性能相关的一些工具的用法,以及其各个参数代表的意义。
比如:vmstat,sar,topas等。
希望大家能够共同参与这个讨论中来。 虽然性能分析和调整没有绝对的准则,但我们可以遵循一些通用的流程。检测系统性能的顺序非常重要,正确的顺序应该是:CPU、内存、I/O、网络。同时这几个方面对应的检测命令如下:
CPU:vmstat ,sar ,topas
内存:vmstat
I/O :iostat
网络:netstat 说的好,能不能给一个比较系统的调优规划,也就是步骤,楼上的? 有没有实施案例?给一个也行 调优这东东,可以说几个星期哦!!! 自己听课吧!!!哈哈 系统调优,不是靠经验,而是靠分析数据,找出瓶颈!
vmstat 命令监控CPU和内存
# vmstat 2 5
System configuration: lcpu=4 mem=2048MB ent=0.40
kthr memory page faults cpu
----- ----------- ------------------------ ------------ -----------------------
r b avm fre re pi po fr sr cy in sy cs us sy id wa pc ec
0 0 151916 396467 0 0 0 0 0 0 2 95 54 0 1 99 0 0.01 1.8
0 0 151916 396467 0 0 0 0 0 0 1 9 49 0 0 99 0 0.01 1.3
0 0 151916 396467 0 0 0 0 0 0 3 12 50 0 0 99 0 0.01 1.3
0 0 151916 396467 0 0 0 0 0 0 1 10 54 0 1 99 0 0.01 1.4
0 0 151916 396467 0 0 0 0 0 0 1 22 59 0 0 99 0 0.01 1.3
内核线程数量 (r,b)
Memory:avm,free,re
Page页面调度活动:pi,po,fr,sr,cy
Faults错误:in设备中断的次数,sy系统调用的次数,cs,内核线程代码切换的次数
页面调度活动分析:
pi:每秒钟从页面空间调入的页数;
po:每秒钟调出页面空间的页数;
fr:当前系统空闲的页数,为了补充内存页面空闲或者为了满足当前活动进程对空闲内存页的需求要求释放的内存页的数量;
sr:要求检查内存页的数量
如果pi和po的值总不为0,说明页面调度活动太过频繁,大大降低了系统的性能,检查是否存在内存瓶颈;
如果pi:po的值大于或等于1,每一次页面调入,至少会存在一次页面调出,因此这个系统的页面调度活动频繁,具有一个较高的页面调度率。
如果fr:sr的值比较高,说明内存使用过量;
CPU统计数据的分析:
r: 每秒增加到运行队列钟的线程数量;
b:每秒因等待资源或I/O而被添加到等待队列中的线程数量;
us:CPU处在用户模式下的时间百分比,即用户使用的CPU时间;
sy:CPU处在系统模式下的时间百分比,即系统使用CPU的时间;
id:CPU空闲的百分比,
wa:CUP因等待本地磁盘I/O而处于空闲的时间%
性能分析:
1.如果id一直是0,则说明CPU非常繁忙;
2.如果r值不为0,说明CPU还有更多的工作要执行;
3.如果us+sy接近100%,说明可能是CPU限制;
4.wa超过40%,说明磁盘子系统并不平衡; iostat命令来监控I/O
# iostat 1 2
System configuration: lcpu=4 drives=3 ent=0.40 paths=2 vdisks=2
tty: tin tout avg-cpu: % user % sys % idle % iowait physc % entc
0.0 67.0 0.1 0.6 99.4 0.0 0.0 1.5
Disks: % tm_act Kbps tps Kb_read Kb_wrtn
hdisk0 0.0 24.0 3.0 24 0
hdisk1 0.0 0.0 0.0 0 0
cd0 0.0 0.0 0.0 0 0
tty: tin tout avg-cpu: % user % sys % idle % iowait physc % entc
0.0 420.0 0.1 0.5 99.4 0.0 0.0 1.4
Disks: % tm_act Kbps tps Kb_read Kb_wrtn
hdisk0 0.0 4.0 1.0 4 0
hdisk1 0.0 0.0 0.0 0 0
cd0 0.0 0.0 0.0 0 0
1.不要把多个活动的逻辑卷和文件系统放在同一个物理磁盘上,这样可以在多个物理磁盘上平均分配I/O负载;
2.在一个卷组中创建多个JFS日志log,并分配给具体的文件系统,这样对应用程序创建,删除或修改大量的文件有益,特别是临时文件;
3.备份和恢复文件系统来减少残片,fragmentation,因为fragmentation会频繁的定位磁头而使响应时间增大;
4.增加相应的驱动器来平衡现有的IO子系统。
解决IO瓶颈问题还可以:
1.查找比较繁忙的驱动器,与空闲的相比,把数据从较繁忙的磁盘上移动到比较闲的磁盘上,这样可以减轻磁盘的瓶颈;
2.检查页面调度,页面的频繁调入和调出同样增加IO负担,把页面空间从比较繁忙的磁盘移动到其他磁盘。 系统调优简单可分为三步:(当然实际项目中,这几步是循环的,嵌套的)
性能检测:用于检查系统,查看是否有性能问题
除过上面列的,比较实用的有nmon,topas
性能分析:通过收集系统数据,分析系统具体瓶颈所在
filemon,
tprof
svmon等等
性能优化:根据发现的问题,选用不同的策略来调整系统参数、策略,进而达到优化的目的
vmo,schedo,ioo,no
nice,renice.........................
[[i] 本帖最后由 laotian 于 2009-5-22 13:35 编辑 [/i]] 安装好系统,按照应用提供商的需求规划并部署应用系统.这步做好的话,以后的性能提高多数就是加加CPU加加内存加加存储啦,这步做的达不到预期的话,找应用厂商搞定负责.哇哈哈.
除非有人经常在这种系统上做配置上的更改,才需要用性能分析方法去找出那个可恶的家伙 更改所带来的副作用.嘎嘎嘎 学习中...................... 学习了,谢谢。。。。。 学到很多 谢谢 学习中...................... 好像我们公司不太建议这种方式,而是除了基本的设定后,如果出现瓶颈,基本用硬件解决。 这个太笼统了,要具体问题具体分析的哦 具体的也没有个固定的格式 学习中...................... 单就进行AIX系统性能分析来讲,我认为除了LZ讲的这些命令外,NMON 也是一个不错的分析工具。 调优是个很大的话题,牵涉的面太广了,不大好说。经验是一方面。需要懂得东西比较多。 先要懂AIX的调优,存储上的调优。还需要懂数据库和应用。同时各个环境千差万别,要就事论事的。
页:
[1]
2