系统运行缓慢,某几个磁盘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在内存中对应的内存地址都相同。请问有什么方法能更清晰的定位应用程序中哪个函数的调用造成对内存访问不断的加线程锁?
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在内存中对应的内存地址都相同。请问有什么方法能更清晰的定位应用程序中哪个函数的调用造成对内存访问不断的加线程锁?
71回答
浏览6263
节点B的压力是A的三倍,都是RAC了,应用为什么不能在两台机上均衡一些呢,这样使用是不是有些浪费了,看你B机器的性能情况来说,一台机跑都有些问题了,宕机一台的话,另外一台肯定是接管不起了。
另外建议查看下文件系统系统update数据到存储的sync进程,如果是60秒的话,建议改成10秒,这样对IO会有一点改善的。收起
另外建议查看下文件系统系统update数据到存储的sync进程,如果是60秒的话,建议改成10秒,这样对IO会有一点改善的。收起
浏览6425
我们的经验中,有些SQL语句问题存在已久,资源也持续占用很高也许达30-40,这是需要长期调养的,但其它一些的SQL业务原来资源占用并不高,比如占5%作业,如果发生问题时,这些业务占用有达到10%,如果仔细观察,这养业务资源占用成长达100%,其实是非正常的状态,但与占用高资源的SQL业务相比,这些问题经常会被忽略,多几个这样的语句资源就会被耗尽,而在AWR报告中是很难发现的。收起
浏览6416
数据,采集内容时间点都是客户给我们的,还有有2000多个PV,我们当然有自己的分析工具,半天就理完数据,开始写分析报告了,但被要求拿这analyzer做对比,就是一个惨字呀。
analyzer没有这样的功能就好,不然就没得混了收起
浏览6335
这种问题首先可以定位于应用开发的不合理,具体过程如下:
1.业务人员在查询时,一个大的SQL就可以把系统搞成这样,楼主可以vmstat看出r 和 b值很大吧?
2.topas可以看出计算性内存的值也很大吧?kern%的值也不小吧?
所以最好的办法是楼主生成一个awr报告,看看是调用哪个sql语句把系统耗成这样!!!收起
1.业务人员在查询时,一个大的SQL就可以把系统搞成这样,楼主可以vmstat看出r 和 b值很大吧?
2.topas可以看出计算性内存的值也很大吧?kern%的值也不小吧?
所以最好的办法是楼主生成一个awr报告,看看是调用哪个sql语句把系统耗成这样!!!收起
浏览6138