免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2860 | 回复: 4
打印 上一主题 下一主题

是不是我的INFORMIX有问题,请帮忙看下. [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-06-17 21:45 |只看该作者 |倒序浏览
我机器OpenSUSE10.3  CPU E6XXX 内存2G

硬盘是SATA的..320G 8M..

机器做测试用(写后台程序)



INFORMIX版本
IBM Informix Dynamic Server Version 7.31.UD8     -- On-Line -- Up 21:55:33 -- 729184 Kbytes


过程如下:
我从一个文本数据库转数据到INFORMIX.
十万的表有三个.(这应该很轻松的吧) 其他的都一二万.
其中一个表有三十列.


我反复的导入,删表,再建再删.

大量测试查询..只是测个速度.


结果是写入很慢.(本来想用事务的,结果程序报错,说什么不是事务数据库)
但是,我建库的时候,记得很清楚,用的是WITH LOG
上述的所有数据写入要一分种.

八万的表,全查询.要5-8秒左右..(局域网,网络应该不是问题所在.)(为什么DBACCESS不到一秒搞定??)
程序层面上已经尽力优化了,哪位仁兄有经验,还望指教..用的是ESQL

本来接触INFORMIX时间短..原来是搞DB2的..很多不懂..

请各位指教..如何才能提高查询的响应时间..
我从网上看了各种配置的文章..
里面,有一个让我很在意
onstat -p
第二个%  一直很低,,这正常吗?


我原来一直是0,后来导两次数据变成40%左右..但是网上说至少要到80%..是我配置有问题吗?

请赐教..万分感谢..


IBM Informix Dynamic Server Version 7.31.UD8     -- On-Line -- Up 22:09:09 -- 729184 Kbytes

Profile
dskreads pagreads bufreads %cached dskwrits pagwrits bufwrits %cached
29631    574821   9257818  99.68   315934   958666   567924   44.37  

isamtot  open     start    read     write    rewrite  delete   commit   rollbk
12267626 400390   264063   2597977  257655   30       294      257424   6

gp_read  gp_write gp_rewrt gp_del   gp_alloc gp_free  gp_curs
0        0        0        0        0        0        0      

ovlock   ovuserthread ovbuff   usercpu  syscpu   numckpts flushes
0        0            0        165.43   28.00    80       532     

bufwaits lokwaits lockreqs deadlks  dltouts  ckpwaits compress seqscans
12       0        28410620 0        0        5        5948     1531   

ixda-RA  idx-RA   da-RA    RA-pgsused lchwaits
4        0        3508     3512       2260  





onconfig如下:

#**************************************************************************
#
#                           INFORMIX SOFTWARE, INC.
#
#  Title:        onconfig.std
#  Description: Informix Dynamic Server Configuration Parameters
#
#**************************************************************************

# Root Dbspace Configuration

ROOTNAME        rootdbs         # Root dbspace name
ROOTPATH        /opt/informix/dbs/rootdbs
                                # Path for device containing root dbspace
ROOTOFFSET      256             # Offset of root dbspace into device (Kbytes)
ROOTSIZE        2048000         # Size of root dbspace (Kbytes)

# Disk Mirroring Configuration Parameters

MIRROR          0               # Mirroring flag (Yes = 1, No = 0)
MIRRORPATH                      # Path for device containing mirrored root
MIRROROFFSET    0               # Offset into mirrored device (Kbytes)

# Physical Log Configuration

PHYSDBS         phydbs          # Location (dbspace) of physical log
PHYSFILE        1016000         # Physical log file size (Kbytes)

# Logical Log Configuration

LOGFILES        6               # Number of logical log files
LOGSIZE         2000            # Logical log size (Kbytes)

# Diagnostics

MSGPATH         /opt/informix/logs/online.log # System message log file path
CONSOLE         /dev/console    # System console message path
ALARMPROGRAM    /opt/informix/etc/log_full.sh # Alarm program path
SYSALARMPROGRAM /opt/informix/etc/evidence.sh # System Alarm program path
TBLSPACE_STATS  1               

# System Archive Tape Device

TAPEDEV         /dev/null       # Tape device path       
TAPEBLK         16              # Tape block size (Kbytes)
TAPESIZE        10240           # Maximum amount of data to put on tape (Kbytes)

# Log Archive Tape Device

LTAPEDEV        /dev/null       # Log tape device path
LTAPEBLK        16              # Log tape block size (Kbytes)
LTAPESIZE       10240           # Max amount of data to put on log tape (Kbytes)

# Optical

STAGEBLOB                       # Informix Dynamic Server/Optical staging area

# System Configuration

SERVERNUM       0               # Unique id corresponding to a Dynamic Server instance
DBSERVERNAME    IDS731          # Name of default database server
DBSERVERALIASES IDS_TCP         # List of alternate dbservernames
NETTYPE         ipcshm,1,80,NET # Configure poll thread(s) for nettype
NETTYPE         soctcp,1,20,CPU # Configure poll thread(s) for nettype
DEADLOCK_TIMEOUT 60              # Max time to wait of lock in distributed env.
RESIDENT        1               # Forced residency flag (Yes = 1, No = 0)

MULTIPROCESSOR  0               # 0 for single-processor, 1 for multi-processor
NUMCPUVPS       1               # Number of user (cpu) vps
SINGLE_CPU_VP   1               # If non-zero, limit number of cpu vps to one

NOAGE           0               # Process aging
AFF_SPROC       0               # Affinity start processor
AFF_NPROCS      0               # Affinity number of processors

# Shared Memory Parameters

LOCKS           200000          # Maximum number of locks
BUFFERS         300000         
NUMAIOVPS       2               # Number of IO vps
PHYSBUFF        64              # Physical log buffer size (Kbytes)
LOGBUFF         256             # Logical log buffer size (Kbytes)
LOGSMAX         12              # Maximum number of logical log files
CLEANERS        4               # Number of buffer cleaner processes
SHMBASE         0x44000000        # Shared memory base address
SHMVIRTSIZE     80000                # initial virtual shared memory segment size
SHMADD          32768                # Size of new shared memory segments (Kbytes)
SHMTOTAL        0               # Total shared memory (Kbytes). 0=>unlimited
CKPTINTVL       300             # Check point interval (in sec)
LRUS            4               # Number of LRU queues
LRU_MAX_DIRTY   70              # LRU percent dirty begin cleaning limit
LRU_MIN_DIRTY   50              # LRU percent dirty end cleaning limit
LTXHWM          50              # Long transaction high water mark percentage
LTXEHWM         60              # Long transaction high water mark (exclusive)
TXTIMEOUT       0x12c             # Transaction timeout (in sec)
STACKSIZE       32              # Stack size (Kbytes)

# System Page Size
# BUFFSIZE - Dynamic Server no longer supports this configuration parameter.
#            To determine the page size used by Dynamic Server on your platform
#            see the last line of output from the command, 'onstat -b'.


# Recovery Variables
# OFF_RECVRY_THREADS:
# Number of parallel worker threads during fast recovery or an offline restore.
# ON_RECVRY_THREADS:
# Number of parallel worker threads during an online restore.

OFF_RECVRY_THREADS 10              # Default number of offline worker threads
ON_RECVRY_THREADS 1               # Default number of online worker threads

# Data Replication Variables
# DRAUTO: 0 manual, 1 retain type, 2 reverse type
DRAUTO          0               # DR automatic switchover
DRINTERVAL      30              # DR max time between DR buffer flushes (in sec)
DRTIMEOUT       30              # DR network timeout (in sec)
DRLOSTFOUND     /opt/informix/etc/dr.lostfound # DR lost+found file path

# CDR Variables
CDR_LOGBUFFERS  2048            # size of log reading buffer pool (Kbytes)
CDR_EVALTHREADS 1,2             # evaluator threads (per-cpu-vp,additional)
CDR_DSLOCKWAIT  5               # DS lockwait timeout (seconds)
CDR_QUEUEMEM    4096            # Maximum amount of memory for any CDR queue (Kbytes)
CDR_LOGDELTA    30              # % of log space allowed in queue memory
CDR_NUMCONNECT  16              # Expected connections per server
CDR_NIFRETRY    300             # Connection retry (seconds)
CDR_NIFCOMPRESS 0               # Link level compression (-1 never, 0 none, 9 max)

# Backup/Restore variables
BAR_ACT_LOG     /opt/informix/logs/bar_act.log # ON-Bar Log file - not in /tmp please
BAR_DEBUG_LOG   /opt/informix/logs/bar_dbug.log
                                # ON-Bar Debug Log - not in /tmp please
BAR_MAX_BACKUP  0               
BAR_RETRY       1               
BAR_NB_XPORT_COUNT 10              
BAR_XFER_BUF_SIZE 31              

# Informix Storage Manager variables
ISM_DATA_POOL   ISMData         # If the data pool name is changed, be sure to
                                # update $INFORMIXDIR/bin/onbar.  Change to
                                # ism_catalog -create_bootstrap -pool <new name>
ISM_LOG_POOL    ISMLogs         

# Read Ahead Variables
RA_PAGES        128             # Number of pages to attempt to read ahead
RA_THRESHOLD    64              # Number of pages left before next group

# DBSPACETEMP:
# Dynamic Server equivalent of DBTEMP for SE. This is the list of dbspaces
# that the Dynamic Server SQL Engine will use to create temp tables etc.
# If specified it must be a colon separated list of dbspaces that exist
# when the Dynamic Server system is brought online.  If not specified, or if
# all dbspaces specified are invalid, various ad hoc queries will create
# temporary files in /tmp instead.

DBSPACETEMP     tmpdbs                # Default temp dbspaces

# DUMP*:
# The following parameters control the type of diagnostics information which
# is preserved when an unanticipated error condition (assertion failure) occurs
# during Dynamic Server operations.
# For DUMPSHMEM, DUMPGCORE and DUMPCORE 1 means Yes, 0 means No.

DUMPDIR         /tmp            # Preserve diagnostics in this directory
DUMPSHMEM       1               # Dump a copy of shared memory
DUMPGCORE       0               # Dump a core image using 'gcore'
DUMPCORE        0               # Dump a core image (Warning:this aborts Dynamic Server)
DUMPCNT         1               # Number of shared memory or gcore dumps for
                                # a single user's session

FILLFACTOR      90              # Fill factor for building indexes

# method for Dynamic Server to use when determining current time
USEOSTIME       0               # 0: use internal time(fast), 1: get time from OS(slow)

# Parallel Database Queries (pdq)
MAX_PDQPRIORITY 100             # Maximum allowed pdqpriority
DS_MAX_QUERIES                  # Maximum number of decision support queries
DS_TOTAL_MEMORY                 # Decision support memory (Kbytes)
DS_MAX_SCANS    1048576         # Maximum number of decision support scans       
DATASKIP        off             # List of dbspaces to skip

# OPTCOMPIND
# 0 => Nested loop joins will be preferred (where
#      possible) over sortmerge joins and hash joins.
# 1 => If the transaction isolation mode is not
#      "repeatable read", optimizer behaves as in (2)
#      below.  Otherwise it behaves as in (0) above.
# 2 => Use costs regardless of the transaction isolation
#      mode.  Nested loop joins are not necessarily
#      preferred.  Optimizer bases its decision purely
#      on costs.
OPTCOMPIND      2               # To hint the optimizer

ONDBSPACEDOWN   2               # Dbspace down option: 0 = CONTINUE, 1 = ABORT, 2 = WAIT
LBU_PRESERVE    0               # Preserve last log for log backup
OPCACHEMAX      0               # Maximum optical cache size (Kbytes)

# HETERO_COMMIT (Gateway participation in distributed transactions)
# 1 => Heterogeneous Commit is enabled
# 0 (or any other value) => Heterogeneous Commit is disabled
HETERO_COMMIT   0               

# Optimization goal: -1 = ALL_ROWS(Default), 0 = FIRST_ROWS
OPT_GOAL        -1              

# Optimizer DIRECTIVES ON (1/Default) or OFF (0)
DIRECTIVES      1               

# Status of restartable restore
RESTARTABLE_RESTORE on              








请各位多指教.



另外再次,感谢liaosnet  上两次都是他帮的忙.

论坛徽章:
11
金牛座
日期:2015-03-19 16:56:22数据库技术版块每日发帖之星
日期:2016-08-02 06:20:00数据库技术版块每日发帖之星
日期:2016-04-24 06:20:00数据库技术版块每日发帖之星
日期:2016-04-13 06:20:00IT运维版块每日发帖之星
日期:2016-04-13 06:20:00数据库技术版块每日发帖之星
日期:2016-02-03 06:20:00数据库技术版块每日发帖之星
日期:2015-08-06 06:20:00季节之章:春
日期:2015-03-27 15:54:57羊年新春福章
日期:2015-03-27 15:54:37戌狗
日期:2015-03-19 16:56:41数据库技术版块每日发帖之星
日期:2016-08-18 06:20:00
2 [报告]
发表于 2008-06-17 22:06 |只看该作者
又是我..

你的数据量很小,速度应该比较快的...至于使用esql慢(你说了dbaccess方式快,也就是说比较正常的.)..这个我不熟悉...没办法.

你说建表用了with log,那应该就是使用了日志方式..当然你可以从sysdatabases表中查询到相关信息.onmonitor也可以..

onstat -p中输出的write %cached 从你的操作来看,可以忽视了...你太多的insert操作,是不可能有高写cached的,同时从onstat -p输出看数据库还是在很不错的状态下(当然是因为你上而没跑业务,显得很空. )

论坛徽章:
11
金牛座
日期:2015-03-19 16:56:22数据库技术版块每日发帖之星
日期:2016-08-02 06:20:00数据库技术版块每日发帖之星
日期:2016-04-24 06:20:00数据库技术版块每日发帖之星
日期:2016-04-13 06:20:00IT运维版块每日发帖之星
日期:2016-04-13 06:20:00数据库技术版块每日发帖之星
日期:2016-02-03 06:20:00数据库技术版块每日发帖之星
日期:2015-08-06 06:20:00季节之章:春
日期:2015-03-27 15:54:57羊年新春福章
日期:2015-03-27 15:54:37戌狗
日期:2015-03-19 16:56:41数据库技术版块每日发帖之星
日期:2016-08-18 06:20:00
3 [报告]
发表于 2008-06-17 22:09 |只看该作者

PS:找了下,好像偶没有7.31 for linux版的IDS,有空传份copy给偶..SN/KEY不用,偶有..
可以用9.40,10.0的换.

论坛徽章:
0
4 [报告]
发表于 2008-06-17 22:32 |只看该作者
我QQ
26273826

现在外网,很差..今天就可以试.不行的话,明后天,,我回去再给你传.风速很快.

论坛徽章:
11
金牛座
日期:2015-03-19 16:56:22数据库技术版块每日发帖之星
日期:2016-08-02 06:20:00数据库技术版块每日发帖之星
日期:2016-04-24 06:20:00数据库技术版块每日发帖之星
日期:2016-04-13 06:20:00IT运维版块每日发帖之星
日期:2016-04-13 06:20:00数据库技术版块每日发帖之星
日期:2016-02-03 06:20:00数据库技术版块每日发帖之星
日期:2015-08-06 06:20:00季节之章:春
日期:2015-03-27 15:54:57羊年新春福章
日期:2015-03-27 15:54:37戌狗
日期:2015-03-19 16:56:41数据库技术版块每日发帖之星
日期:2016-08-18 06:20:00
5 [报告]
发表于 2008-06-17 22:47 |只看该作者

回复 #4 du51 的帖子

改天吧,现在网速慢...
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP