免费注册 查看新帖 |

Chinaunix

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

inofrmix 10.0 checkpoint duration时间过长问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-07-31 10:23 |只看该作者 |倒序浏览
请教高手:我的informix 10.0 经常出现checkpoint duration 时间过长问题。不知道什么问题,希望高手能指点一下。
主机为P570,P6 4.4Ghz。 8CPU 32G MEM。
onconfig文件如下:

#**************************************************************************
#
#  Licensed Material - Property Of IBM
#
#  "Restricted Materials of IBM"
#
#  IBM Informix Dynamic Server
#  (c) Copyright IBM Corporation 1996, 2005 All rights reserved.
#
#  Title:        onconfig.std
#  Description: IBM Informix Dynamic Server Configuration Parameters
#
#**************************************************************************

# Root Dbspace Configuration

ROOTNAME        rootdbs         # Root dbspace name
ROOTPATH        /usr/informix/data/rootdbs
                                # Path for device containing root dbspace
ROOTOFFSET      1000            # Offset of root dbspace into device (Kbytes)
ROOTSIZE        2000000         # 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        200000          # Physical log file size (Kbytes)

# Logical Log Configuration

LOGFILES        60              # Number of logical log files
LOGSIZE         20000           # Logical log size (Kbytes)
LOG_BACKUP_MODE CONT            # Logical log backup mode (MANUAL, CONT)
#LOG_BACKUP_MODE MANUAL          # Logical log backup mode (MANUAL, CONT)

# Tablespace Tablespace Configuration in Root Dbspace

TBLTBLFIRST     0               # First extent size (Kbytes) (0 = default)
TBLTBLNEXT      0               # Next extent size (Kbytes) (0 = default)

# Security
# DBCREATE_PERMISSION:
# By default any user can create a database. Uncomment DBCREATE_PERMISSON to
# limit database creation to a specific user. Add a new DBCREATE_PERMISSION
# line for each permitted user.

#DBCREATE_PERMISSION        informix

# DB_LIBRARY_PATH:
# When loading a (C or C++) shared object (for a UDR or UDT), IDS checks that
# the user-specified path starts with one of the directory prefixes listed in
# the comma-separated list of prefixes in DB_LIBRARY_PATH. The string
# "$INFORMIXDIR/extend" must be included in DB_LIBRARY_PATH in order for
# extensibility and IBM supplied blades to work correctly.

# DB_LIBRARY_PATH $INFORMIXDIR/extend

# IFX_EXTEND_ROLE:
# 0 (or off) =>        Disable use of EXTEND role to control who can register
#                external routines.
# 1 (or on)  =>        Enable use of EXTEND role to control who can register
#                external routines. This is the default behaviour.
#
IFX_EXTEND_ROLE 1               # To control the usage of EXTEND role.

# Diagnostics

MSGPATH         /usr/informix/online.log # System message log file path
CONSOLE         /dev/console    # System console message path

# To automatically backup logical logs, edit alarmprogram.sh and set
# BACKUPLOGS=Y
ALARMPROGRAM    /usr/informix/etc/alarmprogram.sh # Alarm program path
ALRM_ALL_EVENTS 0               # Triggers ALARMPROGRAM for any event occur
TBLSPACE_STATS  1               # Maintain tblspace statistics

# System Archive Tape Device

TAPEDEV         /dev/null       # Tape device path       
TAPEBLK         32              # 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        32              # Log tape block size (Kbytes)
LTAPESIZE       10240           # Max amount of data to put on log tape (Kbytes)

# Optical

STAGEBLOB                       # Informix Dynamic Server staging area

# System Configuration

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

MULTIPROCESSOR  1               # 0 for single-processor, 1 for multi-processor
#NUMCPUVPS       1               # Number of user (cpu) vps
SINGLE_CPU_VP   0               # 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           1500000         # Maximum number of locks
#NUMAIOVPS       8               # Number of IO vps
PHYSBUFF        32              # Physical log buffer size (Kbytes)
LOGBUFF         32              # Logical log buffer size (Kbytes)
CLEANERS        1               # Number of buffer cleaner processes
SHMBASE         0x700000010000000 # Shared memory base address
SHMVIRTSIZE     8192            # initial virtual shared memory segment size
SHMADD          32768            # Size of new shared memory segments (Kbytes)
EXTSHMADD       8192            # Size of new extension shared memory segments (Kbytes)
SHMTOTAL        0               # Total shared memory (Kbytes). 0=>unlimited
CKPTINTVL       300             # Check point interval (in sec)
TXTIMEOUT       0x12c             # Transaction timeout (in sec)
STACKSIZE       64              

