免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: Maxshine

[性能调优] AIX的文件缓存性能问题 [复制链接]

论坛徽章:
12
CU大牛徽章
日期:2013-09-18 15:20:4815-16赛季CBA联赛之同曦
日期:2016-02-01 20:28:25IT运维版块每日发帖之星
日期:2015-11-10 06:20:00操作系统版块每日发帖之星
日期:2015-10-28 06:20:002015亚冠之塔什干棉农
日期:2015-06-04 11:41:56丑牛
日期:2014-05-10 16:11:33技术图书徽章
日期:2013-09-23 13:25:58CU大牛徽章
日期:2013-09-18 15:21:17CU大牛徽章
日期:2013-09-18 15:21:12CU大牛徽章
日期:2013-09-18 15:21:06CU大牛徽章
日期:2013-09-18 15:20:58数据库技术版块每日发帖之星
日期:2016-02-08 06:20:00
发表于 2010-01-12 14:53 |显示全部楼层
原帖由 Maxshine 于 2010-1-12 14:44 发表
吞吐高,但是它和VM相比只提高10%,是有问题存在的。

那此时CPU是用在什么上面?usr/sys/iowait各占多少?
你又不提供数据,让大家乱猜么。

论坛徽章:
12
CU大牛徽章
日期:2013-09-18 15:20:4815-16赛季CBA联赛之同曦
日期:2016-02-01 20:28:25IT运维版块每日发帖之星
日期:2015-11-10 06:20:00操作系统版块每日发帖之星
日期:2015-10-28 06:20:002015亚冠之塔什干棉农
日期:2015-06-04 11:41:56丑牛
日期:2014-05-10 16:11:33技术图书徽章
日期:2013-09-23 13:25:58CU大牛徽章
日期:2013-09-18 15:21:17CU大牛徽章
日期:2013-09-18 15:21:12CU大牛徽章
日期:2013-09-18 15:21:06CU大牛徽章
日期:2013-09-18 15:20:58数据库技术版块每日发帖之星
日期:2016-02-08 06:20:00
发表于 2010-01-12 14:56 |显示全部楼层
原帖由 Maxshine 于 2010-1-12 14:44 发表
所以希望CPU满负载,不要有IO之类瓶颈存在。

CPU满负载和IO瓶颈没什么关系,并不是说CPU性能强了,就可以避免IO瓶颈的。要避免IO瓶颈主要还是靠更多的HBA卡以及更强劲的磁盘阵列。

论坛徽章:
0
发表于 2010-01-12 16:02 |显示全部楼层
原帖由 mike79 于 2010-1-12 14:53 发表

那此时CPU是用在什么上面?usr/sys/iowait各占多少?
你又不提供数据,让大家乱猜么。


忘记传日志了。

AIX CPU:
usr                    sys                   wait        idle
76.78138889        9.730166667        0.0235        0.142388889

xLinux CPU:
usr                    sys                   wait        idle
87.27            10.145                0.023888889        2.546111111

走势图:
AIX:
AIX.jpg

xLinux:
xLinux.jpg

论坛徽章:
0
发表于 2010-01-12 16:04 |显示全部楼层
因为AIX开的是share模式,所以CPU显示的是个数,capped为2个CPU,与图显示相除得到的百分比就是使用率。

我是想知道这是不是和系统实现相关的。现在在研究配置,希望可以通过调整系统参数来改善。

论坛徽章:
0
发表于 2010-01-12 16:08 |显示全部楼层
AIX和xLinux都有文件缓存机制。我看到不同的地方是,我的环境里AIX同步缓存都是标记为fsout/fsin,当作内存页交换来做,每次都是有fault。xLinux是专门内核线程来做,fault较少。会不会与这个有关?

论坛徽章:
12
CU大牛徽章
日期:2013-09-18 15:20:4815-16赛季CBA联赛之同曦
日期:2016-02-01 20:28:25IT运维版块每日发帖之星
日期:2015-11-10 06:20:00操作系统版块每日发帖之星
日期:2015-10-28 06:20:002015亚冠之塔什干棉农
日期:2015-06-04 11:41:56丑牛
日期:2014-05-10 16:11:33技术图书徽章
日期:2013-09-23 13:25:58CU大牛徽章
日期:2013-09-18 15:21:17CU大牛徽章
日期:2013-09-18 15:21:12CU大牛徽章
日期:2013-09-18 15:21:06CU大牛徽章
日期:2013-09-18 15:20:58数据库技术版块每日发帖之星
日期:2016-02-08 06:20:00
发表于 2010-01-12 17:26 |显示全部楼层
原帖由 Maxshine 于 2010-1-12 16:02 发表


忘记传日志了。

AIX CPU:
usr                    sys                   wait        idle
76.78138889        9.730166667        0.0235        0.142388889

xLinux CPU:
usr                    sys               ...

AIX的idle应该是14.xxx吧?那你还能加大负载阿,比如说也把aix的user压到87。
不过你为什么总是考虑FS IO?从数据来看,瓶颈不在fs io上阿。

哦,我明白了。你认为AIX的CPU负载下来是因为他不处理业务,转而处理其他的事情,比如FS IO了?

[ 本帖最后由 mike79 于 2010-1-12 17:28 编辑 ]

论坛徽章:
0
发表于 2010-01-12 18:53 |显示全部楼层
原帖由 mike79 于 2010-1-12 17:26 发表

AIX的idle应该是14.xxx吧?那你还能加大负载阿,比如说也把aix的user压到87。
不过你为什么总是考虑FS IO?从数据来看,瓶颈不在fs io上阿。

哦,我明白了。你认为AIX的CPU负载下来是因为他不处理业务,转 ...


嗯,就是这个意思。因为此时这个服务器上只有这个服务,所以CPU应该都在处理这个服务相关计算。而实际中却有很多时候CPU有一定idle,此时总是有IO,具体来说就是nmon结果中的fsout/fsin导致IO负载上升,而CPU使用率下降了。

xLinux也有相近的IO负载,但是CPU使用率并没有变低,始终接近100%,所以我在想IO引起这个问题。我所想的是,AIX中这些IO基本是缺页导致的(fsout/fsin),而实际它只是将文件缓存脏页同步,不知道为什么AIX做这个操作时IO负载如此高以至于影响到CPU,而xLinux它同步脏页不一定需要缺页才做,其IO负载也不高,所以CPU使用率看上去很正常。

难道说,因为AIX做同步文件缓存都是通过缺页异常,所以代价大,而xLinux除了缺页,本身也有内核线程可以做(比如pdflush),所以代价小,对CPU影响也小?

论坛徽章:
0
发表于 2010-01-12 23:53 |显示全部楼层
谢谢mike79大侠的详细解释。

说一下我的疑问:
1. AIX下记录的CPU是出于idle而不是wait。系统应该是同步IO模式,如果是syncd去同步脏页,我想至少一个CPU去执行syncd,那么它应该处于IOwait,而不是idle。而且对系统实时监测发现,服务本身不停的引起缺页异常,而将页换出(通过fsout推断),我想问下是不是在换页的时候,CPU处于idle模式而不是wait,就是CPU等待异常完成IO,会被挂起而进入idle?
2. 我测试的是一个java开发的服务。所以服务本身即其所用的缓存机制,都是用了JVM的堆空间。在测试的时候,虽然系统有3G的空闲内存(nmon记录可以看到),但是java进程还是有很多fault,请问是不是java虚拟机引起缺页异常方式并不是说系统内存不足才会引起,其本身堆空间不足它自己就会像系统发出呢?其实我是想问一下,通过缺页异常来同步脏页是什么情况下完成的(系统内存充足,不会是因为内存不足引起的)。
3. 前面问的缺页来同步脏页代价大于内核线程同步脏页,因为AIX的缺页频繁,所以基本脏页都是由缺页异常完成,所以代价过大,这样说是不是正确呢?

对于大侠的建议:
1. 如果说确实异常同步脏页代价大,那么DIO模式应该有所改善,毕竟目前系统缺页就很频繁了,不过我想可能AIO更合适,这个明天可以做下试验。
2. 定时刷新部分脏页,减少一次性刷新的负担,这个是不是可以调整sync参数来做,我理解是看看目前的缺页频率,将syncd频率调整与之一致,尽量通过内核线程来完成,这样就和xLinux一致。

论坛徽章:
0
发表于 2010-01-13 00:05 |显示全部楼层
对了,关于说Linux的IOPS较高的问题,我总结发现应该是nmon的问题。

nmon在Linux下,将dm-0, sda, sda1的总和记成Disk xfer,实际上sda1=sda,因为只有一个分区,dm-0不知道是什么,但是值和sda一样。

所以实际IOPS=1/3*nmon IOPS。实际值和AIX是比较一致的。

论坛徽章:
12
CU大牛徽章
日期:2013-09-18 15:20:4815-16赛季CBA联赛之同曦
日期:2016-02-01 20:28:25IT运维版块每日发帖之星
日期:2015-11-10 06:20:00操作系统版块每日发帖之星
日期:2015-10-28 06:20:002015亚冠之塔什干棉农
日期:2015-06-04 11:41:56丑牛
日期:2014-05-10 16:11:33技术图书徽章
日期:2013-09-23 13:25:58CU大牛徽章
日期:2013-09-18 15:21:17CU大牛徽章
日期:2013-09-18 15:21:12CU大牛徽章
日期:2013-09-18 15:21:06CU大牛徽章
日期:2013-09-18 15:20:58数据库技术版块每日发帖之星
日期:2016-02-08 06:20:00
发表于 2010-01-13 01:17 |显示全部楼层
你说的缺页异常是什么意思?我理解的缺页异常是进程的某些页面,比如正文或者数据段没有被载入内存,或者进程要读取的文件不在内存中,导致的从磁盘-->内存的读取操作。你说的缺页异常的意思好像是内存-->磁盘的写操作?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP