系统运行缓慢,某几个磁盘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在内存中对应的内存地址都相同。请问有什么方法能更清晰的定位应用程序中哪个函数的调用造成对内存访问不断的加线程锁?收起
参与77

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

caichaloucaichalou  系统工程师 , 中国邮政储蓄银行
嗯,谢谢您的回复,您的建议很有参考价值。后续我们会跟领导沟通部署nmon工具的,至于在存储上划出三个LUN来做测试估计很困难了,生产系统对性能和资源的要求都很强,另外为了安全方面考虑,感觉客户是不会同意做的。至于硬件加速,比如使用Flash Adapter 90卡、SSD等这些都需要跟客户协商好,走流程,然后才能用上,再者客户觉得系统以前用的好好的,现在也该没问题,除非拿出实际有说服力的数据才能说服客户采购新设备。所以硬件方面改善性能需从长计议。现在可行的可能也就允许部署一个nmon工具了。
银行 · 2015-03-26
浏览1409

回答者

caichalou
系统工程师中国邮政储蓄银行
擅长领域: 服务器存储云计算

caichalou 最近回答过的问题

回答状态

  • 发布时间:2015-03-26
  • 关注会员:3 人
  • 回答浏览:1409
  • X社区推广