Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Informix [игнор отключен] [закрыт для гостей] / Мучают блокировки... / 25 сообщений из 124, страница 1 из 5
26.05.2009, 10:42
    #36007225
Дбашкабрр
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мучают блокировки...
Добрый день уважаемые!

Опишу ситуацию.

Есть две идентичные платформы, с одинаковой архитектурой, почти с одинаковым железом и нагрузкой.
Платформа представляет из себе коммутатор и сервер с БД на базе Informix.
К БД постоянно висят 60 сессий с коммутатора, которые периодически читают данный о клиентах, пишут данные и т.д. Самая большая таблица в БД - CDR :p

Также с БД работают пользователи.

C 1-й платформа все ок. Блокировок нет, все шуршит... все довольны...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
241.
242.
243.
244.
245.
246.
247.
248.
249.
250.
251.
252.
253.
254.
255.
256.
257.
258.
259.
260.
261.
262.
263.
264.
265.
266.
267.
[root@breezzx etc]# cat onconfig
#**************************************************************************
#
#                          INFORMIX SOFTWARE, INC.
#
#  Title:       onconfig.std
#  Description: Informix Dynamic Server Configuration Parameters
#
#**************************************************************************

# Root Dbspace Configuration

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

# Disk Mirroring Configuration Parameters

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

# Physical Log Configuration

PHYSDBS         rootdbs         # Location (dbspace) of physical log
PHYSFILE         32768            # Physical log file size (Kbytes)

# Logical Log Configuration

LOGFILES         8                # Number of logical log files
LOGSIZE          16000            # Logical log size (Kbytes)

# Diagnostics

MSGPATH         /opt/informix/online.log # System message log file path
CONSOLE         /dev/console    # System console message path
ALARMPROGRAM    /opt/informix/etc/log_full.sh # Alarm program path
TBLSPACE_STATS   0                # Maintain tblspace statistics

# System Archive Tape Device

TAPEDEV         /dbs_backup/backup_full # Tape device path
TAPEBLK          16               # Tape block size (Kbytes)
TAPESIZE         8192000          # Maximum amount of data to put on tape (Kbytes)

# Log Archive Tape Device

LTAPEDEV        /dbs_backup/tape1 # Log tape device path
LTAPEBLK         16               # Log tape block size (Kbytes)
LTAPESIZE        2048000          # Max amount of data to put on log tape (Kbytes)

# Optical

STAGEBLOB                       # Informix Dynamic Server staging area

# System Configuration

SERVERNUM        1                # Unique id corresponding to a OnLine instance
DBSERVERNAME    breezzx_soc     # Name of default database server
DBSERVERALIASES breezzx_shm     # 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 )

MULTIPROCESSOR   1                #  0  for single-processor,  1  for multi-processor
NUMCPUVPS        16                # 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            80000            # Maximum number of locks
BUFFERS          125000           # Maximum number of shared buffers
NUMAIOVPS        2                # Number of IO vps
PHYSBUFF         32               # Physical log buffer size (Kbytes)
LOGBUFF          32               # Logical log buffer size (Kbytes)
CLEANERS         8                # Number of buffer cleaner processes
SHMBASE         0x10000000        # Shared memory base address
SHMVIRTSIZE      262144           # 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    6                # LRU percent dirty begin cleaning limit
LRU_MIN_DIRTY    5                # LRU percent dirty end cleaning limit
TXTIMEOUT       0x12c             # Transaction timeout (in sec)
STACKSIZE        256              # Stack size (Kbytes)

# 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           45 
LTXEHWM          54 

# 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     /opt/informix/etc/dr.lostfound # DR lost+found file path

# 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                 # CDR queue smart blob space
CDR_QDATA_SBFLAGS  0                # Log/no-log (default no log)


# 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  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
RA_THRESHOLD     16               # 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     tmp             # 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        0                # 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  100              # Maximum allowed pdqpriority
DS_MAX_QUERIES   8                # Maximum number of decision support queries
DS_TOTAL_MEMORY  1024             # 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,  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 /opt/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 )

#
# 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

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      /lib/i386/

# The JRE libraries to use for the Java VM

JVPJAVAVM       hpi:server:verify: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

NETTYPE         ipcshm,, 250 ,    # Configure poll thread(s) for nettype
NETTYPE         soctcp,, 250 ,    # Configure poll thread(s) for nettype


С 2-й платформой беда... Постоянно висят блокировки, пользователи жалуются на Lock Timeout Exired... Проскакивают Deadlock's...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
241.
242.
243.
244.
245.
246.
247.
248.
249.
250.
251.
252.
253.
254.
255.
256.
257.
258.
259.
260.
261.
262.
263.
264.
265.
266.
267.
268.
269.
270.
271.
272.
273.
274.
275.
276.
277.
278.
279.
280.
281.
282.
283.
284.
285.
[root@newifx etc]# cat onconfig
#**************************************************************************
#
#  Licensed Material - Property Of IBM
#
#  "Restricted Materials of IBM"
#
#  IBM Informix Dynamic Server
#  (c) Copyright IBM Corporation  1996 ,  2004  All rights reserved.
#
#  Title:       onconfig.std
#  Description: IBM Informix Dynamic Server Configuration Parameters
#
#**************************************************************************

# Root Dbspace Configuration

ROOTNAME        rootdbs         # Root dbspace name
ROOTPATH        /opt/dbs/root # Path for device containing root dbspace
ROOTOFFSET       0                # Offset of root dbspace into device (Kbytes)
ROOTSIZE         60000            # 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         rootdbs         # Location (dbspace) of physical log
PHYSFILE         12000            # Physical log file size (Kbytes)

# Logical Log Configuration

LOGFILES         8                # Number of logical log files
LOGSIZE          4000             # Logical log size (Kbytes)

# Diagnostics

MSGPATH         /opt/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
TBLSPACE_STATS   1                # Maintain tblspace statistics

# System Archive Tape Device

TAPEDEV         /dbs_backup/full_backup # Tape device path
TAPEBLK          32               # Tape block size (Kbytes)
TAPESIZE         10240000         # Maximum amount of data to put on tape (Kbytes)

# Log Archive Tape Device

LTAPEDEV        /dbs_backup/tape1       # Log tape device path
LTAPEBLK         32               # Log tape block size (Kbytes)
LTAPESIZE        2000000          # 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    newifx_soc              # Name of default database server
DBSERVERALIASES newifx_shm              # List of alternate dbservernames
#NETTYPE                                # Configure poll thread(s) for nettype
NETTYPE         ipcshm,, 250 ,    # Configure poll thread(s) for nettype
NETTYPE         soctcp,, 250 ,    # 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        4                # 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            100000           # Maximum number of locks
BUFFERS          125000           # Maximum number of shared buffers
NUMAIOVPS        12               # Number of IO vps
PHYSBUFF         32               # Physical log buffer size (Kbytes)
LOGBUFF          32               # Logical log buffer size (Kbytes)
CLEANERS         8                # Number of buffer cleaner processes
#SHMBASE         0x44000000L    # Shared memory base address
#0x20000000      0x20000000
SHMBASE         0x20000000
SHMVIRTSIZE      262144           # 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    6                # LRU percent dirty begin cleaning limit
LRU_MIN_DIRTY    5                # LRU percent dirty end cleaning limit
TXTIMEOUT        300              # Transaction timeout (in sec)
STACKSIZE        256              # Stack size (Kbytes)

# 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           45 
LTXEHWM          54 

# 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     /usr/informix/etc/dr.lostfound  # DR lost+found file path

# 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        # 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  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                        # 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     tmp             # 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 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
# 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 # was  2   17 - 10 - 2008   15 : 24 

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 )

#
# 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

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    /lib/i386/

# The JRE libraries to use for the Java VM

JVPJAVAVM     hpi:server:verify: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

Не могу понять в чем дело. Прикладываю скрин...
Прошу помочь разобраться в ситуации...
...
Рейтинг: 0 / 0
26.05.2009, 10:43
    #36007229
Дбашкабрр
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мучают блокировки...
Вот скан второй платформы...
...
Рейтинг: 0 / 0
26.05.2009, 12:04
    #36007521
Дбашкабрр
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мучают блокировки...
Ситация сложная... блокировок слишком много.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
[root@newifx ~]# onstat -p

IBM Informix Dynamic Server Version  9 . 40 .UC6     -- On-Line -- Up 12:03:38 -- 596928 Kbytes

Profile
dskreads pagreads bufreads %cached dskwrits pagwrits bufwrits %cached
 216577688   228752808   1552201456   86 . 05     47261      116460     304299     84 . 47 

isamtot  open     start    read     write    rewrite  delete   commit   rollbk
 1473765247   1265128    30141039   1406338269   26677      42220      25         22182      1454 

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          11404 . 48   5386 . 57    113        286 

bufwaits lokwaits lockreqs deadlks  dltouts  ckpwaits compress seqscans
 766606     12740      573906292   2500       0          108        6946       26082 

ixda-RA  idx-RA   da-RA    RA-pgsused lchwaits
 4449646    5          5980       4452463      77952 

...
Рейтинг: 0 / 0
26.05.2009, 12:18
    #36007571
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мучают блокировки...
число lokwaits косвенно указывает на возможную проблему, в нормальной системе с транзакциями это число всегда очень велико. Если пользователи не жалуются, значит все в порядке.
...
Рейтинг: 0 / 0
26.05.2009, 12:28
    #36007613
Дбашкабрр
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мучают блокировки...
Журавлев Денисчисло lokwaits косвенно указывает на возможную проблему, в нормальной системе с транзакциями это число всегда очень велико. Если пользователи не жалуются, значит все в порядке.

Я правильно понял, что ожидания блокировок не равно самим блокировкам? Тоесть счетчик, который меня пугает != самим deadlock?
...
Рейтинг: 0 / 0
26.05.2009, 12:28
    #36007617
Daugava
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мучают блокировки...
Если проблемы из-за блокировок, возможно поможет перевод таблиц в row из page locking.
...
Рейтинг: 0 / 0
26.05.2009, 12:32
    #36007638
Дбашкабрр
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мучают блокировки...
Часть таблиц я уже перевел на ROW, часть оставил как изначально было в PAGE.
...
Рейтинг: 0 / 0
26.05.2009, 12:39
    #36007658
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мучают блокировки...
ДбашкабррЯ правильно понял, что ожидания блокировок не равно самим блокировкам? если было ожидание 1 наносекунду, пользователю наверно наплевать?

ДбашкабррТоесть счетчик, который меня пугает != самим deadlock?дидлокс это несколько иное. В документацию.

Вам полезнее смотреть на эту вкладку http://myinformix.narod.ru/scronmlcs.html
...
Рейтинг: 0 / 0
26.05.2009, 12:43
    #36007676
Дбашкабрр
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мучают блокировки...
Журавлев ДенисДбашкабррЯ правильно понял, что ожидания блокировок не равно самим блокировкам? если было ожидание 1 наносекунду, пользователю наверно наплевать?

ДбашкабррТоесть счетчик, который меня пугает != самим deadlock?дидлокс это несколько иное. В документацию.

Вам полезнее смотреть на эту вкладку http://myinformix.narod.ru/scronmlcs.html


За этой картиной я пристально смотрю... и вот что вижу... список уходит далеко в низ :)
...
Рейтинг: 0 / 0
26.05.2009, 12:45
    #36007680
Дбашкабрр
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мучают блокировки...
Код: plaintext
1.
2.
onstat -k
  367  active,  100000  total,  32768  hash buckets,  0  lock table overflows
...
Рейтинг: 0 / 0
26.05.2009, 12:50
    #36007695
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мучают блокировки...
ДбашкабррЗа этой картиной я пристально смотрю... и вот что вижу... список уходит далеко в низ :)интересны только первые пять строк, где есть waiter
...
Рейтинг: 0 / 0
26.05.2009, 12:54
    #36007710
Дбашкабрр
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мучают блокировки...
Журавлев ДенисДбашкабррЗа этой картиной я пристально смотрю... и вот что вижу... список уходит далеко в низ :)интересны только первые пять строк, где есть waiter

Как дальше анализировать полученные данные?
...
Рейтинг: 0 / 0
26.05.2009, 14:22
    #36008009
vasilis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мучают блокировки...
Дбашкабрр
Есть две идентичные платформы, с одинаковой архитектурой, почти с одинаковым железом и нагрузкой.
Платформа представляет из себе коммутатор и сервер с БД на базе Informix.
К БД постоянно висят 60 сессий с коммутатора, которые периодически читают данный о клиентах, пишут данные и т.д. Самая большая таблица в БД - CDR :p
...
C 1-й платформа все ок. Блокировок нет, все шуршит... все довольны...
Прошу помочь разобраться в ситуации...
Настройки сервера все таки существенно отличаются. Почему ?
Базы данных на серверах идентичные по структуре ?
А по объему ?
Я правильно понял, что на обоих серверах включена репликация ? Между собой или на другие сервера ?
Проверяли ли железячные проблемы на втором серваке ? (например, может там в RAID-е диск выпал, может на сетевой карточке большой процент ошибок и повторов и т.п.)
...
Рейтинг: 0 / 0
26.05.2009, 14:37
    #36008046
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мучают блокировки...
Дбашкабрр,

там деревья блокировок получаются, просто не очевидно
Код: plaintext
1.
2.
3.
4.
5.
sid 2460 никого не ждет, а его ждет 
      2455
2491 не ждет, а за него зацепились
 2506
   2367
    2388

т.е. надо посмотреть что делают 2460 и 2491
onstat -g ses 2460
onstat -g ses 2491
или прямо онменеджером
...
Рейтинг: 0 / 0
26.05.2009, 14:47
    #36008072
Дбашкабрр
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мучают блокировки...
vasilisДбашкабрр
Есть две идентичные платформы, с одинаковой архитектурой, почти с одинаковым железом и нагрузкой.
Платформа представляет из себе коммутатор и сервер с БД на базе Informix.
К БД постоянно висят 60 сессий с коммутатора, которые периодически читают данный о клиентах, пишут данные и т.д. Самая большая таблица в БД - CDR :p
...
C 1-й платформа все ок. Блокировок нет, все шуршит... все довольны...
Прошу помочь разобраться в ситуации...

vasilis
Настройки сервера все таки существенно отличаются. Почему ?

На 1-м сервер проблем не наблюдается и конфигурация очень старая.
На 2-м я пытался менять настройки в целях оптимизации...

vasilis
Базы данных на серверах идентичные по структуре ?


Да 1:1.

vasilis
А по объему ?


Нет.
На первом объем БД 7.8 Гб
На втором объем БД 9.6 Гб.

Активных клиентов больше второмом сервер.

vasilis
Я правильно понял, что на обоих серверах включена репликация ? Между собой или на другие сервера ?


Никакой репликации. Сервера в локальной сети.

vasilis
Проверяли ли железячные проблемы на втором серваке ? (например, может там в RAID-е диск выпал, может на сетевой карточке большой процент ошибок и повторов и т.п.)


Да проверял. Linux никаких ошибок не сыпет, все хорошо.
На втором серваке 5-й рейд с 3 дисками.
MegaRAID LD 0 RAID5 138G Version: 515H


На первом просто винты
SCSI device sda: 144410880 512-byte hdwr sectors (73938 MB)
SCSI device sdb: 144410880 512-byte hdwr sectors (73938 MB)
...
Рейтинг: 0 / 0
26.05.2009, 14:49
    #36008076
Дбашкабрр
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мучают блокировки...
Журавлев ДенисДбашкабрр,

там деревья блокировок получаются, просто не очевидно
Код: plaintext
1.
2.
3.
4.
5.
sid 2460 никого не ждет, а его ждет 
      2455
2491 не ждет, а за него зацепились
 2506
   2367
    2388

т.е. надо посмотреть что делают 2460 и 2491
onstat -g ses 2460
onstat -g ses 2491
или прямо онменеджером

Они каждый раз разные... Но поймал одну сессию.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
[root@newifx /]# onstat -g ses  4114 

IBM Informix Dynamic Server Version  9 . 40 .UC6     -- On-Line -- Up 14:49:00 -- 64                                                                              6080 Kbytes

session                                      #RSAM    total      used       dyna                                                                              mic
id       user     tty      pid      hostname threads  memory     memory     expl                                                                              ain
 4114      root     -         4447      newifx    1          188416       186144      off

tid      name     rstcb    flags    curstk   status
 4162      sqlexec  3a8886f0 L-BP---  6912     sleeping(Forever)

Memory pools    count  1 
name         class addr     totalsize freesize #allocfrag #freefrag
 4114          V     36c05020  188416      2272       529          3 

name           free       used           name           free       used
overhead        0            1648            mtmisc          0            120 
scb             0            96              opentable       0            15112 
filetable       0            1976            ru              0            464 
misc            0            152             log             0            2160 
temprec         0            1608            keys            0            160 
ralloc          0            120368          gentcb          0            1256 
ostcb           0            2632            sort            0            56 
sqscb           0            19160           sql             0            40 
rdahead         0            168             hashfiletab     0            280 
osenv           0            1800            sqtcb           0            4256 
fragman         0            12448           udr             0            184 

sqscb info
scb      sqscb    optofc   pdqpriority sqlstats optcompind  directives
32ead698 3e68c018  0          0             0          0             1 

Sess  SQL            Current            Iso Lock       SQL  ISAM F.E.
Id    Stmt type      Database           Lvl Mode       ERR  ERR  Vers Explain                                                                                 
 4114   INSERT         breezz2            CR  Wait        0      0      9 . 03  Off                                                                                     

Stored procedure stack :

   context    proc-counter      opcode     name
   -------------------------------------------------------
   0x32304c08 0x31f81728+0x0008 SQL        breezz2:ufwrite_to_cdr
   0x32304c08 0x31f81728+0x0008 SQL        breezz2:ufwrite_to_cdr

Last parsed SQL statement :
   execute procedure ufWrite_to_CDR ( ? , ? , ? , ? , ? , ? , ? , ? , ? , ?
    , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? ,
    ? , ? , ? , ? , ? , ? , ? , ? , ? , ? ,  0 . 0  ,  0 . 0  , NULL , ? , ? , ? , ? ,
    NULL , ? )

[root@newifx /]#
...
Рейтинг: 0 / 0
26.05.2009, 14:51
    #36008083
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мучают блокировки...
ДбашкабррЗа этой картиной я пристально смотрю... и вот что вижу... список уходит далеко в низ :)
по моему там в левом комбоксе можно выбрать тип, чтобы показывались только эти 5
...
Рейтинг: 0 / 0
26.05.2009, 14:51
    #36008086
Дбашкабрр
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мучают блокировки...
В основном все ждут хранимку, которая пишет в CDR...
...
Рейтинг: 0 / 0
26.05.2009, 14:54
    #36008098
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мучают блокировки...
Дбашкабрр
Они каждый раз разные... Но поймал одну сессию.
4162 sqlexec 3a8886f0 L-BP--- 6912 sleeping(Forever)
буква L, значит что она ждет блокировку, эта сессия нам неинтересна.
Я бы сравнил структуру таблицы accounts, все блокировки на ней.
...
Рейтинг: 0 / 0
26.05.2009, 14:58
    #36008113
Дбашкабрр
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мучают блокировки...
Журавлев ДенисДбашкабрр
Они каждый раз разные... Но поймал одну сессию.
4162 sqlexec 3a8886f0 L-BP--- 6912 sleeping(Forever)
буква L, значит что она ждет блокировку, эта сессия нам неинтересна.
Я бы сравнил структуру таблицы accounts, все блокировки на ней.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
[root@newifx /]# onstat -g ses  4170 

IBM Informix Dynamic Server Version  9 . 40 .UC6     -- On-Line -- Up 14:57:58 -- 64                                                                              6080 Kbytes

session                                      #RSAM    total      used       dyna                                                                              mic
id       user     tty      pid      hostname threads  memory     memory     expl                                                                              ain
 4170      root     -         4383      newifx    1          1347584      1306488     off

tid      name     rstcb    flags    curstk   status
 4218      sqlexec  30e85b78 Y--P---  1536     cond wait(sm_read)

Memory pools    count  1 
name         class addr     totalsize freesize #allocfrag #freefrag
 4170          V     37d6b020  1347584     41096      2658         52 

name           free       used           name           free       used
overhead        0            1648            mtmisc          0            832 
scb             0            96              opentable       0            99440 
filetable       0            9896            ru              0            464 
misc            0            152             log             0            2160 
temprec         0            16200           keys            0            192 
ralloc          0            1000288         gentcb          0            1368 
ostcb           0            2632            sort            0            56 
sqscb           0            82592           sql             0            40 
rdahead         0            168             hashfiletab     0            280 
osenv           0            1800            buft_buffer     0            6416 
sqtcb           0            11752           fragman         0            62864 
udr             0            5152 

sqscb info
scb      sqscb    optofc   pdqpriority sqlstats optcompind  directives
3fb9b7e8 3cbd0018  0          0             0          2             1 

Sess  SQL            Current            Iso Lock       SQL  ISAM F.E.
Id    Stmt type      Database           Lvl Mode       ERR  ERR  Vers Explain                                                                                 
 4170   -              breezz2            CR  Not Wait    0      0      9 . 03  Off                                                                                     

Last parsed SQL statement :
   execute procedure ufWrite_to_CDR ( ? , ? , ? , ? , ? , ? , ? , ? , ? , ?
    , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? ,
    ? , ? , ? , ? , ? , ? , ? , ? , ? , ? ,  0 . 0  ,  0 . 0  , NULL , ? , ? , ? , ? ,
    NULL , ? )

[root@newifx /]#

...
Рейтинг: 0 / 0
26.05.2009, 14:59
    #36008118
Дбашкабрр
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мучают блокировки...
сессии быстро меняются...
попробую чуть позже, когда нагрузка спадет, поймать что нибудь ценное...
...
Рейтинг: 0 / 0
26.05.2009, 15:24
    #36008224
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мучают блокировки...
Дбашкабррсессии быстро меняются...
попробую чуть позже, когда нагрузка спадет, поймать что нибудь ценное...режим журналирования у баз одинаковый?


select name,is_logging,is_buff_log,is_ansi from sysmaster:sysdatabases;
...
Рейтинг: 0 / 0
26.05.2009, 15:40
    #36008293
Daugava
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мучают блокировки...
Дбашкабрр
На втором серваке 5-й рейд с 3 дисками.
MegaRAID LD 0 RAID5 138G Version: 515H

На первом просто винты
SCSI device sda: 144410880 512-byte hdwr sectors (73938 MB)
SCSI device sdb: 144410880 512-byte hdwr sectors (73938 MB)

Вот вам и одна из причин. 5-й рейд - "смерть для БД". Фраза сильная, сказана много лет назад, с тех пор контролеры стали много быстрее, умнее и т.д. Я последний раз проверял ее справедливость лет 6-7 назад на свежем на тот момент оборудовании, для пользователей >10 она оказалась справедливой.
2 простых SCSI диска работют быстрее, чем 3 диска в 5-м рейде.
...
Рейтинг: 0 / 0
26.05.2009, 15:55
    #36008346
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мучают блокировки...
ктстати на первом размер журналов?? 16мб, на втором 4 мб.
onstat -m со второго покажите
...
Рейтинг: 0 / 0
26.05.2009, 15:56
    #36008351
vasilis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мучают блокировки...
DaugavaВот вам и одна из причин. 5-й рейд - "смерть для БД". Фраза сильная, сказана много лет назад, с тех пор контролеры стали много быстрее, умнее и т.д. Я последний раз проверял ее справедливость лет 6-7 назад на свежем на тот момент оборудовании, для пользователей >10 она оказалась справедливой.
2 простых SCSI диска работют быстрее, чем 3 диска в 5-м рейде.
Поддерживаю. Но требует проверки каким-то бенчмарком с использованием конкурентного доступа.
И еще. Приведите для обоих серверов:
onstat -d
onstat -g iof
onstat -p
только за примерно одинаковый промежуток времени (1-2 часа стандартной работы пользователей).
...
Рейтинг: 0 / 0
Форумы / Informix [игнор отключен] [закрыт для гостей] / Мучают блокировки... / 25 сообщений из 124, страница 1 из 5
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]