hanyu 发表于 2008-04-20 00:12

请教:数据库lun每秒200M的读是否正常

交易数据库服务器 informix9.4 ,topas 看到 数据库disk 经常 100% 忙

sar 无 iowait

# sar 5 20

AIX mcp_db 3 5 00CC984C4C00    04/18/08

System configuration: lcpu=8mode=Capped

16:44:49    %usr    %sys    %wio   %idle   physc
16:44:54      52      18       0      30    4.00
16:44:59      50      17       0      33    4.00
16:45:04      50      17       0      33    4.00
16:45:09      47      21       0      32    4.00
16:45:14      36      18       0      46    4.00
16:45:19      52      21       0      27    4.00
16:45:24      50      16       0      34    4.00
16:45:29      41      23       0      36    4.00
16:45:34      45      23       0      31    4.00
16:45:39      51      23       0      26    4.00
16:45:44      43      23       0      34    4.00
16:45:49      43      22       0      35    4.00
16:45:54      37      23       0      40    4.00
16:45:59      24      11       0      65    4.00
16:46:04      49      19       0      32    4.00
16:46:09      46      22       0      31    4.00
16:46:14      49       9       0      42    4.00
16:46:19      52      17       0      31    4.00
16:46:24      48      13       0      38    4.00
16:46:29      38      12       0      51    4.00

Average       45      18       0      36    4.00

iostatdisk3 的 tm_act 也在 60%左右
# iostat 5 20

System configuration: lcpu=8 drives=13 paths=2 vdisks=0

tty:      tin         tout    avg-cpu: % user % sys % idle % iowait
          0.0         11.5               33.220.7   46.2      0.0

Disks:      % tm_act   Kbps      tps    Kb_read   Kb_wrtn
hdisk1         0.4       2.3       0.6          0      12
hdisk0         0.4       2.3       0.6          0      12
dac0             0.0       0.0       0.0          0         0
dac0utm          0.0       0.0       0.0          0         0
dac1             0.0       0.0       0.0          0         0
dac1utm          0.0       0.0       0.0          0         0
dac2             0.0   108023.7   1726.6   552052      84
dac2utm          0.0       0.0       0.0          0         0
dac3             0.0       0.0       0.0          0         0
dac3utm          0.0       0.0       0.0          0         0
hdisk3          53.8   108023.7   1726.6   552052      84
cd0            0.0       0.0       0.0          0         0
hdisk2         0.0       0.0       0.0          0         0

tty:      tin         tout    avg-cpu: % user % sys % idle % iowait
          0.0      206.0               49.917.1   33.1      0.0

Disks:      % tm_act   Kbps      tps    Kb_read   Kb_wrtn
hdisk1         0.0       0.0       0.0          0         0
hdisk0         0.0       0.0       0.0          0         0
dac0             0.0       0.0       0.0          0         0
dac0utm          0.0       0.0       0.0          0         0
dac1             0.0       0.0       0.0          0         0
dac1utm          0.0       0.0       0.0          0         0
dac2             0.0   131869.2   2231.1   660136       364
dac2utm          0.0       0.0       0.0          0         0
dac3             0.0       0.0       0.0          0         0
dac3utm          0.0       0.0       0.0          0         0
hdisk3          96.4   131869.2   2231.1   660136       364
cd0            0.0       0.0       0.0          0         0
hdisk2         0.0       0.0       0.0          0         0

tty:      tin         tout    avg-cpu: % user % sys % idle % iowait
          0.0      206.5               43.521.7   34.9      0.0

Disks:      % tm_act   Kbps      tps    Kb_read   Kb_wrtn
hdisk1         2.6      16.8       4.4          0      84
hdisk0         2.6      16.8       4.4          0      84
dac0             0.0       0.0       0.0          0         0
dac0utm          0.0       0.0       0.0          0         0
dac1             0.0       0.0       0.0          0         0
dac1utm          0.0       0.0       0.0          0         0
dac2             0.0   91522.1   3863.2   457384       112
dac2utm          0.0       0.0       0.0          0         0
dac3             0.0       0.0       0.0          0         0
dac3utm          0.0       0.0       0.0          0         0
hdisk3          69.8   91522.1   3863.2   457384       112
cd0            0.0       0.0       0.0          0         0
hdisk2         0.0       0.0       0.0          0         0

tty:      tin         tout    avg-cpu: % user % sys % idle % iowait
          0.0      206.4               46.320.2   33.5      0.0

Disks:      % tm_act   Kbps      tps    Kb_read   Kb_wrtn
hdisk1         0.0       0.0       0.0          0         0
hdisk0         0.0       0.0       0.0          0         0
dac0             0.0       0.0       0.0          0         0
dac0utm          0.0       0.0       0.0          0         0
dac1             0.0       0.0       0.0          0         0
dac1utm          0.0       0.0       0.0          0         0
dac2             0.0   86582.8   1393.4   431824       224
dac2utm          0.0       0.0       0.0          0         0
dac3             0.0       0.0       0.0          0         0
dac3utm          0.0       0.0       0.0          0         0
hdisk3          43.7   86582.8   1393.4   431824       224
cd0            0.0       0.0       0.0          0         0
hdisk2         0.0       0.0       0.0          0         0

tty:      tin         tout    avg-cpu: % user % sys % idle % iowait
          0.0      206.0               36.4   9.2   54.4      0.0

Disks:      % tm_act   Kbps      tps    Kb_read   Kb_wrtn
hdisk1         0.2       2.4       0.6          0      12
hdisk0         0.2       2.4       0.6          0      12
dac0             0.0       0.0       0.0          0         0
dac0utm          0.0       0.0       0.0          0         0
dac1             0.0       0.0       0.0          0         0
dac1utm          0.0       0.0       0.0          0         0
dac2             0.0   157312.8   2479.6   786512      52
dac2utm          0.0       0.0       0.0          0         0
dac3             0.0       0.0       0.0          0         0
dac3utm          0.0       0.0       0.0          0         0
hdisk3          62.6   157312.8   2479.6   786512      52
cd0            0.0       0.0       0.0          0         0
hdisk2         0.0       0.0       0.0          0         0

tty:      tin         tout    avg-cpu: % user % sys % idle % iowait
          0.0      207.3               48.822.9   28.3      0.0

从阵列4800的管理软件来看,数据库lun每秒200M的读,读比例95%,命中率90%左右,
请教各位大侠,以前是否有遇到这种情况。

大梦 发表于 2008-04-20 14:27

呵呵~~那个hdisk busy 100%不准哦!我还看到104%呢~
只要topas里面没有CPU iowait或是iowait的时候不要太长就Ok了!

hanyu 发表于 2008-05-01 17:11

iowait 目前倒是没有,上次 topas hdisk busy 110% 接着就把阵列给 veryoff了,感觉不正常的主要是即使晚上1,2点 ,数据库设备的读还是在100M/s以上。
感觉是否是内存小了,数据库老在预读

大梦 发表于 2008-05-04 18:11

把配置贴出来看看!

hanyu 发表于 2008-05-23 13:52


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

# Root Dbspace Configuration

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

# Logical Log Configuration

LOGFILES      19            # Number of logical log files
LOGSIZE         30000         # Logical log size (Kbytes)

# Diagnostics

MSGPATH         /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    /informix/etc/alarmprogram.sh # Alarm program path
#ALARMPROGRAM    /informix/etc/log_full.sh # Alarm program path
ALARMPROGRAM    /informix/etc/no_log.sh # Alarm program path
TBLSPACE_STATS1               # 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/rmt0       # Log tape device path
LTAPEDEV      /dev/null       # Log tape device path
LTAPEBLK      32            # Log tape block size (Kbytes)
LTAPESIZE       1024000         # 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    db         # Name of default database server
DBSERVERALIASES               # List of alternate dbservernames
DEADLOCK_TIMEOUT 60            # Max time to wait of lock in distributed env.
RESIDENT      0               # Forced residency flag (Yes = 1, No = 0)

