系统运行缓慢,某几个磁盘IO压力大?(技术交流)

问题背景描述:银行现有两台P780,两台机器做了rac,A节点的应用比较少,B节点的应用压力比较大,B节点应用压力是A节点的3倍左右。1、现在B节点的系统出现性能问题,在工作日上午9点左右到下午6点左右出现系统卡慢现象。通过iostat命令发现有三块磁盘的IO读写访问压力比较大,其他的都...显示全部
问题背景描述:银行现有两台P780,两台机器做了rac,A节点的应用比较少,B节点的应用压力比较大,B节点应用压力是A节点的3倍左右。
1、现在B节点的系统出现性能问题,在工作日上午9点左右到下午6点左右出现系统卡慢现象。
通过iostat命令发现有三块磁盘的IO读写访问压力比较大,其他的都很正常,这三个磁盘(比如是hdisk10,hdisk11,hdisk12)被划分给一个LV,这个LV上的文件系统是一个存放应用的log的文件系统。
2、B节点上的应用是Tuxedo,且单个进程对应单个线程。通过收集B节点上的perfpmr给后线工程师分析后,后线给出的结论是应用有好多线程锁,同时对一个内存地址进行访问,而这个内存地址对应文件的正是这些应用的很多log文件。所有的log文件在内存中映射的内存地址都是相同的地址。
问题内容:
1、请问出现系统卡顿性能下降的情况,比如:运行一个topas命令很久才能输出结果;但是系统层面只是发现三个磁盘的IO访问压力大,别的指标都正常,请问系统层面还能做哪些方面的优化?
(首先,监控系统性能发现内存足够来高速缓存那些由正在运行进程使用的文件页面,换页空间使用也正常。
其次,存储方面不想做条带化,所以这点就不考虑了。
再者,也曾设想将现在压力大的盘除了center区域外的其他区域的数据分担到同一个VG的其他磁盘上,但是实际执行上有一定的难度,因为分担到其他盘的center区域上空闲的PPnumber都是不规律的,而且需要计算当前VG中目标盘center区域空间是否足够分担这三块盘的数据,所以不管数据量还是工作量都很大,另外手动迁移的话风险也很大,感觉效果也不会很明显,此方案不考虑了)
2、目前怀疑是应用侧开发使用的统一接口有问题,因为不同的服务输出Log在内存中对应的内存地址都相同。请问有什么方法能更清晰的定位应用程序中哪个函数的调用造成对内存访问不断的加线程锁?收起

查看其它 70 个回答caichalou的回答

caichaloucaichalou  系统工程师 , 中国邮政储蓄银行
回复 3# ss33205687


    这个问题不是ORACLE日志引起的,这点还是能确定的。上面说的log输出都是应用交易时输出的log,所以还是考虑一下其他方向比较好。不过还是谢谢您的答复!
 2015-03-13
浏览1673

回答者

caichalou系统工程师, 中国邮政储蓄银行

回答状态

  • 发布时间:2015-03-13
  • 关注会员:3 人
  • 回答浏览:1673
  • 关于TWT  使用指南  社区专家合作  厂商入驻社区  企业招聘  投诉建议  版权与免责声明  联系我们
    © 2019  talkwithtrend — talk with trend,talk with technologist 京ICP备09031017号-30