系统运行缓慢,某几个磁盘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

71同行回答

manganese_zhmanganese_zh  系统工程师 , 内蒙古包头
这种问题首先可以定位于应用开发的不合理,具体过程如下:1.业务人员在查询时,一个大的SQL就可以把系统搞成这样,楼主可以vmstat看出r 和 b值很大吧?2.topas可以看出计算性内存的值也很大吧?kern%的值也不小吧?所以最好的办法是楼主生成一个awr报告,看看是调用哪个sql语句把系统耗...显示全部
这种问题首先可以定位于应用开发的不合理,具体过程如下:
1.业务人员在查询时,一个大的SQL就可以把系统搞成这样,楼主可以vmstat看出r 和 b值很大吧?
2.topas可以看出计算性内存的值也很大吧?kern%的值也不小吧?
所以最好的办法是楼主生成一个awr报告,看看是调用哪个sql语句把系统耗成这样!!!收起
银行 · 2015-04-02
浏览6953
caichaloucaichalou  系统工程师 , 中国邮政储蓄银行
回复 62# phanx     欢迎各位专家各抒己见,踊跃发言,理儿是越辩越明,更深入的探讨对企业帮助也越大!显示全部
回复 62# phanx


    欢迎各位专家各抒己见,踊跃发言,理儿是越辩越明,更深入的探讨对企业帮助也越大!收起
银行 · 2015-04-02
浏览6802
phanxphanx  系统工程师 , 银行
回复 61# NJYZINFO 专家不敢当啊,碰到抬杠的了:lol你应该考虑换一个强点的机器来跑或者降低你的采集频度,频度低了,自然就不会跑那么久了。如果这都不行,那只能说明nmon无法满足你的需求,不用就是了,一个免费的小工具何苦对它要求那么高呢?要比较一周每天的数据,nmon_consolidato...显示全部
回复 61# NJYZINFO

专家不敢当啊,碰到抬杠的了:lol
你应该考虑换一个强点的机器来跑或者降低你的采集频度,频度低了,自然就不会跑那么久了。
如果这都不行,那只能说明nmon无法满足你的需求,不用就是了,一个免费的小工具何苦对它要求那么高呢?

要比较一周每天的数据,nmon_consolidator 可以实现对多份数据的比较分析
https://www.ibm.com/developerwor ... e/nmon_consolidator
有兴趣可以看看。当然,有些限制,无法满足你的要求。收起
银行 · 2015-04-02
浏览1933
NJYZINFONJYZINFO  IT顾问 , 南京元哲
回复  NJYZINFO 看来你没有看懂上面我写的命令的含义。    analyzer不是一天的数据,是根据你nmon文件 ...phanx 发表于 2015-4-1 15:16     感谢指导,看来碰上专家了,以前都只用一天的数据分析,但不知同时30天的数据同时分析要多长时间? 我曾...显示全部
回复  NJYZINFO

看来你没有看懂上面我写的命令的含义。

    analyzer不是一天的数据,是根据你nmon文件 ...
phanx 发表于 2015-4-1 15:16



    感谢指导,看来碰上专家了,以前都只用一天的数据分析,但不知同时30天的数据同时分析要多长时间? 我曾有过这样的经验 - 每天一个文件的数据分析大约要 30 分钟, 分析3个后Excel就挂了, 两台主机60个文件搞得头昏脑涨地!

   此外, 想做一周中每天的CPU时用率的比较,7天要分在七个图表,磁盘忙率,IOPS..等都要做,7天做完要做30天,请问要怎么在analyzer中执行?收起
系统集成 · 2015-04-02
浏览1880
NJYZINFONJYZINFO  IT顾问 , 南京元哲
回复  NJYZINFO     也是用nmon analyzer 来生成xlsx文件,然后分析。这样就不止一天的数据了。 ...phanx 发表于 2015-4-1 11:45     analyzer也只是生成一天的数据及图表, 要自行合并及制作图表(还要有点EXCEL的基础)....太累人了, 所以很...显示全部
回复  NJYZINFO


    也是用nmon analyzer 来生成xlsx文件,然后分析。这样就不止一天的数据了。 ...
phanx 发表于 2015-4-1 11:45



    analyzer也只是生成一天的数据及图表, 要自行合并及制作图表(还要有点EXCEL的基础)....太累人了, 所以很多人都不会经常做, 累积一段时间后就放弃了! 要有效率,分析工具很重要的!收起
系统集成 · 2015-04-01
浏览1910
phanxphanx  系统工程师 , 银行
回复 57# NJYZINFO     也是用nmon analyzer 来生成xlsx文件,然后分析。这样就不止一天的数据了。显示全部
回复 57# NJYZINFO


    也是用nmon analyzer 来生成xlsx文件,然后分析。这样就不止一天的数据了。收起
银行 · 2015-04-01
浏览1771
NJYZINFONJYZINFO  IT顾问 , 南京元哲
回复  NJYZINFO     nmon 有个采集间隔。/usr/bin/nmon -s420 -c1440 -f -m /home/nmon这样是一周 ...phanx 发表于 2015-3-31 14:03 重点是采集完后如何使用这些数据呢?显示全部
回复  NJYZINFO


    nmon 有个采集间隔。

/usr/bin/nmon -s420 -c1440 -f -m /home/nmon

这样是一周

...
phanx 发表于 2015-3-31 14:03


重点是采集完后如何使用这些数据呢?收起
系统集成 · 2015-04-01
浏览1775
caichaloucaichalou  系统工程师 , 中国邮政储蓄银行
回复 54# phanx 谢谢提供技术支持,我们已经做了nomn数据收集,现在应用侧也在奋力调查,系统侧提供了性能运行正常时候的perfpmr数据给后线分析,如果正常时候的跟异常时候的线程锁一样多,并且还是那么多log文件对应同一个文件内存指针的话,就说明不是线程锁引起的系统缓慢。但目...显示全部
回复 54# phanx

谢谢提供技术支持,我们已经做了nomn数据收集,现在应用侧也在奋力调查,系统侧提供了性能运行正常时候的perfpmr数据给后线分析,如果正常时候的跟异常时候的线程锁一样多,并且还是那么多log文件对应同一个文件内存指针的话,就说明不是线程锁引起的系统缓慢。但目前结果还没出来,如果排除应用的问题,系统侧处理就会按照各位的建议来做了。收起
银行 · 2015-04-01
浏览1754
caichaloucaichalou  系统工程师 , 中国邮政储蓄银行
回复 48# NJYZINFO      谢谢支持,:handshake显示全部
回复 48# NJYZINFO
     谢谢支持,:handshake收起
银行 · 2015-04-01
浏览1709
phanxphanx  系统工程师 , 银行
回复 51# NJYZINFO     nmon 有个采集间隔。/usr/bin/nmon -s420 -c1440 -f -m /home/nmon这样是一周/usr/bin/nmon -s1800 -c1440 -f -m /home/nmon这样是一月另外,如果你不想改变采集粒度,那么可以用nmonmerge工具把多个采集结果合并nmonmergehttps://www.ibm....显示全部
回复 51# NJYZINFO


    nmon 有个采集间隔。

/usr/bin/nmon -s420 -c1440 -f -m /home/nmon

这样是一周

/usr/bin/nmon -s1800 -c1440 -f -m /home/nmon

这样是一月

另外,如果你不想改变采集粒度,那么可以用nmonmerge工具把多个采集结果合并

nmonmerge

https://www.ibm.com/developerworks/community/wikis/form/anonymous/api/wiki/61ad9cf2-c6a3-4d2c-b779-61ff0266d32a/page/18ee9baa-3998-4d2f-95e8-6673431ef42a/attachment/062aff55-72fe-4b63-9685-e76e7210d049/media/nmonmerge2.tar.gz收起
银行 · 2015-03-31
浏览1789

提问者

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

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2015-03-13
  • 关注会员:3 人
  • 问题浏览:56318
  • 最近回答:2015-12-22
  • X社区推广