MULTIPROCESSOR1               # 0 for single-processor, 1 for multi-processor
NUMCPUVPS       5               # Number of user (cpu) vps, 20080127 2 -> 7
SINGLE_CPU_VP   0               # If non-zero, limit number of cpu vps to one

NOAGE         1               # Process aging, 20080127 0 -> 1
AFF_SPROC       0               # Affinity start processor
AFF_NPROCS      0               # Affinity number of processors

# Shared Memory Parameters

LOCKS         4000000         # Maximum number of locks
BUFFERS         800000          # Maximum number of shared buffers
NUMAIOVPS                     # Number of IO vps
PHYSBUFF      128             # Physical log buffer size (Kbytes)
LOGBUFF         128             # Logical log buffer size (Kbytes)
CLEANERS      1               # Number of buffer cleaner processes
SHMBASE         0x700000000000000 # Shared memory base address
SHMVIRTSIZE   8000            # initial virtual shared memory segment size
SHMADD          8192            # Size of new shared memory segments (Kbytes)
SHMTOTAL      0               # Total shared memory (Kbytes). 0=>unlimited
CKPTINTVL       300             # Check point interval (in sec)
LRUS            8               # Number of LRU queues
LRU_MAX_DIRTY   60.000000       # LRU percent dirty begin cleaning limit
LRU_MIN_DIRTY   50.000000       # LRU percent dirty end cleaning limit
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.

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
DRINTERVAL      30            # DR max time between DR buffer flushes (in sec)
DRTIMEOUT       30            # DR network timeout (in sec)
DRLOSTFOUND   /informix/etc/dr.lostfound # DR lost+found file path

# CDR Variables
CDR_EVALTHREADS 1,2             # evaluator threads (per-cpu-vp,additional)
CDR_DSLOCKWAIT5               # DS lockwait timeout (seconds)
CDR_QUEUEMEM    4096            # Maximum amount of memory for any CDR queue (K)
CDR_NIFCOMPRESS 0               # Link level compression (-1 never, 0 none, 9 m)
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_BSALIB_PATH /usr/tivoli/tsm/client/informix/bin64/bsashr10.o
BAR_ACT_LOG   /informix/bar_act.log # ON-Bar Log file - not in /tmp please
BAR_DEBUG_LOG   /informix/bar_dbug.log
                              # ON-Bar Debug Log - not in /tmp please
BAR_MAX_BACKUP1
BAR_RETRY       1
BAR_NB_XPORT_COUNT 10
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      32            # Number of pages to attempt to read ahead, 2002
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         /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 )

# 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

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

ONDBSPACEDOWN   2               # Dbspace down option: 0 = CONTINUE, 1 = ABORT,T
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 s
                     # 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 Inform
                     # Server. This is used primarily for Informix Server
                     # system statistics collection.

BLOCKTIMEOUT    3600            # Default timeout for system block
SYSALARMPROGRAM /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)

#
# The following are default settings for enabling Java in the database.
# Replace all occurrences of /usr/informix with the value of $INFORMIXDIR.

#VPCLASS      jvp,num=1       # Number of JVPs to start with

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

JVPPROPFILE   /usr/informix/extend/krakatoa/.jvpprops # JVP property 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/extenr
JVPCLASSPATH    /usr/informix/extend/krakatoa/krakatoa.jar:/usr/informix/extendr


$

liaosnet 发表于 2008-05-23 14:05

系统多少内存???用了3.2G内存用于BUFFER应该算不少了呀..


如果没办法加大,可以检查下SQL是否可以优化.....

[ 本帖最后由 liaosnet 于 2008-5-23 14:19 编辑 ]

hanyu 发表于 2008-05-25 17:06

我又划了2G内存,buf 加到了1300000 ,现在io 正常了,奇怪的是 数据库占的总内存数只增加300M左右。

shamutang 发表于 2008-05-27 13:14

mcpdb,哈哈

liaosnet 发表于 2008-05-27 14:10

回复 #8 shamutang 的帖子

看來你跟樓主是做一個産品的..:mrgreen: :mrgreen: :mrgreen:
页: [1]
查看完整版本: 请教:数据库lun每秒200M的读是否正常