- 論壇徽章:
- 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系統(tǒng)(核心2.6.18-194.e15), Linux系統(tǒng)顯示單個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系統(tǒng)(核心2.6.18-308.e15), Linux系統(tǒng)顯示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)上運行, 不用等待,馬上出現(xiàn)第一條記錄。
在B機(11.70.UC3)上運行, 等待2分鐘,還沒有出現(xiàn)第一條記錄,就強行中斷查詢。
不明白這問題所在?難道是11.70.UC3的bug?
|
|