OS + UNIX AIX performance

十大AIX高手巅峰对决 银行业再度包揽前三 2013-02-07 08:58

http://unix.ctocio.com.cn/89/12541589.shtml 2013-02-07 08:58

中国金融电子化公司(中国人民银行子公司)技术经理张鹏、

招商银行系统工程师吴陶、

中国民生银行高 级工程师赵永杰、

国家开发银行系统工程师甄宗建、

神州数码集成系统工程师黄洪才、

上海博辕信息技术服务有限公司项目经理宋章康、

上海宝信软件股份有限公司助理工程师王戎、

恒生电子股份有限公司系统工程师王瑞东、

招商银行系统工程师徐亮、

浙商银行项目经理张军。

AIX and UNIX 专区拥有很多优秀的系列文章,这里为您列出一些比较优秀的系列,让您可以更好地了解和学习。

http://www.ibm.com/developerworks/cn/aix/lp/optimizationnew.html

本系列文章为您十分详细地从 CPU,磁盘,内存和网络这几个方面向您讲解了如果对 AIX 5L 版本进行性能调优,十分适合 AIX 5L 管理员在系统调优时候进行参考。

CPU 系列文章

内存系列文章

磁盘系列文章

网络系列文章

192.168.157.87

file:///D:\soft\svn_134.157\02%20系统管理\01%20系统安装与配置\12%20WXS安装配置\01-WXS后台参数优化.doc

/usr/sbin/no -o tcp_sendspace=65536

/usr/sbin/no -o tcp_recvspace=65536

/usr/sbin/no -o udp_sendspace=65536

/usr/sbin/no -o udp_recvspace=65536

/usr/sbin/no -o somaxconn=10000

/usr/sbin/no -o tcp_nodelayack=1

/usr/sbin/no o tcp_keepinit=40

/usr/sbin/no o tcp_keepintvl=10

AIX VMO

http://www.iteye.com/search?type=all&query=vmo

AIX 上的优化,关于vmo

http://fyjava.iteye.com/blog/316634

AIX 操作系统中,一般将内存的使用分成两个部分,一个部分用于应用程序运行使用,称为计算内存 (Computational),另一部分用于文件缓存,称为文件缓存(Non-Comp),AIX操作系统通过 minperm%,maxperm%, maxclient%, strict_maxclient, lru_file_repage,minfree, maxfree,等参数控制系统的内存使用。设置这些参数的命令参考如下:

vmo -p -o strict_maxclient=0
vmo -p -o lru_file_repage=0
vmo -p -o minperm%=3
vmo -p -o maxclient%=8
vmo -p -o maxperm%=8
vmo -p -o minfree=[CPU数量]*120
vmo -p -o maxfree=[CPU数量]*128

AIX5.3上vmtune已经被vmo和ioo所取代

http://kiddwyl.iteye.com/blog/115626

我们通常希望把oracle sga锁定在内存中,并且使文件系统缓存比例控制到一定范围,在AIX5.3之前版本,一般是使用vmtune -p 5 -P 20 -S 1

而在AIX5.3中则使用

 vmo   -r -o v_pinshm=1
 vmo -o minperm%=5
 vmo -o maxclient%=20
 vmo -o  maxperm%=20

重新启动生效的参数记录在 /etc/tunables/nextboot 文件中,通过 vmo -L 可以查看相关系列参数。

为了让os重新启动也成效,可以不自己用shell脚本,直接加 -r 参数,这样都记录在 /etc/tunables/nextboot 中了

vmo -r -o minperm%=5
vmo -r -o maxclient%=20
vmo -r -o maxperm%=20

另外说明,为了让内存限制成为 hard limit,可以设置
vmo -r -o strict_maxperm=1

more /etc/tunables/nextboot
# IBM_PROLOG_BEGIN_TAG
# This is an automatically generated prolog.
#
# bos530 src/bos/usr/sbin/perf/tune/nextboot 1.1
#
# Licensed Materials - Property of IBM
#
# (C) COPYRIGHT International Business Machines Corp. 2002
# All Rights Reserved
#
# US Government Users Restricted Rights - Use, duplication or
# disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
#
# IBM_PROLOG_END_TAG

vmo:
strict_maxperm = "1"
maxperm% = "20"
maxclient% = "20"
minperm% = "5"
v_pinshm = "1"

AIX 虚拟内存管理(VMM)优化

http://dbzone.iteye.com/blog/570259

AIX版本为

引用
#oslevel -r
5300-04

查看虚拟内存相关参数
引用
AIX_CZCX1:/oracle/softs#vmo -a
        cpu_scale_memp = 8
data_stagger_interval = 161
                 defps = 1
   force_relalias_lite = 0
             framesets = 2
             htabscale = n/a
     kernel_heap_psize = 4096
  large_page_heap_size = 0
          lgpg_regions = 0
             lgpg_size = 0
       low_ps_handling = 1
       lru_file_repage = 1
     lru_poll_interval = 10
             lrubucket = 131072
            maxclient% = 80
               maxfree = 1088
               maxperm = 216147
              maxperm% = 80
                maxpin = 240182
               maxpin% = 80
       mbuf_heap_psize = 4096
       memory_affinity = 1
         memory_frames = 294912
         memplace_data = 2
  memplace_mapped_file = 2
memplace_shm_anonymous = 2
    memplace_shm_named = 2
        memplace_stack = 2
         memplace_text = 2
memplace_unmapped_file = 2
              mempools = 2
               minfree = 960
               minperm = 54036
              minperm% = 20
             nokilluid = 0
               npskill = 16384
             npsrpgmax = 131072
             npsrpgmin = 98304
           npsscrubmax = 131072
           npsscrubmin = 98304
               npswarn = 65536
      num_spec_dataseg = 0
             numpsblks = 2097152
     page_steal_method = 0
          pagecoloring = n/a
       pinnable_frames = 210905
pta_balance_threshold = n/a
   relalias_percentage = 0
              rpgclean = 0
            rpgcontrol = 2
                 scrub = 0
            scrubclean = 0
soft_min_lgpgs_vmpool = 0
      spec_dataseg_int = 512
      strict_maxclient = 1
        strict_maxperm = 0
              v_pinshm = 0
  vm_modlist_threshold = -1
       vmm_fork_policy = 1
    vmm_mpsize_support = 1


由于该操作系统使用cio,优化以下参数

引用
AIX_CZCX1:/oracle/softs#vmo -p -o minperm%=5
Setting minperm% to 5 in nextboot file
Setting minperm% to 5
AIX_CZCX1:/oracle/softs#vmo -p -o maxclient%=20
Setting maxclient% to 20 in nextboot file
Setting maxclient% to 20
AIX_CZCX1:/oracle/softs#vmo -p -o maxperm%=20
Setting maxperm% to 20 in nextboot file
Setting maxperm% to 20
AIX_CZCX1:/oracle/softs#vmo -p -o v_pinshm=1
Setting v_pinshm to 1 in nextboot file
Setting v_pinshm to 1

 

记内存过度使用导致tuxedo异常终止,OracleTNS-12535

http://dbzone.iteye.com/blog/631529

接到客户通知3月30日晚上19点40左右中间件tuxedo异常终止,由于该生产系统实时性要求极高,虽然客户通过重启tuxedo解决了该问题,但适逢世博会开幕前夕,领导非常重视,于是前往现场诊断原因。
到了现场发现该客户环境为aix 5308,ha主备,根据上头文件精神,数据库由A机切换至B机执行。查看Oracle alert日志显示:

引用
Tue Mar 30 19:49:22 2010
WARNING: inbound connection timed out (ORA-3136)
Tue Mar 30 19:49:22 2010
WARNING: inbound connection timed out (ORA-3136)
Tue Mar 30 19:49:40 2010
WARNING: inbound connection timed out (ORA-3136)
Tue Mar 30 19:49:43 2010
WARNING: inbound connection timed out (ORA-3136)


sqlnet.ora日志显示,为了保护客户隐私,将ip隐去

引用
Fatal NI connect error 12170.

  VERSION INFORMATION:
TNS for IBM/AIX RISC System/6000: Version 10.2.0.4.0 - Production
TCP/IP NT Protocol Adapter for IBM/AIX RISC System/6000: Version 10.2.0.4.0 - Production
Oracle Bequeath NT Protocol Adapter for IBM/AIX RISC System/6000: Version 10.2.0.4.0 - Production
  Time: 30-MAR-2010 19:49:40
  Tracing not turned on.
  Tns error struct:
    ns main err code: 12535
    TNS-12535: TNS:operation timed out
    ns secondary err code: 12606
    nt main err code: 0
    nt secondary err code: 0
    nt OS err code: 0
  Client address: (ADDRESS=(PROTOCOL=tcp)(HOST= ip )(PORT=34700))
  Client address: (ADDRESS=(PROTOCOL=tcp)(HOST= ip )(PORT=34710))



后台tuxedo日志大致意思为不能派生进程,导致异常终止。检查vmstat偶尔有交换产生。主机配置14G内存,SGA使用6G内存。进一步检查vmo参数

引用
# vmo -a|grep lru_file_repage
       lru_file_repage = 1
# vmo -a|grep maxperm%
              maxperm% = 80
# vmo -a|grep maxclient%
            maxclient% = 80


检查A机vmo参数,发现已作优化

引用
# vmo -a|grep lru_file_repage
       lru_file_repage = 0
# vmo -a|grep maxperm%
              maxperm% = 20
# vmo -a|grep maxclient%
            maxclient% = 20



其实根据IBM官方建议,只需将lru_file_repage置为0,阻止其计算行内存交换出去,并没有必要将maxperm%和 maxclient%置为20%,只需保留80%,即可。根据以上信息,可以大致推断出主机资源繁忙,导致tuxedo异常终止。询问客户得知,数据库在 A机运行一直稳定,于是将B机参数和A机保持一致

引用
# vmo -p -o  maxclient%=20
Setting maxclient% to 20 in nextboot file
Setting maxclient% to 20
# vmo -p -o maxperm%=20
Setting maxperm% to 20 in nextboot file
Setting maxperm% to 20
# vmo -p -o lru_file_repage=0
Setting lru_file_repage to 0 in nextboot file
Setting lru_file_repage to 0



修改之后,到目前为止系统一直运行稳定。metalink建议的方法,详见doc 119706.1,并没有采用。

AIX UNIX系统管理、维护与高可用集群建设 1-3章.pdf

http://www.aixchina.net/club/thread-76612-1-1.html

http://baike.baidu.com/view/6885955.htm

  《aix unix系统管理、维护与高可用集群建设》
  第1章 面向系统架构的系统工程
  1.1 架构是系统工程
  1.2 服务器选型原则
  1.3 服务器存储部署
  1.4 数据库物理布局
  1.5 服务器的内存使用
  1.6 数据库结构设计
  1.7 系统工程看架构
  第2章 unix/aix的系统结构
  本章导读
  2.1 unix代表作:aix
  2.2 unix/aix的构成要素
  2.2.1 内核、shell与文件系统
  2.2.2 aix逻辑卷管理器(lvm)
  2.2.3 日志文件系统(jfs/jfs2)
  2.2.4 系统管理界面工具(smit)
  2.3 了解unix/aix
  2.3.1 登录aix系统
  2.3.2 了解rs6000的硬件结构
  .2.3.3 了解rs6000的设备属性
  2.3.4 了解aix的运行环境
  2.3.6 了解aix的管理界面
  2.4 unix/aix的系统结构
  2.4.1 aix中使用的shell
  2.4.2 aix存储框架的构成
  2.4.3 aix的换页操作管理
  2.4.4 aix文件系统结构
  2.4.5 aix 中进程的运行
  2.4.6 aix 中的用户定义
  2.4.7 aix 也使用了服务
  2.4.8 aix 网络相关的服务
  2.5 unix/aix 手册的使用
  2.6 如果您已经熟悉linux
  2.6.1 结构外观上的差异
  2.6.2 配置工具上的差异
  2.6.3 系统与软件的安装
  2.6.4 磁盘和逻辑卷管理
  2.6.5 文件系统上的差异
  2.6.6 用户和组管理差异
  2.6.7 服务性进程的管理
  2.6.8 换页操作管理差异
  2.6.9 主机故障的鉴与别
  本章小结
  第3章 构建aix/unix系统
  本章导读
  3.1 aix系统的初始安装
  3.1.1 aix安装的基本过程
  3.1.2 确定aix的安装方式
  3.1.3 常用的高级安装选项
  3.1.4 aix配置助手的启动
  3.2 aix/unix的软件包构成
  3.2.1 aix产品的层次关系
  3.2.2 aix中的修补程序
  3.2.3 aix软件版本的查看
  3.3 aix/unix软件包的维护
  3.3.1 installp软件安装工具
  3.3.2 安装软件的几种状态
  3.3.3 提交回退已应用的软件
  3.3.4 删除已成功安装的软件
  3.3.5 安装失败的后续清理
  3.3.6 列表查看可安装软件
  3.3.7 smitty中的维护软件
  3.3.8 技术级别和服务包
  3.3.9 升级aix到指定tl
  3.4 创建aix克隆盘
  3.4.1 aix克隆盘的工作方式
  3.4.2 aix克隆盘的工程实现
  3.4.3 用mksysb创建克隆盘
  3.4.4 用于克隆的aix命令
  3.4.5 rootvg克隆盘的查看
  3.4.6 aix克隆的升级实践
  3.5 设置系统的网络
  3.5.1 aix中的网络适配器
  3.5.2 配置网络接口的地址
  3.5.3 使用ifconfig 配置网络
  3.5.4 网络接口的状态管理
  3.5.5 为网络接口创建别名
  3.6 设置系统网络相关的服务
  3.6.1 aix网络服务的启动
  3.6.2 启停tcp/ip网络服务
  3.7 管理inetd网络服务
  3.7.1 inetd服务的启动
  3.7.2 inetd中的子服务
  3.7.3 服务的端口指定
  3.8 用户和权限的管理
  3.8.1 aix用户和组
  3.8.2 创建aix用户
  3.8.3 用户管理命令
  3.8.4 用户配置文件
  3.8.5 用户日常管理
  3.8.6 创建aix用户组
  3.9 用户的文件系统授权
  3.10本章小结
  第4章 管理和维护aix设备
  本章导读
  4.1 aix设备的初步管理
  4.1.1 aix使用的设备类型
  4.1.2 aix设备信息的管理
  4.2 扫描和配置系统设备
  4.2.1 查看aix设备
  4.2.2 扫描aix设备
  4.2.3 设备的配置和检测
  4.2.4 查看设备属性信息
  4.3 odm库的结构说明
  4.3.1 odm对象数据库
  4.3.2 与odm相关的命令
  4.3.3 odm 中的对象类
  4.3.4 设备的状态特征
  4.4 创建主机配置档案
  4.5 查看主机错误信息
  4.5.1 errdemon守护进程
  4.5.2 使用errpt查看错误
  4.5.3 使用errlogger记录消息
  4.5.4 错误日志的其他处理方法
  4.6 配置和查看系统日志
  4.6.1 syslogd的系统配置
  4.6.2 启动和关闭日志服务
  4.6.3 定制使用系统日志
  4.6.4 查看系统日志
  4.7 系统硬件问题的诊断
  4.8 本章小结
  第5章 aix/unix系统启动和任务运行
  本章导读
  5.1 aix/unix引导过程
  5.1.1 系统的初始启动
  5.1.2 第一次调用rc.boot
  5.1.3 第二次调用rc.boot
  5.1.4 第三次调用rc.boot
  5.1.5 关于/etc/inittab脚本
  5.1.6 定制/etc/inittab文件
  5.2 aix/unix的不同引导模式
  5.2.1 常规引导模式
  5.2.2 维护引导模式
  5.2.3 显示运行级别
  5.2.4 切换运行级别
  5.3 关闭aix/unix服务器
  5.4 使用aix/unix的任务计划
  5.4.1 cron守护进程
  5.4.2 对于定期性任务
  5.4.3 aix自设定任务
  5.4.4 对于一次性任务
  5.4.5 任务的日志输出
  5.5 aix中服务状态的管理
  5.5.1 资源控制器的概念
  5.5.2 资源控制器的启动
  5.5.3 管理系统资源状态
  5.5.4 更改系统资源配置
  5.5.5 通常需要启动的资源
  5.6 aix的几个常用日志
  5.6.1 查看引导日志
  5.6.2 查看登录行为
  5.6.3 系统的启动时间
  5.7 本章小结
  第6章 aix/unix服务器的存储管理
  本章导读
  6.1 aix/unix存储基本框架
  6.2 aix/unix存储概念要素
  6.3 逻辑卷管理器(lvm)
  6.3.1 物理卷与卷组
  6.3.2 卷组和逻辑卷
  6.3.3 逻辑卷和逻辑分区
  6.3.4 逻辑卷和文件系统
  6.3.5 文件系统和目录树
  6.4 lvm存储管理流程
  6.4.1 定义物理卷
  6.4.2 定义卷组
  6.4.3 定义逻辑卷
  6.4.4 查看系统lvm的关系
  6.4.5 lvm配置信息的存储
  6.4.6 镜像卷组提高可用性
  6.4.7 镜像根卷组防止崩溃
  6.4.8 替换卷组中的物理卷
  6.4.9 其他类型的逻辑卷
  6.5 系统换页空间
  6.6本章小结
  第7章 文件系统和存储部署实践
  本章导读
  7.1 aix文件的访问路径
  7.2 aix文件系统目录树
  7.3 创建aix文件系统
  7.4 文件系统的卸载和删除
  7.5 文件系统的自动挂载
  7.6 文件系统的容量管理
  7.7 文件系统的一致性管理
  7.8 文件系统的卸载失败
  7.9 文件系统的快照管理
  7.10 lvm常用命令的总结
  7.11 aix存储部署实践
  7.11.1 存储结构的需求
  7.11.2 建立基本存储结构
  7.11.3 建立数据存储设备
  7.12 存储使用中的例外
  7.13本章小结
  第8章 aix/unix系统的备份恢复实现
  本章导读
  8.1 备份需要考虑的问题
  8.2 aix系统备份工程的实施
  8.2.1 aix备份命令的说明
  8.2.2 实现rootvg卷组备份
  8.2.3 备份中的文件排除
  8.2.4 用户类卷组的备份
  8.2.5 文件系统备份操作
  8.2.6 可用于备份的命令
  8.2.7 find命令用于备份
  8.2.8 使用增量备份方式
  8.3 例外:数据库系统备份
  8.4 制定备份工程策略
  8.4.1 备份内容和范围
  8.4.2 备份时间窗口选择
  8.4.3 备份介质的选择
  8.5 恢复崩溃的系统
  8.5.1 根卷组失败的恢复
  8.5.2 根卷组文件恢复
  8.5.3 非根卷组的恢复
  8.5.4 卷组文件的恢复
  8.5.5 文件系统的恢复
  8.6 aix中磁带的使用
  8.6.1 aix磁带设备和控制
  8.6.2 磁带使用示例:从mksysb备份恢复文件
  8.7本章小结
  第9章 在aix上构建数据服务
  本章导读
  9.1 aix对数据库的支撑角色
  9.2 数据库服务器的一般特征
  9.2.1 数据库资源的使用
  9.2.3 数据库的物理存储
  9.2.4 对象的空间分配
  9.2.5 数据库的用户连接
  9.3 数据库服务器的部署过程
  9.4 准备操作系统
  9.4.1 准备aix bos环境
  9.4.2 设置aix的内核参数
  9.4.3 设置文件系统的缓存
  9.4.4 设置属主用户和组
  9.4.5 准备独立的文件系统
  9.4.6 设置数据库属主环境
  9.5 oracle 数据库系统的构建
  9.5.1 oracle系统的组成
  9.5.2 oracle服务器的构建
  9.5.3 安装后的服务管理
  9.5.4 使用sql*plus
  9.5.5 运行环境初始优化
  9.6 sybase数据库系统的构建
  9.6.1 ase系统的组成
  9.6.2 ase服务器的构建
  9.6.3 安装后的进程查看
  9.6.4 安装后的服务管理
  9.6.5 使用interactive sql
  9.6.6 运行环境初始优化
  9.7 构建db2环境
  9.7.1 db2系统的组成
  9.7.2 db2服务器构建
  9.7.3 查看安装后的进程
  9.7.4 安装后的服务管理
  9.7.5 使用db2控制台
  9.7.6 对裸设备的使用
  9.7.7 初始优化运行环境
  9.8本章小结
  第10章 aix服务器架构优化
  本章导读
  10.1 架构中的性能相关性
  10.2 aix安装部署的考虑
  10.3 aix资源的使用分类
  10.3.1 cpu
  10.3.2 内存
  10.3.3 磁盘
  10.3.4 网络
  10.4 内存资源:分配和调度
  10.4.1 使用大内存页面
  10.4.2 设定替换的阈值
  10.4.3 设定空闲列表数
  10.4.4 应用的内存使用
  10.5 系统进程资源的设置
  10.6 系统i/o资源的使用
  10.6.1 异步i/o的使用
  10.6.2 文件系统的挂载
  10.6.3 应用的i/o模式
  10.7 关闭aix的无用服务
  10.8 主机资源的使用监控
  10.8.1 性能监控工具
  10.8.2 性能分析的过程
  10.8.3 性能监视的手段
  10.9本章小结
  第11章 aix 高可用环境的组成要素
  本章导读
  11.1 powerha和高可用系统
  11.1.1 powerha组件的作用
  11.1.2 与其他方案的对比
  11.1.3 基本概念上的异同
  11.1.4 powerha的基本概念
  11.2 powerha组件的关键概念
  11.2.1 集群的网络组件
  11.2.2 ip地址的分配和使用
  11.2.3 集群中的心跳检测
  11.2.4 共享存储配置
  11.2.5 应用程序服务
  11.2.6 集群的资源组
  11.3 安装hacmp 软件
  11.3.1 检查先决条件
  11.4 集群配置的前提条件
  11.4.1 集群网络的检查
  11.4.2 集群存储的检查
  11.5本章小结
  第12章 构建和管理高可用环境
  本章导读
  12.1 配置高可用集群
  12.1.1 设定集群网络
  12.1.2 定义集群拓扑
  12.1.3 配置应用服务
  12.1.4 配置资源组
  12.1.5 其他拓扑结构的调整
  12.1.6 同步集群节点
  12.2 hacmp的启动与关闭
  12.2.1 启动集群服务
  12.2.2 监视集群状态
  12.2.3 停止集群服务
  12.2.4 重聚集群节点
  12.2.5 集群日志的查看
  12.3 集群功能的测试
  12.3.1 节点失败的切换测试
  12.3.2 节点重聚的回迁测试
  12.3.3 网络故障的恢复测试
  12.3.4 永久ip标签的测试
  12.3.5 串行网络的功能测试
  12.4 集群系统的监视
  12.5本章小结
  第13章 构建共享文件的集群系统
  本章导读
  13.1 gpfs 基本功能和作用
  13.2 安装gpfs的集群软件
  13.3 配置gpfs集群
  13.3.1 gpfs节点的互信配置
  13.3.2 创建一个gpfs集群
  13.3.3 创建集群的共享物理盘
  13.3.4 启动gpfs集群服务
  13.3.5 配置gpfs文件系统
  13.3.6 修改gpfs集群的属性
  13.3.7 关闭gpfs集群服务
  13.3.8 集群节点可用性的判断
  13.3.9 gpfs 的可靠性设计
  13.3.10 gpfs集群状态的检查
  13.3.11 gpfs集群状态的管理
  13.3.12 gpfs集群文件系统扩容
  13.4 在smitty下配置gpfs
  13.5 应用gpfs到oracle集群
  13.5.1 gpfs可用于rac
  13.5.2 安装oracle crs
  13.5.3 创建集群的数据库
  13.5.4 管理集群的归档日志
  13.6本章小结

end

end

原文地址:https://www.cnblogs.com/lindows/p/14390293.html