本地查询时不时会出现迟滞现象
本帖最后由 flyinweb_cu 于 2011-06-13 08:33 编辑环境:
AS4 U8
IDS 2000 Version 9.21.UC2
内存8G,free经常性只有几十M
数据量5000万+,最大表1200万
现象:
$ time isql test <test2
(count(*))
198
1 row(s) retrieved.
real 0m0.009s
user 0m0.002s
sys 0m0.004s
$ time isql test <test2
(count(*))
198
1 row(s) retrieved.
real 0m0.956s
user 0m0.004s
sys 0m0.002s
$ time isql test <test2
(count(*))
198
1 row(s) retrieved.
real 0m0.046s
user 0m0.006s
sys 0m0.001s
$ time isql test <test2
(count(*))
198
1 row(s) retrieved.
real 0m0.881s
user 0m0.006s
sys 0m0.002s
$ time isql test <test2
(count(*))
198
1 row(s) retrieved.
real 0m0.009s
user 0m0.004s
sys 0m0.002s
$ time isql test <test2
(count(*))
198
1 row(s) retrieved.
real 0m0.668s
user 0m0.005s
sys 0m0.003s
$ time isql test <test2
(count(*))
198
1 row(s) retrieved.
real 0m0.009s
user 0m0.005s
sys 0m0.002s
不知是不是配置有什么问题还是其它
2011/06/13 更新
现在逻辑日志增长过快的情况已经解决,不过,查询(很简单)仍然会时不时停顿比较久,有时达到好几秒甚至是10几秒,目前的空闲内存有2G以上
$ onstat -p
Informix Dynamic Server 2000 Version 9.21.UC2 -- On-Line -- Up 2 days 09:11:37 -- 2479064 Kbytes
Profile
dskreads pagreads bufreads %cached dskwrits pagwrits bufwrits %cached
115259637 40446761 3094182835 96.27 7168663906199549782583 85.60
isamtotopen start read write rewritedelete commit rollbk
2881891691 68614600 115550710 2277975766 14318187 2139653155694 13761039600
gp_readgp_write gp_rewrt gp_del gp_alloc gp_freegp_curs
0 0 0 0 0 0 0
ovlock ovuserthread ovbuff usercpusyscpu numckpts flushes
0 0 0 26992.59 4866.65690 1380
bufwaits lokwaits lockreqs deadlksdltoutsckpwaits compress seqscans
681112529028 2437201380 0 0 520 100161731677829
ixda-RAidx-RA da-RA RA-pgsused lchwaits
462072728293 83989425 87965601 2076505
$ onstat -g seg
Informix Dynamic Server 2000 Version 9.21.UC2 -- On-Line -- Up 2 days 09:12:24 -- 2479064 Kbytes
Segment Summary:
id key addr size ovhd class blkusedblkfree
12910592 1381386241 10000000 2473025536 77860 R 603755 11
17105024 1381386369 a3676000 32768000 1600 V 7474 526
17170561 1381386370 a55b6000 32768000 1600 V 210 7790
Total: - - 2538561536 - - 611439 8327
(* segment locked in memory) 内存为什么剩这么少。。。。? 每次都需要连接。。连接需要申请资源。。。。要保证数据查询的时间,请使用长连接。。
BTW:你这延时都不到1秒,应该都能接受才对。。 每次都需要连接。。连接需要申请资源。。。。要保证数据查询的时间,请使用长连接。。
BTW:你这延时都不 ...
liaosnet 发表于 2011-06-07 23:36 http://bbs.chinaunix.net/images/common/back.gif
开发程序,每次目前是这样的,现在不明白是什么原因导致出现迟滞,逻辑日志,有时一分钟分产生5、6个,10M/个,从我的角度来看,这样的速度还算正常,WEB页连续打开多个页面时,有时一个页面会有几秒的停顿才会完全呈现。
另外请教一个问题:能否通过分析逻辑日志,看具体的事务涉及到的表的信息或者是sql语句? 开发程序,每次目前是这样的,现在不明白是什么原因导致出现迟滞,逻辑日志,有时一分钟分产生5、6个, ...
flyinweb_cu 发表于 2011-06-08 08:50 http://bbs.chinaunix.net/images/common/back.gif
一分钟5-6个逻辑日志? 那么你这样的10M每个就明显太小了。。建议改到100M每个。 一分钟5-6个逻辑日志? 那么你这样的10M每个就明显太小了。。建议改到100M每个。
liaosnet 发表于 2011-06-08 09:34 http://bbs.chinaunix.net/images/common/back.gif
80个10M与8个100M对于IDS来说,不知有无性能上的差异? 80个10M与8个100M对于IDS来说,不知有无性能上的差异?
flyinweb_cu 发表于 2011-06-08 10:19 http://bbs.chinaunix.net/images/common/back.gif
从你的信息上看,逻辑日志增长很快,建议的是增大一些逻辑日志总量。 你的数据库版本只支持最大2G内存,机器的内存压力比较大,如果在某个时刻内存不够,系统就会把一部分内存中的数据写到交换分区里,这部分业务的速度会明显变慢。不排除有这个可能。 本帖最后由 flyinweb_cu 于 2011-06-08 18:28 编辑
你的数据库版本只支持最大2G内存,机器的内存压力比较大,如果在某个时刻内存不够,系统就会把一部分内存中 ...
antyison 发表于 2011-06-08 17:15 http://bbs.chinaunix.net/images/common/back.gif
目前交换分区基本上没有使用,只是在做些哪些是简单查询时会出现短暂的停顿,头大;
数据库oninit进程有时会产生多个,占用内存应该不止2G,不知“你的数据库版本只支持最大2G内存”如何理解?加内存也没有用? 都没上1S啊
LZ的停顿指的是WEB页面响应么?
onstat - 最后一串数字就是占用的内存大小
或 onstat -g seg
页:
[1]
2