观点|AIX系统性能分析并优化的通用流程和关键技巧
点击此处查看最新的网赚项目教程
随着企业业务数据量持续增加,业务对系统性能的要求也越来越高。AIX系统支撑着企业的核心业务系统,因此AIX系性能是系统运维工作最关心内容之一。性能优化无止境,系统性能更分析和优化永远是系统管理员的和核心工作。
虽然AIX系统性能分析和优化没有绝对的准则,但可以遵循一些通用的流程和关键技巧,来帮助系统管理员来迅速诊断AIX性能瓶颈、进行性能优化。这些关键要点包括:
以下是社区专家贡献的一些调优方法及技巧:
如何监测系统的性能?
□ 王巧雷 华胜天成 系统工程师
1 瞬时监控:各种命令 topas vmstat sar等等
2. 基于时间段的:有的问题是不定时出现的,可能工程师去的时候不出现,走了又有了,需要采集一个时间段的,如nmon 和基于trace的那些,如filemon等
3. 需求多样化了肯定得上专业监控软件了
□ 张鹏 中国金融电子化公司 技术总监
□ 陈宇 招商银行深圳分行 系统架构师
□ hello_unix 上海志鑫 系统工程师
在AIX系统性能出现问题的时候,应该对服务器进行合理管理和监控,通过一些常用命令来反映出系统CPU使用率、内存使用率、磁盘I/O以及网络这四个挂能指标的现状。通过榆出结果判断出系统性能所存在的瓶颈。掌握系统性能分析最常用的命令topas的使用方法及输出解释,能够有效的判断出系统的性能故障原因,更好的做好系统性能分析、监控工作及排除故障。
我们怎么样才能了解自己系统的性能,又怎样才能实现系统性能的优化呢?必须要了解AIX中跟性能相关的一些工具的用法,以及其各个参数代表的意义。
□ colins 福建海峡银行 项目经理
虽然性能分析和调整没有绝对的准则,但我们可以遵循一些通用的流程。检测系统性能的顺序非常重要,正确的顺序应该是:CPU、内存、I/O、网络。同时这几个方面对应的检测命令如下:
CPU:vmstat ,sar ,topas
内存:vmstat
I/O :iostat
网络:netstat
□ Skyline_reuters
系统调优,不是靠经验,而是靠分析数据,找出瓶颈。
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负担,把页面空间从比较繁忙的磁盘移动到其他磁盘。
AIX性能问题涉及CPU、内存、I/O、网络等,有哪些工具和技巧可以快速诊断出性能瓶颈的原因?
□ 张鹏 中国金融电子化公司 技术总监
AIX提供了例如topas,vmstat,ipcs,ps和svmon等命令来分析内存的使用情况。
例如,使用svmon –S选项可列举当前系统的所有内存段,及每个内存段的基本信息,是对系统整体内存分析的主要工具。
对所有内存段按类型分类,其中clnt和pers是文件缓存的存储型内存,累加所有此类型内存段的inuse,是使用的存储型内存页容量,work类型内存段代表计算型内存,累加所有work类型内存段的inuse,是使用的计算型内存页容量。
使用svmon –S –s命令过滤出属于系统Kernel的所有系统内存段。操作系统AIX Kernel需要使用内存来维护自身的运行,一般来说系统管理的设备越多,应用负载越大,系统Kernel的内存使用量也越大。
AIX系统使用svmon –P Pid命令检查特定进程的内存使用情况。
AIX系统使用svmon –U命令检查特定用户的内存使用情况。
□ Zhao Hai 大连农商银行 系统架构师
工具有很多,下面的链接可以下载,关键是看适合自己的工具是什么。
#!/wiki/Power%20Systems/page/AIX%20performance%20analysis%20and%20tuning
#!/wiki/Power%20Systems/page/Performance%20Tools
找到问题之后,如何快速优化?
□ 王巧雷 华胜天成 系统工程师
一般难点就是找瓶颈。找到瓶颈后进行进一步分析:
1. 瓶颈是bug导致:比如曾经处理过的一个案例,内存逐步增长–系统及其卡顿–宕机 周而复始,最后发现是系统的bug,一个主进程的计算内存不释放
2. 纯性能问题:tunning是全局的大工程,可着手的地方太多。这些方面还分属不同的人负责。一般就是还没开始调优,各方就准备开始扯淡了。一般从工程师个人的角度来看,只需要尽职尽责把自己方面涉及的问题及建议给出即可。比如,从os和存储角度。针对IO的问题,我们可以从内存不足paging动作频繁、队列深度、stripe size大小、存储raid盘的个数、cache等方面着手。 给出相关的问题及建议,各方认可就行。当然如果角色比较高级,可以从各方联合推动。
最后补充下,大多数的性能问题,都是设计时的草率和糊弄买单。
□ 陈宇 招商银行深圳分行 系统架构师
1、cpu、内存不足的话,就增加cpu个数或者内存容量
2、磁盘瓶颈,如果是数据库服务器,可以尝试进行数据库调优降低io。有时候增加内存也可以解决问题。简单粗暴一点,就增加后端磁盘数量,或者上固态盘。
□ 崔增顺 民生银行 系统运维工程师
Dlpar,在线的进行cpu、内存扩容
□ 张鹏 中国金融电子化公司 技术总监
其实性能问题不能完全归罪于系统配置,除了一些硬件级别的故障或者隐患所带来的性能问题,通过系统的检查排查,找出问题的所在,通过更换,升级或者优化一些方案,可以达到比较好的效果。
大部分的性能问题其实出在应用软件,应用软件开发的不合理,在经过一段时间的使用之后出现的性能问题,仅仅靠系统上的调整,只能是饮鸩止渴,不能解决根本问题。
———END———
限 时 特 惠: 本站每日持续更新海量各大内部创业教程,一年会员只需98元,全站资源免费下载 点击查看详情
站 长 微 信: qs62318888
主题授权提示:请在后台主题设置-主题授权-激活主题的正版授权,授权购买:RiTheme官网