# Dynamic Logging
# DYNAMIC_LOGS:
#    2 : server automatically add a new logical log when necessary. (ON)
#    1 : notify DBA to add new logical logs when necessary. (ON)
#    0 : cannot add logical log on the fly. (OFF)
#
# When dynamic logging is on, we can have higher values for LTXHWM/LTXEHWM,
# because the server can add new logical logs during long transaction rollback.
# However, to limit the number of new logical logs being added, LTXHWM/LTXEHWM
# can be set to smaller values.
#
# If dynamic logging is off, LTXHWM/LTXEHWM need to be set to smaller values
# to avoid long transaction rollback hanging the server due to lack of logical
# log space, i.e. 50/60 or lower.
#
# In case of system configured with CDR, the difference between LTXHWM and
# LTXEHWM should be atleast 30% so that we could minimize log overrun issue.

DYNAMIC_LOGS    2               
LTXHWM          70              
LTXEHWM         80              

# System Page Size
# BUFFSIZE - OnLine no longer supports this configuration parameter.
#            To determine the page size used by OnLine 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     /usr/informix/etc/dr.lostfound # DR lost+found file path
DRIDXAUTO       0               # DR automatic index repair. 0=off, 1=on

# CDR Variables
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_NIFCOMPRESS 0               # Link level compression (-1 never, 0 none, 9 max)
CDR_SERIAL      0,0             # Serial Column Sequence
CDR_DBSPACE                     # dbspace for syscdr database
CDR_QHDR_DBSPACE                 # CDR queue dbspace (default same as catalog)
CDR_QDATA_SBSPACE                 # List of CDR queue smart blob spaces

# CDR_MAX_DYNAMIC_LOGS
# -1 => unlimited
#  0 => disable dynamic log addition
# >0 => limit the no. of dynamic log additions with the specified value.
# Max dynamic log requests that CDR can make within one server session.

CDR_MAX_DYNAMIC_LOGS 0               # Dynamic log addition disabled by default

# Backup/Restore variables
BAR_ACT_LOG     /usr/informix/bar_act.log # ON-Bar Log file - not in /tmp please
BAR_DEBUG_LOG   /usr/informix/bar_dbug.log
                                # ON-Bar Debug Log - not in /tmp please
BAR_MAX_BACKUP  0               
BAR_RETRY       1               
BAR_NB_XPORT_COUNT 20              
BAR_XFER_BUF_SIZE 31              
RESTARTABLE_RESTORE on              
BAR_PROGRESS_FREQ 0               

# Informix Storage Manager variables
ISM_DATA_POOL   ISMData         
ISM_LOG_POOL    ISMLogs         

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

# DBSPACETEMP:
# OnLine equivalent of DBTEMP for SE. This is the list of dbspaces
# that the OnLine SQL Engine will use to create temp tables etc.
# If specified it must be a colon separated list of dbspaces that exist
# when the OnLine 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 OnLine operations.  
# For DUMPSHMEM, DUMPGCORE and DUMPCORE 1 means Yes, 0 means No.

DUMPDIR         /usr/informix/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 OnLine)
DUMPCNT         1               # Number of shared memory or gcore dumps for
                                # a single user's session

FILLFACTOR      90              # Fill factor for building indexes

# method for OnLine 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 50              # Maximum allowed pdqpriority
DS_MAX_QUERIES  2               # Maximum number of decision support queries
DS_TOTAL_MEMORY                 # Decision support memory (Kbytes)
DS_MAX_SCANS    1048576         # Maximum number of decision support scans       
DS_NONPDQ_QUERY_MEM -1              # Non PDQ query memory (Kbytes)
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

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

ONDBSPACEDOWN   2               # Dbspace down option: 0 = CONTINUE, 1 = ABORT, 2 = WAIT
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               

SBSPACENAME                     # Default smartblob space name - this is where blobs
                       # go if no sbspace is specified when the smartblob is
                       # created. It is also used by some datablades as
                       # the location to put their smartblobs.
SYSSBSPACENAME                  # Default smartblob space for use by the Informix
                       # Server. This is used primarily for Informix Server
                       # system statistics collection.

BLOCKTIMEOUT    3600            # Default timeout for system block
SYSALARMPROGRAM /usr/informix/etc/evidence.sh # System Alarm program path

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

ALLOW_NEWLINE   0               # embedded newlines(Yes = 1, No = 0 or anything but 1)


#Create Index Online Shared Memory usage limitation
ONLIDX_MAXMEM   5120            # Per pool per index (Kbytes)

#Timeout for client connection request
LISTEN_TIMEOUT  10              # Timeout (in Seconds)

#Following are the deprecated configuration parameters, instead of these
#use BUFFERPOOL configuration parameter
#BUFFERS, LRUS, LRU_MIN_DIRTY, LRU_MAX_DIRTY

IFX_FOLDVIEW    0               # fold multiple tables or union all view with ansi joins
#
# The following are default settings for enabling Java in the database.
# Replace all occurrences of /usr/informix with the value of $INFORMIXDIR.


VPCLASS                cpu,num=7
VPCLASS                aio,num=8

JVPJAVAHOME     /usr/informix/extend/krakatoa/jre
                                # JRE installation root directory
JVPHOME         /usr/informix/extend/krakatoa # Krakatoa installation directory

JVPPROPFILE     /usr/informix/extend/krakatoa/.jvpprops # JVP property file
JVPLOGFILE      /usr/informix/jvp.log # JVP log file.

JDKVERSION      1.3             # JDK version supported by this server

# The path to the JRE libraries relative to JVPJAVAHOME
JVPJAVALIB      /bin            

# The JRE libraries to use for the Java VM

JVPJAVAVM       hpi:jvm:java:net:zip:jpeg

# use JVPARGS to change Java VM configuration
#To display jni call
#JVPARGS        -verbose:jni

# Classpath to use upon Java VM start-up (use _g version for debugging)

#JVPCLASSPATH  /usr/informix/extend/krakatoa/krakatoa_g.jar:/usr/informix/extend/krakatoa/jdbc_g.jar
JVPCLASSPATH    /usr/informix/extend/krakatoa/krakatoa.jar:/usr/informix/extend/krakatoa/jdbc.jar

# The following parameters are related to the buffer pool
BUFFERPOOL        size=4K,buffers=1000000,lrus=16,lru_min_dirty=50.000000,lru_max_dirty=60.000000

论坛徽章:
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 [报告]
发表于 2010-07-31 13:49 |只看该作者
多长是长?
在检查点的时候输出onstat -a
onstat -g all

论坛徽章:
0
3 [报告]
发表于 2010-08-01 21:32 |只看该作者
有时候的checkpoint 时间都达到了300多秒。严重影响了业务。

onstat -a 和onstat -g all 输出太大,用附件。麻烦了。

onstat_log.tar.gz

2.69 MB, 下载次数: 39

论坛徽章:
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
4 [报告]
发表于 2010-08-01 22:30 |只看该作者
。。你这onstat的输出。。。。哎。。

你这个是在正常情况下的onstat输出(输出的结果并不是onstat -a /-g all呀)。
从当前的信息上看,在正常情况下,所有的写都集中在检查点写,在检查点写的信息也不多。。以当前的CHUNK的IO水平是完全可以承受的。。希望输出的onstat 信息是在长检查点时候的信息。。

论坛徽章:
0
5 [报告]
发表于 2010-08-02 10:13 |只看该作者
首先多谢liaosnet的回复,长检查点的出现不定时。如果出现的话,我们的应用系统将会严重影响。所以很难输出onstat在长检查点的信息。
就上面的信息,我们在数据库的配置上面还应该做什么优化?望指教。

论坛徽章:
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
6 [报告]
发表于 2010-08-02 12:34 |只看该作者
首先多谢liaosnet的回复,长检查点的出现不定时。如果出现的话,我们的应用系统将会严重影响。所以很难输出 ...
liqxy 发表于 2010-08-02 10:13



    从上面的信息上看,当然配置足够正常使用。。

    如果你的数据库可以重启的话,重启里加入环境TRACECKPT=1 并使用之生效,再启动数据库。这样的话,数据库在检查点的时候将会有跟踪信息写到online.log,起码可以确定是在做什么操作的时候慢。。

论坛徽章:
0
7 [报告]
发表于 2010-08-02 13:37 |只看该作者
附件下载失败……
估计 只启动了1个CPUVP 可以用onstat -g glo统计下
只有一个的话 可以取消配置文件中对NUMCPUVPS参数的注释
系统允许的话修改为:NUMCPUVPS      4
lru_min_dirty=50.000000,lru_max_dirty=60.000000也可以改小点
比较极端的是lru_min_dirty=0,lru_max_dirty=1

论坛徽章:
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
8 [报告]
发表于 2010-08-02 13:45 |只看该作者
附件下载失败……
估计 只启动了1个CPUVP 可以用onstat -g glo统计下
只有一个的话 可以取消配置文件中对 ...
zpc_silenthill 发表于 2010-08-02 13:37



    从他提供的信息上看,就只有CHUNK写,也就是只有检查点的时候才写。。已经不存在改不改LRU的问题,因为LRU写为0

论坛徽章:
0
9 [报告]
发表于 2010-08-03 08:48 |只看该作者
TRACECKPT=1 加在onconfig文件中吗?

论坛徽章:
0
10 [报告]
发表于 2010-08-03 15:17 |只看该作者
调整LRU个数=* NUMofVP
降低Lru_min_dirty=5%,lru_max_dirty=10%,如果还出现那种现象可以再次降低为Lru_min_dirty=1%,lru_max_dirty=5%
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP