- 论坛徽章:
- 3
|
本帖最后由 D2002 于 2013-03-06 10:06 编辑
1. 背景资料:
有一个Table:
create table cust_book (
seq_no CHAR(10) NOT NULL,
cust_no CHAR(12) NOT NULL,
currency CHAR(3) NOT NULL,
amount DECIAML(12,2) NOT NULL,
......
tr_date DATE NOT NULL,
tr_status CHAR(1)
);
create custbook_idx01 on cust_book(tr_date, seq_no);
此表中有150万条记录。在A和B机中,同样建此表。
A机配置,RedHat Linux Server虚拟机,安装64位Linux系统(核心2.6.18-194.e15), Linux系统显示单个CPU。
安装的IDS版本:IBM Informix Dynamic Server Version 11.50.FC9 -- On-Line -- Up 1 days 00:10:41 -- 329552 Kbytes
B机配置(双CPU,每个CPU有6核12线程,8GB内存),RedHat Linux Server,安装32位Linux系统(核心2.6.18-308.e15), Linux系统显示24个CPU。
安装的IDS版本:IBM Informix Dynamic Server Version 11.70.UC3 -- On-Line -- Up 4 days 15:18:11 -- 1824392 Kbytes
在配置IDS 11.70时,将CPU的配置是这样的:
VPCLASS cpu,num=16,noage
......
VPCLASS aio,num=2
......
VPCLASS jvp,num=2
......
无论cpu还是内存,配置上B机要高很多。
2. Unload 评估
运行shell文件:
date>cust.log
echo "unload to 'cust.unl' select * from cust_book;" >>cust.log
dbaccess - - <<!
DATABASE testdb;
unload to 'cust.unl' select * from cust_book;
!
date>>cust.log
A机:用时105秒
Tue Mar 5 08:44:52 CST 2013
unload to 'cust01.unl' select * from cust_book;
Tue Mar 5 08:46:37 CST 2013
B机:用时92秒
Tue Mar 5 09:18:40 CST 2013
unload to 'cust01.unl' select * from cust_book;
Tue Mar 5 09:20:12 CST 2013
在A机器上运行比B机器慢,符合预期。
3. 查询评估
用dbaccess运行:
select * from cust_book order by tr_date, seq_no;
在A机(11.50.FC9)上运行, 不用等待,马上出现第一条记录。
在B机(11.70.UC3)上运行, 等待2分钟,还没有出现第一条记录,就强行中断查询。
不明白这问题所在?难道是11.70.UC3的bug?
|
|