powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Informix [игнор отключен] [закрыт для гостей] / Мучают блокировки...
124 сообщений из 124, показаны все 5 страниц
Мучают блокировки...
    #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
Мучают блокировки...
    #36007229
Дбашкабрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот скан второй платформы...
...
Рейтинг: 0 / 0
Мучают блокировки...
    #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
Мучают блокировки...
    #36007571
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
число lokwaits косвенно указывает на возможную проблему, в нормальной системе с транзакциями это число всегда очень велико. Если пользователи не жалуются, значит все в порядке.
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36007613
Дбашкабрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Журавлев Денисчисло lokwaits косвенно указывает на возможную проблему, в нормальной системе с транзакциями это число всегда очень велико. Если пользователи не жалуются, значит все в порядке.

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

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

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

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

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


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

Как дальше анализировать полученные данные?
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36008009
vasilis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дбашкабрр
Есть две идентичные платформы, с одинаковой архитектурой, почти с одинаковым железом и нагрузкой.
Платформа представляет из себе коммутатор и сервер с БД на базе Informix.
К БД постоянно висят 60 сессий с коммутатора, которые периодически читают данный о клиентах, пишут данные и т.д. Самая большая таблица в БД - CDR :p
...
C 1-й платформа все ок. Блокировок нет, все шуршит... все довольны...
Прошу помочь разобраться в ситуации...
Настройки сервера все таки существенно отличаются. Почему ?
Базы данных на серверах идентичные по структуре ?
А по объему ?
Я правильно понял, что на обоих серверах включена репликация ? Между собой или на другие сервера ?
Проверяли ли железячные проблемы на втором серваке ? (например, может там в RAID-е диск выпал, может на сетевой карточке большой процент ошибок и повторов и т.п.)
...
Рейтинг: 0 / 0
Мучают блокировки...
    #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
Мучают блокировки...
    #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
Мучают блокировки...
    #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
Мучают блокировки...
    #36008083
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДбашкабррЗа этой картиной я пристально смотрю... и вот что вижу... список уходит далеко в низ :)
по моему там в левом комбоксе можно выбрать тип, чтобы показывались только эти 5
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36008086
Дбашкабрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В основном все ждут хранимку, которая пишет в CDR...
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36008098
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дбашкабрр
Они каждый раз разные... Но поймал одну сессию.
4162 sqlexec 3a8886f0 L-BP--- 6912 sleeping(Forever)
буква L, значит что она ждет блокировку, эта сессия нам неинтересна.
Я бы сравнил структуру таблицы accounts, все блокировки на ней.
...
Рейтинг: 0 / 0
Мучают блокировки...
    #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
Мучают блокировки...
    #36008118
Дбашкабрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
сессии быстро меняются...
попробую чуть позже, когда нагрузка спадет, поймать что нибудь ценное...
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36008224
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дбашкабррсессии быстро меняются...
попробую чуть позже, когда нагрузка спадет, поймать что нибудь ценное...режим журналирования у баз одинаковый?


select name,is_logging,is_buff_log,is_ansi from sysmaster:sysdatabases;
...
Рейтинг: 0 / 0
Мучают блокировки...
    #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
Мучают блокировки...
    #36008346
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ктстати на первом размер журналов?? 16мб, на втором 4 мб.
onstat -m со второго покажите
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36008351
vasilis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DaugavaВот вам и одна из причин. 5-й рейд - "смерть для БД". Фраза сильная, сказана много лет назад, с тех пор контролеры стали много быстрее, умнее и т.д. Я последний раз проверял ее справедливость лет 6-7 назад на свежем на тот момент оборудовании, для пользователей >10 она оказалась справедливой.
2 простых SCSI диска работют быстрее, чем 3 диска в 5-м рейде.
Поддерживаю. Но требует проверки каким-то бенчмарком с использованием конкурентного доступа.
И еще. Приведите для обоих серверов:
onstat -d
onstat -g iof
onstat -p
только за примерно одинаковый промежуток времени (1-2 часа стандартной работы пользователей).
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36008486
Фотография Тан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а статистику одинаково обновляете?
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36009118
Дбашкабрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Журавлев ДенисДбашкабррсессии быстро меняются...
попробую чуть позже, когда нагрузка спадет, поймать что нибудь ценное...режим журналирования у баз одинаковый?


select name,is_logging,is_buff_log,is_ansi from sysmaster:sysdatabases;


1-й
is_logging 1
is_buff_log 0
is_ansi 0

2-й
is_logging 1
is_buff_log 1
is_ansi 0
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36009120
Дбашкабрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Журавлев Денисктстати на первом размер журналов?? 16мб, на втором 4 мб.
onstat -m со второго покажите

Код: 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.
[root@newifx ~]# onstat -m

IBM Informix Dynamic Server Version  9 . 40 .UC6     -- On-Line -- Up 21:21:20 -- 654272 Kbytes

Message Log File: /opt/informix/online.log
 21 : 04 : 52   Fuzzy Checkpoint Completed:  duration was  0  seconds,  199  buffers not flushed,
timestamp: 0xe9a0d033.
 21 : 04 : 52   Checkpoint loguniq  6740 , logpos 0x1031b0, timestamp: 0xe9a0d033

 21 : 04 : 52   Maximum server connections  243 
 21 : 09 : 53   Fuzzy Checkpoint Completed:  duration was  0  seconds,  213  buffers not flushed,
timestamp: 0xe9a1097f.
 21 : 09 : 53   Checkpoint loguniq  6740 , logpos 0x119258, timestamp: 0xe9a1097f

 21 : 09 : 53   Maximum server connections  243 
 21 : 14 : 53   Fuzzy Checkpoint Completed:  duration was  0  seconds,  232  buffers not flushed,
timestamp: 0xe9a1432c.
 21 : 14 : 53   Checkpoint loguniq  6740 , logpos 0x14633c, timestamp: 0xe9a1432c

 21 : 14 : 53   Maximum server connections  243 
 21 : 19 : 53   Fuzzy Checkpoint Completed:  duration was  0  seconds,  244  buffers not flushed,
timestamp: 0xe9a178f0.
 21 : 19 : 53   Checkpoint loguniq  6740 , logpos 0x1513cc, timestamp: 0xe9a178f0

 21 : 19 : 53   Maximum server connections  243 

[root@newifx ~]#

...
Рейтинг: 0 / 0
Мучают блокировки...
    #36009124
Дбашкабрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
Мучают блокировки...
    #36009131
Дбашкабрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vasilisDaugavaВот вам и одна из причин. 5-й рейд - "смерть для БД". Фраза сильная, сказана много лет назад, с тех пор контролеры стали много быстрее, умнее и т.д. Я последний раз проверял ее справедливость лет 6-7 назад на свежем на тот момент оборудовании, для пользователей >10 она оказалась справедливой.
2 простых SCSI диска работют быстрее, чем 3 диска в 5-м рейде.
Поддерживаю. Но требует проверки каким-то бенчмарком с использованием конкурентного доступа.
И еще. Приведите для обоих серверов:
onstat -d
onstat -g iof
onstat -p
только за примерно одинаковый промежуток времени (1-2 часа стандартной работы пользователей).

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.
[root@breezzx root]# onstat -d

IBM Informix Dynamic Server Version  9 . 40 .UC6     -- On-Line -- Up 88 days 08:46:42 -- 636168 Kbytes

Dbspaces
address  number   flags      fchunk   nchunks  flags    owner    name
20bb47d8  1         0x2         1          1         M        informix rootdbs
213a7ad0  2         0x2001      2          1         N T      informix tmp
213a7c20  3         0x1         3          21        N        informix breezz
213a7d70  4         0x12        4          1         M B      informix blob
213a7ec0  7         0x11        7          1         N B      informix blobdbs
213a8018  8         0x1         16         2         N        informix zebra
  6  active,  2047  maximum

Note: For BLOB chunks, the number of free pages shown is out of date.
      Run 'onstat -d update' for current stats.

Chunks
address  chunk/dbs  offset     size       free       bpages     flags pathname
20bb4928  1       1      0            102400       51312                  PO--  /opt/dbs/root
20bb4ab0  1        1     0            102400       0                      MO--  /opt/mir/root
20d0a630  2       2      0            131072       130969                 PO--  /opt/dbs/tmp
20d0a7b8  3       3      0            131072       24                     PO--  /opt2/dbs/breezz
20d0a940  4        4     0            131072     ~ 131072       131072      POB-  /opt/dbs/blob
213a7948  4        4     0            131072       0                      MOB-  /opt/mir/blob
20d0aac8  5       3      0            131072       0                      PO--  /opt2/dbs/breezz01
20d0ac50  6       3      0            132096       0                      PO--  /opt2/dbs/breezz02
20d0add8  7        7     0            125000     ~ 125000       125000      POB-  /opt2/worksp2/blobdbs
20bb4c80  8       3      0            131072       0                      PO--  /opt2/dbs/breezz03
20bb4e08  9       3      0            131072       6                      PO--  /opt2/dbs/breezz04
20cfac30  10      3      0            262144       1                      PO--  /opt2/dbs/breezz05
20cfadb8  11      3      0            131072       2                      PO--  /opt2/dbs/breezz06
213a6018  12      3      0            131072       0                      PO--  /opt2/dbs/breezz07
213a61a0  13      3      0            262144       3                      PO--  /opt2/dbs/breezz08
213a6328  14      3      0            131072       3                      PO--  /opt2/dbs/breezz09
213a64b0  15      3      0            262144       0                      PO--  /opt2/dbs/breezz10
213a6638  16      8      0            65536        64783                  PO--  /opt/dbs/zebra
213a67c0  17      8      0            65536        65533                  PO--  /opt/dbs/zebra1
213a6948  18      3      0            131072       0                      PO--  /opt2/dbs/breezz11
213a6ad0  19      3      0            262144       0                      PO--  /opt2/dbs/breezz12
213a6c58  20      3      0            262144       2                      PO--  /opt2/dbs/breezz13
213a6de0  21      3      0            200000       4                      PO--  /opt2/dbs/breezz14
213a7018  22      3      0            350000       0                      PO--  /opt2/dbs/breezz15
213a71a0  23      3      0            250000       3                      PO--  /opt2/dbs/breezz16
213a7328  24      3      0            200000       7                      PO--  /opt2/dbs/breezz17
213a74b0  25      3      0            1000000      370176                 PO--  /opt2/dbs/breezz18
213a7638  26      3      0            1000000      999997                 PO--  /opt2/dbs/breezz19
213a77c0  27      3      0            1000000      999997                 PO--  /opt2/dbs/breezz20
  27  active,  2047  maximum

Expanded chunk capacity mode: disabled

[root@breezzx root]#

2-й сервер

Код: 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.
[root@newifx ~]# onstat -d

IBM Informix Dynamic Server Version  9 . 40 .UC6     -- On-Line -- Up 21:25:59 -- 654272 Kbytes

Dbspaces
address  number   flags      fchunk   nchunks  flags    owner    name
30d627d8  1         0x1         1          1         N        informix rootdbs
30d62e08  2         0x11        2          1         N B      informix blobdbs
315ff018  3         0x1         3          8         N        informix work
315ff168  4         0x2001      11         1         N T      informix tmp
  4  active,  2047  maximum

Note: For BLOB chunks, the number of free pages shown is out of date.
      Run 'onstat -d update' for current stats.

Chunks
address  chunk/dbs  offset     size       free       bpages     flags pathname
30d62928  1       1      0            30000        5312                   PO--  /opt/dbs/root
30eb8630  2        2     0            1000000    ~ 1000000      1000000     POB-  /opt/dbs/blobdbs
30eb87b8  3       3      0            1000000      2                      PO--  /opt/dbs/work
30eb8940  4       3      0            1000000      6                      PO--  /opt/dbs/work1
30eb8ac8  5       3      0            1000000      7                      PO--  /opt/dbs/work2
30eb8c50  6       3      0            1000000      2                      PO--  /opt/dbs/work3
30eb8dd8  7       3      0            1000000      4395                   PO--  /opt/dbs/work4
30ea8c30  8       3      0            1000000      938521                 PO--  /opt/dbs/work5
30ea8db8  9       3      0            1000000      999997                 PO--  /opt/dbs/work6
30d62af8  10      3      0            1000000      999997                 PO--  /opt/dbs/work7
30d62c80  11      4      0            1000000      999947                 PO--  /opt/dbs/tmp
  11  active,  2047  maximum

Expanded chunk capacity mode: disabled

[root@newifx ~]#


Код: plaintext
1.
2.
3.
сделаю завтра под стандартной нагрузкой...
onstat -g iof
onstat -p 
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36009133
Дбашкабрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тана статистику одинаково обновляете?

По крону каждую субботу таким вот скриптом...

Код: 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.
[root@breezzx root]# cat ifx_stats.sh
#!/bin/bash

. /root/ifxenv

if [ -z "$LISTDBNAME" ]
then
    LISTDBNAME=$DBNAME
fi

ifx_update_statistics () {
    result=`su - informix -c "dbaccess $1 - 2>/dev/null <<EOF
update statistics high;
EOF"`
backcode=$?
}

ifx_testing () {
    result=`su - informix -c "dbaccess $1 - 2>/dev/null <<EOF
select count(*) from accounts;
EOF"`
backcode=$?
}


for n in $LISTDBNAME ; do
    ifx_update_statistics $n
    ifx_testing $n
done

echo `date` - The result of upgate statistics of DB $LISTDBNAME is $backcode >> ifx_stats.log
exit $backcode
[root@breezzx root]#

...
Рейтинг: 0 / 0
Мучают блокировки...
    #36009202
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot Дбашкабрр
ifx_testing () {
result=`su - informix -c "dbaccess $1 - 2>/dev/null <<EOF
select count(*) from accounts;
EOF"`
backcode=$?
}

for n in $LISTDBNAME ; do
ifx_update_statistics $n
ifx_testing $n
done
[/quot]
Несколько отвлечённо: в чём сакраментальная польза от ifx_testing?
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36009260
Дбашкабрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
АнатоЛой[quot Дбашкабрр
ifx_testing () {
result=`su - informix -c "dbaccess $1 - 2>/dev/null <<EOF
select count(*) from accounts;
EOF"`
backcode=$?
}

for n in $LISTDBNAME ; do
ifx_update_statistics $n
ifx_testing $n
done

Несколько отвлечённо: в чём сакраментальная польза от ifx_testing?[/quot]

просто тестовый запросик после апдейта статистики... а-ля is alive :D?
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36009314
Дбашкабрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Решил собрать немного статистики IO...

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.
[root@breezzx root]# bonnie++ -s  1  -u root
Using uid: 0 , gid: 0 .
File size should be double RAM for good results, RAM is 1008M.
[root@breezzx root]# bonnie++ -s  2048  -u root
Using uid: 0 , gid: 0 .
Writing with putc()...done
Writing intelligently...done
Rewriting...done
Reading with getc()...done
Reading intelligently...done
start em...done...done...done...
Create files in sequential order...done.
Stat files in sequential order...done.
Delete files in sequential order...done.
Create files in random order...done.
Stat files in random order...done.
Delete files in random order...done.
Version  1 .03e       ------Sequential Output------ --Sequential Input- --Random-
                    -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
breezzx          2G  34516    96   86469    18   31589     8   27393    78   73297    13   417 . 9     0 
                    ------Sequential Create------ --------Random Create--------
                    -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                  16    5650    99  +++++ +++ +++++ +++   6095   100  +++++ +++  19704    99 
breezzx,2G, 34516 , 96 , 86469 , 18 , 31589 , 8 , 27393 , 78 , 73297 , 13 , 417 . 9 , 0 , 16 , 5650 , 99 ,+++++,+++,+++++,+++, 6095 , 100 ,+++++,+++, 19704 , 99 

2-й сервер

Код: 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.
[root@newifx bonnie++- 1 .03e]# bonnie++ -s  1  -u root
Using uid: 0 , gid: 0 .
File size should be double RAM for good results, RAM is 4048M.
[root@newifx bonnie++- 1 .03e]# bonnie++ -s  8168  -u root
Using uid: 0 , gid: 0 .
Writing with putc()...done
Writing intelligently...done
Rewriting...done
Reading with getc()...done
Reading intelligently...done
start em...done...done...done...
Create files in sequential order...done.
Stat files in sequential order...done.
Delete files in sequential order...done.
Create files in random order...done.
Stat files in random order...done.
Delete files in random order...done.
Version  1 .03e       ------Sequential Output------ --Sequential Input- --Random-
                    -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
newifx        8168M   6974    16    6089     2    3362     0   16498    34   19810     2   296 . 7     1 
                    ------Sequential Create------ --------Random Create--------
                    -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                  16   31109    98  +++++ +++ +++++ +++  31665    99  +++++ +++ +++++ +++
newifx,8168M, 6974 , 16 , 6089 , 2 , 3362 , 0 , 16498 , 34 , 19810 , 2 , 296 . 7 , 1 , 16 , 31109 , 98 ,+++++,+++,+++++,+++, 31665 , 99 ,+++++,+++,+++++,+++
[root@newifx bonnie++- 1 .03e]#

Удивляют данные второго сервера... как то уж очень слабовато для 5-го рейда...
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36009324
Дбашкабрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сделал еще тест...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
[root@newifx ~]# hdparm -tT /dev/sda

/dev/sda:
 Timing cached reads:    3756  MB in   2 . 00  seconds =  1878 . 29  MB/sec
 Timing buffered disk reads:   260  MB in   3 . 02  seconds =   86 . 16  MB/sec

[root@newifx ~]# time dd if=/dev/zero bs=1024k count= 1000  of=/home/1Gb.file
 1000 + 0  records in
 1000 + 0  records out

real    0m3.513s
user    0m0.001s
sys     0m3.053s

...
Рейтинг: 0 / 0
Мучают блокировки...
    #36009351
Дбашкабрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Решил порыть в RAID контроллере... вот результат...

Код: 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.
[root@newifx megarc]# ./megarc -AllAdpInfo


        **********************************************************************
              MEGARC MegaRAID Configuration Utility(LINUX)- 1 . 11 ( 12 - 07 - 2004 )
              By LSI Logic Corp.,USA
        **********************************************************************
          [Note: For SATA- 2 ,  4  and  6  channel controllers, please specify
          Ch= 0  Id= 0 .. 15  for specifying physical drive(Ch=channel, Id=Target)]

        Type ? as command line arg for help

        AdapterNo  FirmwareType  CardType
         00           40LD/8SPAN    MegaRAID SCSI  320 -2E


[root@newifx megarc]# ./megarc -dispCfg -a0


        **********************************************************************
              MEGARC MegaRAID Configuration Utility(LINUX)- 1 . 11 ( 12 - 07 - 2004 )
              By LSI Logic Corp.,USA
        **********************************************************************
          [Note: For SATA- 2 ,  4  and  6  channel controllers, please specify
          Ch= 0  Id= 0 .. 15  for specifying physical drive(Ch=channel, Id=Target)]

        Type ? as command line arg for help


        Finding Devices On Each MegaRAID Adapter...
        Scanning Ha  0 , Chnl  1  Target  15 


        **********************************************************************
              Existing Logical Drive Information
              By LSI Logic Corp.,USA
        **********************************************************************
          [Note: For SATA- 2 ,  4  and  6  channel controllers, please specify
          Ch= 0  Id= 0 .. 15  for specifying physical drive(Ch=channel, Id=Target)]


          Logical Drive :  0 ( Adapter:  0  ):  Status: OPTIMAL
        ---------------------------------------------------
        SpanDepth : 01      RaidLevel:  5   RdAhead : No  Cache: DirectIo
        StripSz   :064KB   Stripes  :  3   WrPolicy: WriteThru

        Logical Drive  0  : SpanLevel_0 Disks
        Chnl  Target  StartBlock   Blocks      Physical Target Status
        ----  ------  ----------   ------      ----------------------
         0        00     0x00000000   0x0878c000   ONLINE
         0        02     0x00000000   0x0878c000   ONLINE
         0        03     0x00000000   0x0878c000   ONLINE


[root@newifx megarc]# ./megarc -LogPhysInfo -a0


        **********************************************************************
              MEGARC MegaRAID Configuration Utility(LINUX)- 1 . 11 ( 12 - 07 - 2004 )
              By LSI Logic Corp.,USA
        **********************************************************************
          [Note: For SATA- 2 ,  4  and  6  channel controllers, please specify
          Ch= 0  Id= 0 .. 15  for specifying physical drive(Ch=channel, Id=Target)]

        Type ? as command line arg for help


        Finding Devices On Each MegaRAID Adapter...
        Scanning Ha  0 , Chnl  1  Target  15 


        Adapter No  0  : Total Logical Drive(s)-  1 

        Logical drive  0 : RaidLevel  5 

        Physical Drive Information
        Channel  0 
                69400MB drive scsi ID  0 
        CoerSZ:  142131200 (Sectors)  69400 (MB)  RawSZ:  143571315 (Sectors)
                69400MB drive scsi ID  2 
        CoerSZ:  142131200 (Sectors)  69400 (MB)  RawSZ:  143374743 (Sectors)
                69400MB drive scsi ID  3 
        CoerSZ:  142131200 (Sectors)  69400 (MB)  RawSZ:  143374743 (Sectors)


[root@newifx megarc]# ./megarc -phys -a0 -chAll -idAll


        **********************************************************************
              MEGARC MegaRAID Configuration Utility(LINUX)- 1 . 11 ( 12 - 07 - 2004 )
              By LSI Logic Corp.,USA
        **********************************************************************
          [Note: For SATA- 2 ,  4  and  6  channel controllers, please specify
          Ch= 0  Id= 0 .. 15  for specifying physical drive(Ch=channel, Id=Target)]

        Type ? as command line arg for help


        Finding Devices On Each MegaRAID Adapter...


        Adapter  0 , Channel  0 , Target ID  0        ----------------------------------------
        Type: DISK                 Vendor      : FUJITSU
        Product: MAP3735NC         Revision    :  5207 
        Synchronous   : Yes        Wide- 32      : No    Wide- 16 : Yes
        LinkCmdSupport: Yes        TagQ support: Yes   RelAddr: No
        Removable     : No         SoftReset   : No    AENC   : No


        Adapter  0 , Channel  0 , Target ID  2        ----------------------------------------
        Type: DISK                 Vendor      : SEAGATE
        Product: ST373207LC        Revision    :  7804 
        Synchronous   : Yes        Wide- 32      : No    Wide- 16 : Yes
        LinkCmdSupport: Yes        TagQ support: Yes   RelAddr: No
        Removable     : No         SoftReset   : No    AENC   : No


        Adapter  0 , Channel  0 , Target ID  3        ----------------------------------------
        Type: DISK                 Vendor      : SEAGATE
        Product: ST373207LC        Revision    :  7804 
        Synchronous   : Yes        Wide- 32      : No    Wide- 16 : Yes
        LinkCmdSupport: Yes        TagQ support: Yes   RelAddr: No
        Removable     : No         SoftReset   : No    AENC   : No


        Adapter  0 , Channel  0 , Target ID  8        ----------------------------------------
        Type: PROC                 Vendor      : SDR
        Product: GEM318P           Revision    :  1 
        Synchronous   : No         Wide- 32      : No    Wide- 16 : No
        LinkCmdSupport: No         TagQ support: No    RelAddr: No
        Removable     : No         SoftReset   : No    AENC   : No


06
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36009580
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дбашкабрр,

Покажите кусок /opt/informix/online.log на тот момент когда была проблема
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36009706
Дбашкабрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Журавлев ДенисДбашкабрр,

Покажите кусок /opt/informix/online.log на тот момент когда была проблема

Вот кусок лога, после того как сервер был перезагружен ночью... с утра пошла нагрузка и он начал кушать оперативку. Больше ничего в логе интересного нет...

Код: 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.
 11 : 07 : 27   Maximum server connections  168 
 11 : 12 : 32   Fuzzy Checkpoint Completed:  duration was  4  seconds,  946  buffers not flushed,
timestamp: 0xe8fba224.
 11 : 12 : 32   Checkpoint loguniq  6724 , logpos 0x7c45cc, timestamp: 0xe8fba224

 11 : 12 : 32   Maximum server connections  179 
 11 : 12 : 38   Logical Log  6724  Complete, timestamp: 0xe8fbb29b.
 11 : 12 : 38   Process exited with return code  127 : /bin/sh /bin/sh -c /usr/informix/etc/alarmprogram.sh  2   23  "Logical Log 6724 Complete, timestamp: 0xe8fbb29b." "
Logical Lo
11:12:41  Logical Log 6724 - Backup Started
11:12:41  Logical Log 6724 - Backup Completed
11:12:41  Process exited with return code 127: /bin/sh /bin/sh -c /usr/informix/etc/alarmprogram.sh 2 18 "Log Backup completed:  6724 ." "Logical Log  6724  - Bac
kup Comple
 11 : 14 : 54   Dynamically allocated new virtual shared memory segment (size 8192KB)
 11 : 17 : 36   Fuzzy Checkpoint Completed:  duration was  3  seconds,  1051  buffers not flushed,
timestamp: 0xe8fdde1b.
 11 : 17 : 36   Checkpoint loguniq  6725 , logpos 0x1b92a4, timestamp: 0xe8fdde1b

 11 : 17 : 36   Maximum server connections  186 
 11 : 18 : 40   Dynamically allocated new virtual shared memory segment (size 8192KB)
 11 : 22 : 39   Fuzzy Checkpoint Completed:  duration was  4  seconds,  1163  buffers not flushed,
timestamp: 0xe8ffe96e.
 11 : 22 : 39   Checkpoint loguniq  6725 , logpos 0x3777e4, timestamp: 0xe8ffe96e

 11 : 22 : 39   Maximum server connections  190 
 11 : 27 : 43   Fuzzy Checkpoint Completed:  duration was  4  seconds,  1261  buffers not flushed,
timestamp: 0xe901eb96.
 11 : 27 : 43   Checkpoint loguniq  6725 , logpos 0x509498, timestamp: 0xe901eb96

 11 : 27 : 43   Maximum server connections  194 
 11 : 32 : 53   Fuzzy Checkpoint Completed:  duration was  9  seconds,  306  buffers not flushed,
timestamp: 0xe903e254.
 11 : 32 : 53   Checkpoint loguniq  6725 , logpos 0x6de75c, timestamp: 0xe903e254

 11 : 32 : 53   Maximum server connections  197 
 11 : 34 : 07   Dynamically allocated new virtual shared memory segment (size 8192KB)
 11 : 35 : 45   Logical Log  6725  Complete, timestamp: 0xe9051b43.
 11 : 35 : 45   Process exited with return code  127 : /bin/sh /bin/sh -c /usr/informix/etc/alarmprogram.sh  2   23  "Logical Log 6725 Complete, timestamp: 0xe9051b43." "
Logical Lo
11:35:48  Logical Log 6725 - Backup Started
11:35:48  Logical Log 6725 - Backup Completed
11:35:48  Process exited with return code 127: /bin/sh /bin/sh -c /usr/informix/etc/alarmprogram.sh 2 18 "Log Backup completed:  6725 ." "Logical Log  6725  - Bac
kup Comple
 11 : 35 : 57   Dynamically allocated new virtual shared memory segment (size 8192KB)
 11 : 36 : 35   Dynamically allocated new virtual shared memory segment (size 8192KB)
 11 : 37 : 58   Fuzzy Checkpoint Completed:  duration was  4  seconds,  688  buffers not flushed,
timestamp: 0xe90611b1.
 11 : 37 : 58   Checkpoint loguniq  6726 , logpos 0x9b210, timestamp: 0xe90611b1

 11 : 37 : 58   Maximum server connections  209 
 11 : 43 : 02   Fuzzy Checkpoint Completed:  duration was  4  seconds,  884  buffers not flushed,
timestamp: 0xe90815fb.
 11 : 43 : 02   Checkpoint loguniq  6726 , logpos 0x27d35c, timestamp: 0xe90815fb

 11 : 43 : 02   Maximum server connections  209 
 11 : 45 : 40   Dynamically allocated new virtual shared memory segment (size 8192KB)
 11 : 48 : 06   Fuzzy Checkpoint Completed:  duration was  4  seconds,  1027  buffers not flushed,
timestamp: 0xe90a4532.
 11 : 48 : 06   Checkpoint loguniq  6726 , logpos 0x409214, timestamp: 0xe90a4532

 11 : 48 : 06   Maximum server connections  213 
 11 : 53 : 14   Fuzzy Checkpoint Completed:  duration was  7  seconds,  503  buffers not flushed,
timestamp: 0xe90c5389.
 11 : 53 : 14   Checkpoint loguniq  6726 , logpos 0x598148, timestamp: 0xe90c5389

 11 : 53 : 14   Maximum server connections  213 
 11 : 58 : 18   Fuzzy Checkpoint Completed:  duration was  4  seconds,  823  buffers not flushed,
timestamp: 0xe90e410d.
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36009813
Дбашкабрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот данные под нагрузкой...

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.
[root@breezzx root]# onstat -p

IBM Informix Dynamic Server Version 9.40.UC6     -- On-Line -- Up 88 days 22:00:53 -- 636168 Kbytes

Profile
dskreads pagreads bufreads %cached dskwrits pagwrits bufwrits %cached
1668610138 2064590023 3923924396 57.48   6800367  47694358 31782989 78.60

isamtot  open     start    read     write    rewrite  delete   commit   rollbk
451383390 11219933 2749948284 2721863413 3251626  8429397  148772   5044700  4

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        1054312.97 23798.68 23271    51242

bufwaits lokwaits lockreqs deadlks  dltouts  ckpwaits compress seqscans
31496014 9        551366754 0        0        3492     81534    38606224

ixda-RA  idx-RA   da-RA    RA-pgsused lchwaits
519241   6919150  1635334516 1642771863 83035991

[root@breezzx root]# onstat -g iof

IBM Informix Dynamic Server Version 9.40.UC6     -- On-Line -- Up 88 days 22:00:56 -- 636168 Kbytes

AIO global files:
gfd pathname         totalops  dskread dskwrite  io/s
  3 /opt/dbs/root      543591   141512   402079   0.1
  4 /opt/mir/root      543541   141462   402079   0.1
  5 /opt/dbs/tmp      2838072  1409533  1428539   0.4
  6 /opt2/dbs/breezz  2659123  2354434   304689   0.3
  7 /opt/dbs/blob       10657    10657        0   0.0
  8 breezz01          3698121  3667303    30818   0.5
  9 breezz02          4880288  4877785     2503   0.6
 10 blobdbs             17422    17422        0   0.0
 11 breezz03          4497538  4496521     1017   0.6
 12 breezz04          4513974  4512312     1662   0.6
 13 breezz05         11079939 11079601      338   1.4
 14 breezz06          4846418  4844295     2123   0.6
 15 breezz07          4788807  4787796     1011   0.6
 16 breezz08          9356273  9344036    12237   1.2
 17 breezz09          4507590  4489331    18259   0.6
 18 breezz10          8952135  8946839     5296   1.2
 19 /opt/dbs/zebra       4539     4539        0   0.0
 20 /opt/dbs/zebra1       116      116        0   0.0
 21 breezz11          5182452  5181948      504   0.7
 22 breezz12          8822834  8811402    11432   1.1
 23 breezz13          9710509  9705155     5354   1.3
 24 breezz14          7121124  7101965    19159   0.9
 25 breezz15         11462978 11359344   103634   1.5
 26 breezz16         10170539 10147582    22957   1.3
 27 breezz17          7271208  7136625   134583   0.9
 28 breezz18         11205263  8726855  2478408   1.5
 29 breezz19              117      117        0   0.0
 30 breezz20              117      117        0   0.0
 31 /opt/mir/blob       11915    11915        0   0.0

[root@breezzx root]#

2-й сервер

Код: 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.
[root@newifx /]# onstat -p

IBM Informix Dynamic Server Version 9.40.UC6     -- On-Line -- Up 1 days 10:40:17 -- 687040 Kbytes

Profile
dskreads pagreads bufreads %cached dskwrits pagwrits bufwrits %cached
845189861 885863483 1340232963 36.94   424535   2935500  3211078  86.78

isamtot  open     start    read     write    rewrite  delete   commit   rollbk
1373289643 4182858  197700579 933545176 101076   158523   32       82106    5313

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        48562.39 19549.04 349      828

bufwaits lokwaits lockreqs deadlks  dltouts  ckpwaits compress seqscans
2974768  50880    2238185434 9040     0        442      241612   90177

ixda-RA  idx-RA   da-RA    RA-pgsused lchwaits
17590389 6        23457    17605050   485250

[root@newifx /]# onstat -g iof

IBM Informix Dynamic Server Version 9.40.UC6     -- On-Line -- Up 1 days 10:40:18 -- 687040 Kbytes

AIO global files:
gfd pathname         totalops  dskread dskwrite  io/s
  3 /opt/dbs/root       33642    20663    12979   0.3
  4 /opt/dbs/blobdbs    48080    48080        0   0.4
  5 /opt/dbs/work      696077   686809     9268   5.6
  6 /opt/dbs/work1   207848364 207847377      987 1666.1
  7 /opt/dbs/work2   236471043 236469984     1059 1895.5
  8 /opt/dbs/work3   187281889 187280334     1555 1501.2
  9 /opt/dbs/work4   201300384 201227911    72473 1613.6
 10 /opt/dbs/work5     120378   119829      549   1.0
 11 /opt/dbs/work6          4        4        0   0.0
 12 /opt/dbs/work7          4        4        0   0.0
 13 /opt/dbs/tmp       562353   291264   271089   4.5

[root@newifx /]#
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36009878
onstat-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДбашкабррЖуравлев ДенисДбашкабрр,

Покажите кусок /opt/informix/online.log на тот момент когда была проблема

Вот кусок лога, после того как сервер был перезагружен ночью... с утра пошла нагрузка и он начал кушать оперативку. Больше ничего в логе интересного нет...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
 11 : 18 : 40   Dynamically allocated new virtual shared memory segment (size 8192KB)

 11 : 34 : 07   Dynamically allocated new virtual shared memory segment (size 8192KB)

 11 : 35 : 57   Dynamically allocated new virtual shared memory segment (size 8192KB)
 11 : 36 : 35   Dynamically allocated new virtual shared memory segment (size 8192KB)
 11 : 45 : 40   Dynamically allocated new virtual shared memory segment (size 8192KB)



Интересуют следующие вещи :

Разница в нагрузке на temp dbs между серверами большая?
Почему по разному сконфигурирован PDQ ?
Чанки лежат в файлах или на raw (выложите ls -al всех чанков).
Насколько активный paging в ОС ?

Какая система OLTP или DSS ?
На втором серевере у Вас похоже много фулсканов, это так и должно быть?
Статистику после перевода уровня блокировок со страниц на строки собирали?
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36009889
vasilis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДбашкабррВот данные под нагрузкой...
1-й сервер...

Вы статистику сбросили ? Нам не нужны данные за много дней, я просил за 1-2 часа...
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36009893
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДбашкабррЖуравлев ДенисДбашкабрр,

Покажите кусок /opt/informix/online.log на тот момент когда была проблема

Вот кусок лога, после того как сервер был перезагружен ночью... с утра пошла нагрузка и он начал кушать оперативку. Больше ничего в логе интересного нет...

И с первого сервера покажите кусок во время напряженной работы. Блокировки постоянно идут или каждые 5 минут?
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36009899
Дбашкабрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vasilisДбашкабррВот данные под нагрузкой...
1-й сервер...

Вы статистику сбросили ? Нам не нужны данные за много дней, я просил за 1-2 часа...

Сбросил. Сейчас соберу.
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36009921
Дбашкабрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
onstat-ДбашкабррЖуравлев ДенисДбашкабрр,

Покажите кусок /opt/informix/online.log на тот момент когда была проблема

Вот кусок лога, после того как сервер был перезагружен ночью... с утра пошла нагрузка и он начал кушать оперативку. Больше ничего в логе интересного нет...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
 11 : 18 : 40   Dynamically allocated new virtual shared memory segment (size 8192KB)

 11 : 34 : 07   Dynamically allocated new virtual shared memory segment (size 8192KB)

 11 : 35 : 57   Dynamically allocated new virtual shared memory segment (size 8192KB)
 11 : 36 : 35   Dynamically allocated new virtual shared memory segment (size 8192KB)
 11 : 45 : 40   Dynamically allocated new virtual shared memory segment (size 8192KB)



Интересуют следующие вещи :

Разница в нагрузке на temp dbs между серверами большая?
Почему по разному сконфигурирован PDQ ?
Чанки лежат в файлах или на raw (выложите ls -al всех чанков).
Насколько активный paging в ОС ?

Какая система OLTP или DSS ?
На втором серевере у Вас похоже много фулсканов, это так и должно быть?
Статистику после перевода уровня блокировок со страниц на строки собирали?

Практически temp dbs не используется... я думаю это архитектура ПО.
Наследство... =)
Чанки лежат в файлах.

1-й сервер:
Mem: 1033108K av, 1019904K used, 13204K free, 0K shrd, 21872K buff
Swap: 2040244K av, 633448K used, 1406796K free 811508K cached
2-й сервер:
Mem: 4146848k total, 4130212k used, 16636k free, 22724k buffers
Swap: 2031608k total, 144k used, 2031464k free, 3677576k cached

Система OLTP.
По поводу фуллсканов... затрудняюсь ответить...
Статистику после перевода не собирал!
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36009987
Дбашкабрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Журавлев ДенисДбашкабррЖуравлев ДенисДбашкабрр,

Покажите кусок /opt/informix/online.log на тот момент когда была проблема

Вот кусок лога, после того как сервер был перезагружен ночью... с утра пошла нагрузка и он начал кушать оперативку. Больше ничего в логе интересного нет...

И с первого сервера покажите кусок во время напряженной работы. Блокировки постоянно идут или каждые 5 минут?

вот с первого кусок лога под нагрузкой...

Код: 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.
[root@breezzx root]# onstat -m

IBM Informix Dynamic Server Version  9 . 40 .UC6     -- On-Line -- Up 88 days 22:41:06 -- 636168 Kbytes

Message Log File: /opt/informix/online.log
 11 : 00 : 30   Fuzzy Checkpoint Completed:  duration was  1  seconds,  774  buffers not flushed,
timestamp: 0x34a38188.
 11 : 00 : 30   Checkpoint loguniq  8024 , logpos 0xa134f8, timestamp: 0x34a38188

 11 : 00 : 30   Maximum server connections  131 
 11 : 05 : 31   Fuzzy Checkpoint Completed:  duration was  1  seconds,  807  buffers not flushed,
timestamp: 0x34a62fff.
 11 : 05 : 31   Checkpoint loguniq  8024 , logpos 0xaf3684, timestamp: 0x34a62fff

 11 : 05 : 31   Maximum server connections  131 
 11 : 10 : 32   Fuzzy Checkpoint Completed:  duration was  1  seconds,  840  buffers not flushed,
timestamp: 0x34a8a793.
 11 : 10 : 32   Checkpoint loguniq  8024 , logpos 0xc1f02c, timestamp: 0x34a8a793

 11 : 10 : 32   Maximum server connections  131 
 11 : 15 : 33   Fuzzy Checkpoint Completed:  duration was  1  seconds,  863  buffers not flushed,
timestamp: 0x34ab4296.
 11 : 15 : 33   Checkpoint loguniq  8024 , logpos 0xcf5140, timestamp: 0x34ab4296

 11 : 15 : 33   Maximum server connections  131 

[root@breezzx root]#


На первом сервере практически нет блокировок ... В основном SHARED успеваю засечь.
На втором постоянно блокировки держаться... IX,X,U... Собираются в кучку и появляются Waiter(sid).
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36010004
Дбашкабрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Журавлев ДенисДбашкабррЖуравлев ДенисДбашкабрр,

Покажите кусок /opt/informix/online.log на тот момент когда была проблема

Вот кусок лога, после того как сервер был перезагружен ночью... с утра пошла нагрузка и он начал кушать оперативку. Больше ничего в логе интересного нет...

И с первого сервера покажите кусок во время напряженной работы. Блокировки постоянно идут или каждые 5 минут?

Вот картина которую я вижу постоянно в нагрузку... Меняются сессии только.
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36010040
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дбашкабрр,
а покажите
sar -d 30
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36010080
Дбашкабрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Журавлев ДенисДбашкабрр,
а покажите
sar -d 30

Код: plaintext
1.
2.
[root@newifx /]# sar -d  30 
-bash: sar: command not found
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36010110
Дбашкабрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Журавлев ДенисДбашкабрр,
а покажите
sar -d 30

Код: 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.
[root@newifx rpm]# ls | grep sysst
sysstat- 5 . 0 . 5 - 11 .rhel4.i386.rpm
[root@newifx rpm]# rpm -i sysstat- 5 . 0 . 5 - 11 .rhel4.i386.rpm
warning: sysstat- 5 . 0 . 5 - 11 .rhel4.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e
[root@newifx rpm]# cd /
[root@newifx /]# sar -d  30 
Linux  2 . 6 . 9 - 42 .ELsmp (newifx)    05 / 27 / 2009 

 11 : 50 : 35  AM       DEV       tps  rd_sec/s  wr_sec/s
 11 : 51 : 05  AM    dev1- 0        0 . 00        0 . 00        0 . 00 
 11 : 51 : 05  AM    dev1- 1        0 . 00        0 . 00        0 . 00 
 11 : 51 : 05  AM    dev1- 2        0 . 00        0 . 00        0 . 00 
 11 : 51 : 05  AM    dev1- 3        0 . 00        0 . 00        0 . 00 
 11 : 51 : 05  AM    dev1- 4        0 . 00        0 . 00        0 . 00 
 11 : 51 : 05  AM    dev1- 5        0 . 00        0 . 00        0 . 00 
 11 : 51 : 05  AM    dev1- 6        0 . 00        0 . 00        0 . 00 
 11 : 51 : 05  AM    dev1- 7        0 . 00        0 . 00        0 . 00 
 11 : 51 : 05  AM    dev1- 8        0 . 00        0 . 00        0 . 00 
 11 : 51 : 05  AM    dev1- 9        0 . 00        0 . 00        0 . 00 
 11 : 51 : 05  AM   dev1- 10        0 . 00        0 . 00        0 . 00 
 11 : 51 : 05  AM   dev1- 11        0 . 00        0 . 00        0 . 00 
 11 : 51 : 05  AM   dev1- 12        0 . 00        0 . 00        0 . 00 
 11 : 51 : 05  AM   dev1- 13        0 . 00        0 . 00        0 . 00 
 11 : 51 : 05  AM   dev1- 14        0 . 00        0 . 00        0 . 00 
 11 : 51 : 05  AM   dev1- 15        0 . 00        0 . 00        0 . 00 
 11 : 51 : 05  AM   dev22- 0        0 . 00        0 . 00        0 . 00 
 11 : 51 : 05  AM    dev8- 0       34 . 66        1 . 88      923 . 70 
 11 : 51 : 05  AM  dev253- 0      115 . 70        1 . 88      923 . 70 
 11 : 51 : 05  AM  dev253- 1        0 . 00        0 . 00        0 . 00 
 11 : 51 : 05  AM    dev2- 0        0 . 00        0 . 00        0 . 00 
 11 : 51 : 05  AM    dev9- 0        0 . 00        0 . 00        0 . 00 

Average:          DEV       tps  rd_sec/s  wr_sec/s
Average:       dev1- 0        0 . 00        0 . 00        0 . 00 
Average:       dev1- 1        0 . 00        0 . 00        0 . 00 
Average:       dev1- 2        0 . 00        0 . 00        0 . 00 
Average:       dev1- 3        0 . 00        0 . 00        0 . 00 
Average:       dev1- 4        0 . 00        0 . 00        0 . 00 
Average:       dev1- 5        0 . 00        0 . 00        0 . 00 
Average:       dev1- 6        0 . 00        0 . 00        0 . 00 
Average:       dev1- 7        0 . 00        0 . 00        0 . 00 
Average:       dev1- 8        0 . 00        0 . 00        0 . 00 
Average:       dev1- 9        0 . 00        0 . 00        0 . 00 
Average:      dev1- 10        0 . 00        0 . 00        0 . 00 
Average:      dev1- 11        0 . 00        0 . 00        0 . 00 
Average:      dev1- 12        0 . 00        0 . 00        0 . 00 
Average:      dev1- 13        0 . 00        0 . 00        0 . 00 
Average:      dev1- 14        0 . 00        0 . 00        0 . 00 
Average:      dev1- 15        0 . 00        0 . 00        0 . 00 
Average:      dev22- 0        0 . 00        0 . 00        0 . 00 
Average:       dev8- 0       34 . 66        1 . 88      923 . 70 
Average:     dev253- 0      115 . 70        1 . 88      923 . 70 
Average:     dev253- 1        0 . 00        0 . 00        0 . 00 
Average:       dev2- 0        0 . 00        0 . 00        0 . 00 
Average:       dev9- 0        0 . 00        0 . 00        0 . 00 
[root@newifx /]#
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36010127
Дбашкабрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Статистика...

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.
[root@breezzx root]# onstat -p

IBM Informix Dynamic Server Version  9 . 40 .UC6     -- On-Line -- Up 88 days 23:17:58 -- 636168 Kbytes

Profile
dskreads pagreads bufreads %cached dskwrits pagwrits bufwrits %cached
 597        4087       633414214   100 . 00    9159       16761      51576      82 . 24 

isamtot  open     start    read     write    rewrite  delete   commit   rollbk
 472382202   14856      37465636   395886492   5290       16325      0          9130       0 

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          1952 . 95    13 . 59      12         23 

bufwaits lokwaits lockreqs deadlks  dltouts  ckpwaits compress seqscans
 8          0          635215     0          0          12         123        73969 

ixda-RA  idx-RA   da-RA    RA-pgsused lchwaits
 34         0          0          34           205118 

[root@breezzx root]# onstat -g iof

IBM Informix Dynamic Server Version  9 . 40 .UC6     -- On-Line -- Up 88 days 23:18:01 -- 636168 Kbytes

AIO global files:
gfd pathname         totalops  dskread dskwrite  io/s
   3  /opt/dbs/root         1113        508        605     0 . 3 
   4  /opt/mir/root          614          9        605     0 . 2 
   5  /opt/dbs/tmp             7          0          7     0 . 0 
   6  /opt2/dbs/breezz       622         38        584     0 . 2 
   7  /opt/dbs/blob            0          0          0     0 . 0 
   8  breezz01                51          3         48     0 . 0 
   9  breezz02                10          7          3     0 . 0 
  10  blobdbs                  0          0          0     0 . 0 
  11  breezz03                 2          1          1     0 . 0 
  12  breezz04                 1          0          1     0 . 0 
  13  breezz05                 1          1          0     0 . 0 
  14  breezz06                 1          0          1     0 . 0 
  15  breezz07                 2          2          0     0 . 0 
  16  breezz08                17          4         13     0 . 0 
  17  breezz09                47          0         47     0 . 0 
  18  breezz10                13          5          8     0 . 0 
  19  /opt/dbs/zebra           0          0          0     0 . 0 
  20  /opt/dbs/zebra1          0          0          0     0 . 0 
  21  breezz11                 0          0          0     0 . 0 
  22  breezz12                28          3         25     0 . 0 
  23  breezz13                 4          3          1     0 . 0 
  24  breezz14                29          2         27     0 . 0 
  25  breezz15                84          3         81     0 . 0 
  26  breezz16                14          4         10     0 . 0 
  27  breezz17                40          0         40     0 . 0 
  28  breezz18              4370          4       4366     1 . 3 
  29  breezz19                 0          0          0     0 . 0 
  30  breezz20                 0          0          0     0 . 0 
  31  /opt/mir/blob            0          0          0     0 . 0 

[root@breezzx root]#

2-сервер:

Код: 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.
[root@newifx /]# onstat -p

IBM Informix Dynamic Server Version  9 . 40 .UC6     -- On-Line -- Up 1 days 11:57:06 -- 695232 Kbytes

Profile
dskreads pagreads bufreads %cached dskwrits pagwrits bufwrits %cached
 69098647   71964077   554046800   87 . 53     61346      482665     488571     87 . 44 

isamtot  open     start    read     write    rewrite  delete   commit   rollbk
 541863297   495220     17424742   503172168   9546       15617      5          7768       919 

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          4434 . 65    1565 . 63    11         22 

bufwaits lokwaits lockreqs deadlks  dltouts  ckpwaits compress seqscans
 243033     7524       179081936   1533       0          59         42124      9559 

ixda-RA  idx-RA   da-RA    RA-pgsused lchwaits
 1427616    0          2606       1429461      77498 

[root@newifx /]# onstat -g iof

IBM Informix Dynamic Server Version  9 . 40 .UC6     -- On-Line -- Up 1 days 11:57:07 -- 695232 Kbytes

AIO global files:
gfd pathname         totalops  dskread dskwrite  io/s
   3  /opt/dbs/root         2623       1270       1353     0 . 8 
   4  /opt/dbs/blobdbs         0          0          0     0 . 0 
   5  /opt/dbs/work        59147      58360        787    17 . 5 
   6  /opt/dbs/work1    16527440   16527365         75   4879 . 7 
   7  /opt/dbs/work2    18818860   18818798         62   5556 . 2 
   8  /opt/dbs/work3    15160303   15160185        118   4476 . 0 
   9  /opt/dbs/work4    17595679   17589582       6097   5195 . 1 
  10  /opt/dbs/work5       54851      54810         41    16 . 2 
  11  /opt/dbs/work6           0          0          0     0 . 0 
  12  /opt/dbs/work7           0          0          0     0 . 0 
  13  /opt/dbs/tmp         96467      49717      46750    28 . 5 

[root@newifx /]#
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36010141
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДбашкабррЖуравлев ДенисДбашкабрр,
а покажите
sar -d 30

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
[root@newifx rpm]# ls | grep sysst
sysstat- 5 . 0 . 5 - 11 .rhel4.i386.rpm
[root@newifx rpm]# rpm -i sysstat- 5 . 0 . 5 - 11 .rhel4.i386.rpm
warning: sysstat- 5 . 0 . 5 - 11 .rhel4.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e
[root@newifx rpm]# cd /
[root@newifx /]# sar -d  30 
Linux  2 . 6 . 9 - 42 .ELsmp (newifx)    05 / 27 / 2009 
Интересны столбцы которых нет точнее await

у меня sysstat-isag-8.0.4-31.1 sysstat-8.0.4-31.1 и там в два раза больше столбцов
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36010148
Дбашкабрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Журавлев ДенисДбашкабррЖуравлев ДенисДбашкабрр,
а покажите
sar -d 30

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
[root@newifx rpm]# ls | grep sysst
sysstat- 5 . 0 . 5 - 11 .rhel4.i386.rpm
[root@newifx rpm]# rpm -i sysstat- 5 . 0 . 5 - 11 .rhel4.i386.rpm
warning: sysstat- 5 . 0 . 5 - 11 .rhel4.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e
[root@newifx rpm]# cd /
[root@newifx /]# sar -d  30 
Linux  2 . 6 . 9 - 42 .ELsmp (newifx)    05 / 27 / 2009 
Интересны столбцы которых нет точнее await

у меня sysstat-isag-8.0.4-31.1 sysstat-8.0.4-31.1 и там в два раза больше столбцов

У меня ощущение, что если я попробую поставить версию посвежее... то это потянет еще паровоз dependences.
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36010172
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
4 и 9-ти секундные чекпоинты намекают на проблему с диском. С другой стороны диск может быть загружен роллбеками.

покажите dbschema -d база -t accounts с первого и со второго серверов.
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36010209
Дбашкабрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Журавлев Денис4 и 9-ти секундные чекпоинты намекают на проблему с диском. С другой стороны диск может быть загружен роллбеками.

покажите dbschema -d база -t accounts с первого и со второго серверов.


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.
268.
269.
270.
271.
272.
273.
274.
275.
276.
277.
278.
279.
280.
281.
282.
283.
284.
285.
286.
287.
288.
289.
290.
291.
292.
293.
294.
295.
296.
297.
298.
299.
300.
301.
302.
303.
304.
305.
306.
307.
308.
309.
310.
311.
312.
313.
314.
315.
316.
317.
318.
319.
320.
321.
322.
323.
324.
325.
326.
327.
328.
329.
330.
331.
332.
333.
334.
335.
336.
337.
338.
339.
340.
341.
342.
343.
344.
345.
346.
347.
348.
349.
350.
351.
352.
353.
354.
355.
356.
357.
358.
359.
360.
361.
362.
363.
364.
365.
366.
367.
368.
369.
370.
371.
372.
373.
374.
375.
376.
377.
378.
379.
380.
381.
382.
383.
384.
385.
386.
387.
388.
389.
390.
391.
392.
393.
394.
395.
396.
397.
398.
399.
400.
401.
402.
403.
404.
405.
406.
407.
408.
409.
410.
411.
412.
413.
414.
415.
416.
417.
418.
419.
420.
421.
422.
423.
424.
425.
426.
427.
428.
429.
430.
431.
432.
433.
434.
435.
436.
437.
438.
439.
440.
441.
442.
443.
444.
445.
446.
447.
448.
449.
450.
451.
452.
453.
454.
[root@breezzx root]# dbschema -d breezz1 -t accounts

{ TABLE "informix".accounts row size =  416  number of columns =  52  index size =  123 
              }
create table "informix".accounts
  (
    fiaccount_id serial not null ,
    ficust_id integer,
    fibatch_id integer,
    fiprovider_id integer not null ,
    fitq_plan_id integer,
    fiagent_id integer,
    fscontrol char( 20 )
        default '' not null ,
    fsoldcontrol char( 20 )
        default '' not null ,
    fswebword char( 20 ),
    fswebshadow char( 22 ),
    fswebreply char( 4 ),
    fiwebsecurity smallint
        default  1 ,
    fipay_t_id integer,
    ficrcy_id integer,
    fxbalance decimal( 16 , 2 )
        default  0 . 00  not null ,
    fabal_dttm datetime year to second,
    fxcriticalblce decimal( 16 , 2 ),
    fxmonthtraffic decimal( 16 , 2 ),
    fxdaytraffic decimal( 16 , 2 ),
    fxmonthkbytes decimal( 16 , 3 ),
    fafirstcdr datetime year to second,
    falastcdr datetime year to second,
    fxprovbalance decimal( 16 , 2 ),
    faprovbal_dttm datetime year to second,
    fiacct_type_id integer
        default  100  not null ,
    fxodraft_lim decimal( 16 , 2 )
        default  0 . 00  not null ,
    fxodraft_fee decimal( 16 , 2 )
        default  0 . 00  not null ,
    fdstart_date date,
    fdclose_date date,
    fdexp_date date,
    fiacc_life_days integer,
    fdlast_recharge date,
    fdlast_payment date,
    fiacct_stat_id integer
        default  200  not null ,
    fxmin_traf_month decimal( 16 , 2 )
        default  0 . 00  not null ,
    fxmax_traf_daily decimal( 16 , 2 )
        default  0 . 00  not null ,
    fxmax_traf_month decimal( 16 , 2 ),
    fxmax_rech_month decimal( 16 , 2 )
        default  0 . 00  not null ,
    fxdiscount decimal( 16 , 2 )
        default  0 . 00 ,
    fxcreditlimit decimal( 16 , 2 )
        default  0 . 00 ,
    fxsubscript_fee decimal( 16 , 2 ),
    fidelv_id integer,
    fiserv_class_id integer
        default  100 ,
    filang_voice integer
        default  1  not null ,
    finum_style_id integer
        default  1 ,
    ficdrsecurity smallint,
    fivmail_setup_id integer,
    fiacct_postpaid smallint
        default  0  not null ,
    fxsec_deposit decimal( 16 , 2 )
        default  0 . 00  not null ,
    fiaccmaster integer,
    fxautorecharge decimal( 16 , 2 ),
    fsaccdesc char( 50 )
  );
revoke all on "informix".accounts from "public";



create index "informix".ix_acc_accmast on "informix".accounts
    (fiaccmaster) using btree ;
create unique index "informix".ix_acc_control on "informix".accounts
    (fscontrol,fiprovider_id) using btree ;
create index "informix".ix_acc_control_up on "informix".accounts
    ("informix".upper_my(fscontrol)) using btree ;
create index "informix".ix_acc_fcdr on "informix".accounts (fafirstcdr)
    using btree ;
create index "informix".ix_acc_rech on "informix".accounts (ficust_id,
    fdlast_recharge) using btree ;
create index "informix".ix_acc_startd on "informix".accounts (fdstart_date)
    using btree ;
create index "informix".ix_account_exp on "informix".accounts
    (fdexp_date) using btree ;
create unique index "informix".ix_accounts1 on "informix".accounts
    (fiaccount_id) using btree ;
alter table "informix".accounts add constraint primary key (fiaccount_id)
    constraint "informix".ct_accounts2  ;
alter table "informix".accounts add constraint (foreign key (ficust_id)
    references "informix".customers  constraint "informix".fk_accounts1);


alter table "informix".accounts add constraint (foreign key (fibatch_id)
    references "informix".batches  constraint "informix".fk_acc_batch);


alter table "informix".accounts add constraint (foreign key (fiprovider_id)
    references "informix".providers  constraint "informix".fk_accounts3);



create trigger "informix".ih_accounts insert on "informix".accounts
    referencing new as post
    for each row
        (
        execute procedure "informix".ufwriterechist('insert' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,' ' ,' ' ,' ' ,' ' ));

create trigger "informix".dh_accounts delete on "informix".accounts
    referencing old as pre
    for each row
        (
        delete from "informix".phone_alias  where (fiaccount_id
    = pre.fiaccount_id ) ),
        (
        execute procedure "informix".ufwriterechist('delete' ,
    'accounts' ,pre.fiaccount_id ,pre.fscontrol ,' ' ,' ' ,' ' ,' ' ));

create trigger "informix".uh_accounts update of fiacct_type_id,
    fidelv_id on "informix".accounts referencing old as pre new
    as post
    for each row
        (
        { generic }
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,' ' ,' ' ,' ' ,' ' ));

create trigger "informix".uh_acc_cust_id update of ficust_id
    on "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fiCust_id' ,'Номер клиента'
     ,pre.ficust_id ,post.ficust_id ));

create trigger "informix".uh_acc_batch_id update of fibatch_id
    on "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fiBatch_id' ,'Системный номер партии карт'
     ,pre.fibatch_id ,post.fibatch_id ));

create trigger "informix".uh_acc_prov update of fiprovider_id
    on "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufupdacc_prov('update' ,post.fiaccount_id
    ,pre.fiprovider_id ,post.fiprovider_id )),
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fiProvider_id' ,'Провайдер'
     ,pre.fiprovider_id ,post.fiprovider_id ));

create trigger "informix".uh_acc_tplan update of fitq_plan_id
    on "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufupdacc_tplan('update' ,
    post.fiaccount_id ,pre.fitq_plan_id ,post.fitq_plan_id )),
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fiTq_plan_id' ,'Тарифный план'
     ,pre.fitq_plan_id ,post.fitq_plan_id ));

create trigger "informix".uh_acc_agent_id update of fiagent_id
    on "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fiAgent_id' ,'Агент'
     ,pre.fiagent_id ,post.fiagent_id ));

create trigger "informix".uh_acc_control update of fscontrol
    on "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fsControl' ,'Контрольный идентификатор счета'
     ,pre.fscontrol ,post.fscontrol ));

create trigger "informix".uh_acc_oldctrl update of fsoldcontrol
    on "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fsOldControl' ,'Контрольный идентификатор счета (старый вариант)'
     ,pre.fsoldcontrol ,post.fsoldcontrol ));

create trigger "informix".uh_acc_wwd update of fswebword on "informix"
    .accounts referencing old as pre new as post
    for each row
        when ((((pre.fswebword != post.fswebword ) OR ((pre.fswebword
    IS NULL ) AND (post.fswebword IS NOT NULL ) ) ) OR ((pre.fswebword
    IS NOT NULL ) AND (post.fswebword IS NULL ) ) ) )
            (
            execute procedure "informix".ufwriterechist('update'
     ,'accounts' ,post.fiaccount_id ,post.fscontrol ,'fsWebWord' ,'Пароль для Web'
     ,'xxxxxxxx' ,'xxxxxxxxxx' ));

create trigger "informix".uh_acc_wrp update of fswebreply on
    "informix".accounts referencing old as pre new as post
    for each row
        when ((((pre.fswebreply != post.fswebreply ) OR ((pre.fswebreply
    IS NULL ) AND (post.fswebreply IS NOT NULL ) ) ) OR ((pre.fswebreply
    IS NOT NULL ) AND (post.fswebreply IS NULL ) ) ) )
            (
            execute procedure "informix".ufwriterechist('update'
     ,'accounts' ,post.fiaccount_id ,post.fscontrol ,'fsWebReply' ,'Отзыв для Web'
     ,'xxxxxxxx' ,'xxxxxxxxxx' ));

create trigger "informix".uh_acc_websecur update of fiwebsecurity
    on "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fiWebSecurity' ,'Web изоляция счета: 0 - нет, 1 - да.'
     ,pre.fiwebsecurity ,post.fiwebsecurity ));

create trigger "informix".uh_acc_pay_type update of fipay_t_id
    on "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fiPay_t_id' ,'Тип оплаты'
     ,pre.fipay_t_id ,post.fipay_t_id ));

create trigger "informix".uh_acc_crcy update of ficrcy_id on
    "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fiCrcy_id' ,'Валюта'
     ,pre.ficrcy_id ,post.ficrcy_id ));

create trigger "informix".uh_acc_crit_bal update of fxcriticalblce
    on "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fxCriticalBlce' ,'Критическая величина остатка на счете'
     ,pre.fxcriticalblce ,post.fxcriticalblce ));

create trigger "informix".uh_acc_odraftlim update of fxodraft_lim
    on "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fxODraft_lim' ,'Лимит овердрафта'
     ,pre.fxodraft_lim ,post.fxodraft_lim ));

create trigger "informix".uh_acc_odraftfee update of fxodraft_fee
    on "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fxODraft_fee' ,'Пеня за овердрафт'
     ,pre.fxodraft_fee ,post.fxodraft_fee ));

create trigger "informix".uh_acc_start_dt update of fdstart_date
    on "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fdStart_date' ,'Дата открытия счета'
     ,pre.fdstart_date ,post.fdstart_date ));

create trigger "informix".uh_acc_close_dt update of fdclose_date
    on "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fdClose_date' ,'Дата фактического закрытия счета'
     ,pre.fdclose_date ,post.fdclose_date ));

create trigger "informix".uh_acc_exp_dt update of fdexp_date
    on "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fdExp_date' ,'Предписанная дата закрытия счета'
     ,pre.fdexp_date ,post.fdexp_date ));

create trigger "informix".uh_acc_lifedays update of fiacc_life_days
    on "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fiAcc_life_days' ,'Максимальное время жизни счета в днях'
     ,pre.fiacc_life_days ,post.fiacc_life_days ));

create trigger "informix".uh_acc_stat update of fiacct_stat_id
    on "informix".accounts referencing old as pre new as post
    for each row
        when (((post.fibatch_id >  0  ) AND (pre.fiacct_stat_id
    =  100  ) ) )
            (
            execute procedure "informix".ufaccactivate(post.fibatch_id
    ,post.fiaccount_id , 1  )),
        when (((post.fibatch_id >  0  ) AND (post.fiacct_stat_id
    =  100  ) ) )
            (
            execute procedure "informix".ufaccactivate(post.fibatch_id
    ,post.fiaccount_id ,- 1  )),
        when (((post.fiacct_stat_id =  200  ) AND (pre.fiacct_stat_id
    =  100  ) ) )
            (
            update "informix".acct_details set "informix".acct_details.fipin_active
    =  1  ,"informix".acct_details.fdactivation = TODAY  where ((fiaccount_id
    = post.fiaccount_id ) AND (fipin_active = - 1  ) ) ),
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fiAcct_stat_id' ,'Состояние (статус) счета'
     ,pre.fiacct_stat_id ,post.fiacct_stat_id ));

create trigger "informix".uh_acc_min_t_mon update of fxmin_traf_month
    on "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fxMin_traf_month' ,
    'Минимально допустимый объем трафика за месяц' ,pre.fxmin_traf_month
    ,post.fxmin_traf_month ));

create trigger "informix".uh_acc_max_t_day update of fxmax_traf_daily
    on "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fxMax_traf_daily' ,
    'Максимально допустимый объем трафика за день' ,pre.fxmax_traf_daily
    ,post.fxmax_traf_daily ));

create trigger "informix".uh_accmaxtrmonth update of fxmax_traf_month
    on "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fxMax_traf_month' ,
    'Максимально допустимый объем трафика за месяц' ,pre.fxmax_traf_month
    ,post.fxmax_traf_month ));

create trigger "informix".uh_acc_max_r_mon update of fxmax_rech_month
    on "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fxMax_rech_month' ,
    'Максимально допустимая общая сумма пополнения счета за месяц' ,pre.fxmax_rech_month
    ,post.fxmax_rech_month ));

create trigger "informix".uh_acc_discount update of fxdiscount
    on "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fxDiscount' ,'Бонусная скидка с трафика'
     ,pre.fxdiscount ,post.fxdiscount ));

create trigger "informix".uh_acc_creditlim update of fxcreditlimit
    on "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fxCreditLimit' ,'Лимит кредита'
     ,pre.fxcreditlimit ,post.fxcreditlimit ));

create trigger "informix".uh_acc_subscrfee update of fxsubscript_fee
    on "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fxSubscript_fee' ,'Абонентская плата'
     ,pre.fxsubscript_fee ,post.fxsubscript_fee ));

create trigger "informix".uh_acc_servclass update of fiserv_class_id
    on "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fiServ_class_id' ,'Категория услуги'
     ,pre.fiserv_class_id ,post.fiserv_class_id ));

create trigger "informix".uh_acc_langvoice update of filang_voice
    on "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fiLang_voice' ,'Язык голосового меню'
     ,pre.filang_voice ,post.filang_voice ));

create trigger "informix".uh_acc_cdr_secur update of ficdrsecurity
    on "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fiCDRSecurity' ,'Уровень безопасности при записи CDR'
     ,pre.ficdrsecurity ,post.ficdrsecurity ));

create trigger "informix".uh_acc_voicemail update of fivmail_setup_id
    on "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fiVMail_setup_id' ,
    'Вариант настройки голосовой почты' ,pre.fivmail_setup_id ,post.fivmail_setup_id
    ));

create trigger "informix".uh_acc_postpaid update of fiacct_postpaid
    on "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fiAcct_postpaid' ,'Режим оплаты клиентского счета'
     ,pre.fiacct_postpaid ,post.fiacct_postpaid ));

create trigger "informix".uh_acc_sec_dep update of fxsec_deposit
    on "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fxSec_deposit' ,'сумма страхового депозита'
     ,pre.fxsec_deposit ,post.fxsec_deposit ));

create trigger "informix".uh_acc_master update of fiaccmaster
    on "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fiAccMaster' ,'Master Account'
     ,pre.fiaccmaster ,post.fiaccmaster ));

create trigger "informix".uh_acc_auto_rech update of fxautorecharge
    on "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fxAutoRecharge' ,'Сумма автоматического пополнения'
     ,pre.fxautorecharge ,post.fxautorecharge ));



[root@breezzx root]#

2-й сервер:

Код: 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.
286.
287.
288.
289.
290.
291.
292.
293.
294.
295.
296.
297.
298.
299.
300.
301.
302.
303.
304.
305.
306.
307.
308.
309.
310.
311.
312.
313.
314.
315.
316.
317.
318.
319.
320.
321.
322.
323.
324.
325.
326.
327.
328.
329.
330.
331.
332.
333.
334.
335.
336.
337.
338.
339.
340.
341.
342.
343.
344.
345.
346.
347.
348.
349.
350.
351.
352.
353.
354.
355.
356.
357.
358.
359.
360.
361.
362.
363.
364.
365.
366.
367.
368.
369.
370.
371.
372.
373.
374.
375.
376.
377.
378.
379.
380.
381.
382.
383.
384.
385.
386.
387.
388.
389.
390.
391.
392.
393.
394.
395.
396.
397.
398.
399.
400.
401.
402.
403.
404.
405.
406.
407.
408.
409.
410.
411.
412.
413.
414.
415.
416.
417.
418.
419.
420.
421.
422.
423.
424.
425.
426.
427.
428.
429.
430.
431.
432.
433.
434.
435.
436.
437.
438.
439.
440.
441.
442.
443.
444.
445.
446.
447.
448.
449.
450.
451.
452.
453.
454.
[root@newifx rpms]# dbschema -d breezz2 -t accounts

{ TABLE "informix".accounts row size =  416  number of columns =  52  index size =  123 
              }
create table "informix".accounts
  (
    fiaccount_id serial not null ,
    ficust_id integer,
    fibatch_id integer,
    fiprovider_id integer not null ,
    fitq_plan_id integer,
    fiagent_id integer,
    fscontrol char( 20 )
        default '' not null ,
    fsoldcontrol char( 20 )
        default '' not null ,
    fswebword char( 20 ),
    fswebshadow char( 22 ),
    fswebreply char( 4 ),
    fiwebsecurity smallint
        default  1 ,
    fipay_t_id integer,
    ficrcy_id integer,
    fxbalance decimal( 16 , 2 )
        default  0 . 00  not null ,
    fabal_dttm datetime year to second,
    fxcriticalblce decimal( 16 , 2 ),
    fxmonthtraffic decimal( 16 , 2 ),
    fxdaytraffic decimal( 16 , 2 ),
    fxmonthkbytes decimal( 16 , 3 ),
    fafirstcdr datetime year to second,
    falastcdr datetime year to second,
    fxprovbalance decimal( 16 , 2 ),
    faprovbal_dttm datetime year to second,
    fiacct_type_id integer
        default  100  not null ,
    fxodraft_lim decimal( 16 , 2 )
        default  0 . 00  not null ,
    fxodraft_fee decimal( 16 , 2 )
        default  0 . 00  not null ,
    fdstart_date date,
    fdclose_date date,
    fdexp_date date,
    fiacc_life_days integer,
    fdlast_recharge date,
    fdlast_payment date,
    fiacct_stat_id integer
        default  200  not null ,
    fxmin_traf_month decimal( 16 , 2 )
        default  0 . 00  not null ,
    fxmax_traf_daily decimal( 16 , 2 )
        default  0 . 00  not null ,
    fxmax_traf_month decimal( 16 , 2 ),
    fxmax_rech_month decimal( 16 , 2 )
        default  0 . 00  not null ,
    fxdiscount decimal( 16 , 2 )
        default  0 . 00 ,
    fxcreditlimit decimal( 16 , 2 )
        default  0 . 00 ,
    fxsubscript_fee decimal( 16 , 2 ),
    fidelv_id integer,
    fiserv_class_id integer
        default  100 ,
    filang_voice integer
        default  1  not null ,
    finum_style_id integer
        default  1 ,
    ficdrsecurity smallint,
    fivmail_setup_id integer,
    fiacct_postpaid smallint
        default  0  not null ,
    fxsec_deposit decimal( 16 , 2 )
        default  0 . 00  not null ,
    fiaccmaster integer,
    fxautorecharge decimal( 16 , 2 ),
    fsaccdesc char( 50 )
  );
revoke all on "informix".accounts from "public";



create index "informix".ix_acc_accmast on "informix".accounts
    (fiaccmaster) using btree ;
create unique index "informix".ix_acc_control on "informix".accounts
    (fscontrol,fiprovider_id) using btree ;
create index "informix".ix_acc_control_up on "informix".accounts
    ("informix".upper_my(fscontrol)) using btree ;
create index "informix".ix_acc_fcdr on "informix".accounts (fafirstcdr)
    using btree ;
create index "informix".ix_acc_rech on "informix".accounts (ficust_id,
    fdlast_recharge) using btree ;
create index "informix".ix_acc_startd on "informix".accounts (fdstart_date)
    using btree ;
create index "informix".ix_account_exp on "informix".accounts
    (fdexp_date) using btree ;
create unique index "informix".ix_accounts1 on "informix".accounts
    (fiaccount_id) using btree ;
alter table "informix".accounts add constraint primary key (fiaccount_id)
    constraint "informix".ct_accounts2  ;
alter table "informix".accounts add constraint (foreign key (ficust_id)
    references "informix".customers  constraint "informix".fk_accounts1);


alter table "informix".accounts add constraint (foreign key (fibatch_id)
    references "informix".batches  constraint "informix".fk_acc_batch);


alter table "informix".accounts add constraint (foreign key (fiprovider_id)
    references "informix".providers  constraint "informix".fk_accounts3);



create trigger "informix".ih_accounts insert on "informix".accounts
    referencing new as post
    for each row
        (
        execute procedure "informix".ufwriterechist('insert' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,' ' ,' ' ,' ' ,' ' ));

create trigger "informix".dh_accounts delete on "informix".accounts
    referencing old as pre
    for each row
        (
        delete from "informix".phone_alias  where (fiaccount_id
    = pre.fiaccount_id ) ),
        (
        execute procedure "informix".ufwriterechist('delete' ,
    'accounts' ,pre.fiaccount_id ,pre.fscontrol ,' ' ,' ' ,' ' ,' ' ));

create trigger "informix".uh_accounts update of fiacct_type_id,
    fidelv_id on "informix".accounts referencing old as pre new
    as post
    for each row
        (
        { generic }
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,' ' ,' ' ,' ' ,' ' ));

create trigger "informix".uh_acc_cust_id update of ficust_id
    on "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fiCust_id' ,'Номер клиента'
     ,pre.ficust_id ,post.ficust_id ));

create trigger "informix".uh_acc_batch_id update of fibatch_id
    on "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fiBatch_id' ,'Системный номер партии карт'
     ,pre.fibatch_id ,post.fibatch_id ));

create trigger "informix".uh_acc_prov update of fiprovider_id
    on "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufupdacc_prov('update' ,post.fiaccount_id
    ,pre.fiprovider_id ,post.fiprovider_id )),
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fiProvider_id' ,'Провайдер'
     ,pre.fiprovider_id ,post.fiprovider_id ));

create trigger "informix".uh_acc_tplan update of fitq_plan_id
    on "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufupdacc_tplan('update' ,
    post.fiaccount_id ,pre.fitq_plan_id ,post.fitq_plan_id )),
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fiTq_plan_id' ,'Тарифный план'
     ,pre.fitq_plan_id ,post.fitq_plan_id ));

create trigger "informix".uh_acc_agent_id update of fiagent_id
    on "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fiAgent_id' ,'Агент'
     ,pre.fiagent_id ,post.fiagent_id ));

create trigger "informix".uh_acc_control update of fscontrol
    on "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fsControl' ,'Контрольный идентификатор счета'
     ,pre.fscontrol ,post.fscontrol ));

create trigger "informix".uh_acc_oldctrl update of fsoldcontrol
    on "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fsOldControl' ,'Контрольный идентификатор счета (старый вариант)'
     ,pre.fsoldcontrol ,post.fsoldcontrol ));

create trigger "informix".uh_acc_wwd update of fswebword on "informix"
    .accounts referencing old as pre new as post
    for each row
        when ((((pre.fswebword != post.fswebword ) OR ((pre.fswebword
    IS NULL ) AND (post.fswebword IS NOT NULL ) ) ) OR ((pre.fswebword
    IS NOT NULL ) AND (post.fswebword IS NULL ) ) ) )
            (
            execute procedure "informix".ufwriterechist('update'
     ,'accounts' ,post.fiaccount_id ,post.fscontrol ,'fsWebWord' ,'Пароль для Web'
     ,'xxxxxxxx' ,'xxxxxxxxxx' ));

create trigger "informix".uh_acc_wrp update of fswebreply on
    "informix".accounts referencing old as pre new as post
    for each row
        when ((((pre.fswebreply != post.fswebreply ) OR ((pre.fswebreply
    IS NULL ) AND (post.fswebreply IS NOT NULL ) ) ) OR ((pre.fswebreply
    IS NOT NULL ) AND (post.fswebreply IS NULL ) ) ) )
            (
            execute procedure "informix".ufwriterechist('update'
     ,'accounts' ,post.fiaccount_id ,post.fscontrol ,'fsWebReply' ,'Отзыв для Web'
     ,'xxxxxxxx' ,'xxxxxxxxxx' ));

create trigger "informix".uh_acc_websecur update of fiwebsecurity
    on "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fiWebSecurity' ,'Web изоляция счета: 0 - нет, 1 - да.'
     ,pre.fiwebsecurity ,post.fiwebsecurity ));

create trigger "informix".uh_acc_pay_type update of fipay_t_id
    on "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fiPay_t_id' ,'Тип оплаты'
     ,pre.fipay_t_id ,post.fipay_t_id ));

create trigger "informix".uh_acc_crcy update of ficrcy_id on
    "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fiCrcy_id' ,'Валюта'
     ,pre.ficrcy_id ,post.ficrcy_id ));

create trigger "informix".uh_acc_crit_bal update of fxcriticalblce
    on "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fxCriticalBlce' ,'Критическая величина остатка на счете'
     ,pre.fxcriticalblce ,post.fxcriticalblce ));

create trigger "informix".uh_acc_odraftlim update of fxodraft_lim
    on "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fxODraft_lim' ,'Лимит овердрафта'
     ,pre.fxodraft_lim ,post.fxodraft_lim ));

create trigger "informix".uh_acc_odraftfee update of fxodraft_fee
    on "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fxODraft_fee' ,'Пеня за овердрафт'
     ,pre.fxodraft_fee ,post.fxodraft_fee ));

create trigger "informix".uh_acc_start_dt update of fdstart_date
    on "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fdStart_date' ,'Дата открытия счета'
     ,pre.fdstart_date ,post.fdstart_date ));

create trigger "informix".uh_acc_close_dt update of fdclose_date
    on "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fdClose_date' ,'Дата фактического закрытия счета'
     ,pre.fdclose_date ,post.fdclose_date ));

create trigger "informix".uh_acc_exp_dt update of fdexp_date
    on "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fdExp_date' ,'Предписанная дата закрытия счета'
     ,pre.fdexp_date ,post.fdexp_date ));

create trigger "informix".uh_acc_lifedays update of fiacc_life_days
    on "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fiAcc_life_days' ,'Максимальное время жизни счета в днях'
     ,pre.fiacc_life_days ,post.fiacc_life_days ));

create trigger "informix".uh_acc_stat update of fiacct_stat_id
    on "informix".accounts referencing old as pre new as post
    for each row
        when (((post.fibatch_id >  0  ) AND (pre.fiacct_stat_id
    =  100  ) ) )
            (
            execute procedure "informix".ufaccactivate(post.fibatch_id
    ,post.fiaccount_id , 1  )),
        when (((post.fibatch_id >  0  ) AND (post.fiacct_stat_id
    =  100  ) ) )
            (
            execute procedure "informix".ufaccactivate(post.fibatch_id
    ,post.fiaccount_id ,- 1  )),
        when (((post.fiacct_stat_id =  200  ) AND (pre.fiacct_stat_id
    =  100  ) ) )
            (
            update "informix".acct_details set "informix".acct_details.fipin_active
    =  1  ,"informix".acct_details.fdactivation = TODAY  where ((fiaccount_id
    = post.fiaccount_id ) AND (fipin_active = - 1  ) ) ),
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fiAcct_stat_id' ,'Состояние (статус) счета'
     ,pre.fiacct_stat_id ,post.fiacct_stat_id ));

create trigger "informix".uh_acc_min_t_mon update of fxmin_traf_month
    on "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fxMin_traf_month' ,
    'Минимально допустимый объем трафика за месяц' ,pre.fxmin_traf_month
    ,post.fxmin_traf_month ));

create trigger "informix".uh_acc_max_t_day update of fxmax_traf_daily
    on "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fxMax_traf_daily' ,
    'Максимально допустимый объем трафика за день' ,pre.fxmax_traf_daily
    ,post.fxmax_traf_daily ));

create trigger "informix".uh_accmaxtrmonth update of fxmax_traf_month
    on "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fxMax_traf_month' ,
    'Максимально допустимый объем трафика за месяц' ,pre.fxmax_traf_month
    ,post.fxmax_traf_month ));

create trigger "informix".uh_acc_max_r_mon update of fxmax_rech_month
    on "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fxMax_rech_month' ,
    'Максимально допустимая общая сумма пополнения счета за месяц' ,pre.fxmax_rech_month
    ,post.fxmax_rech_month ));

create trigger "informix".uh_acc_discount update of fxdiscount
    on "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fxDiscount' ,'Бонусная скидка с трафика'
     ,pre.fxdiscount ,post.fxdiscount ));

create trigger "informix".uh_acc_creditlim update of fxcreditlimit
    on "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fxCreditLimit' ,'Лимит кредита'
     ,pre.fxcreditlimit ,post.fxcreditlimit ));

create trigger "informix".uh_acc_subscrfee update of fxsubscript_fee
    on "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fxSubscript_fee' ,'Абонентская плата'
     ,pre.fxsubscript_fee ,post.fxsubscript_fee ));

create trigger "informix".uh_acc_servclass update of fiserv_class_id
    on "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fiServ_class_id' ,'Категория услуги'
     ,pre.fiserv_class_id ,post.fiserv_class_id ));

create trigger "informix".uh_acc_langvoice update of filang_voice
    on "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fiLang_voice' ,'Язык голосового меню'
     ,pre.filang_voice ,post.filang_voice ));

create trigger "informix".uh_acc_cdr_secur update of ficdrsecurity
    on "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fiCDRSecurity' ,'Уровень безопасности при записи CDR'
     ,pre.ficdrsecurity ,post.ficdrsecurity ));

create trigger "informix".uh_acc_voicemail update of fivmail_setup_id
    on "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fiVMail_setup_id' ,
    'Вариант настройки голосовой почты' ,pre.fivmail_setup_id ,post.fivmail_setup_id
    ));

create trigger "informix".uh_acc_postpaid update of fiacct_postpaid
    on "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fiAcct_postpaid' ,'Режим оплаты клиентского счета'
     ,pre.fiacct_postpaid ,post.fiacct_postpaid ));

create trigger "informix".uh_acc_sec_dep update of fxsec_deposit
    on "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fxSec_deposit' ,'сумма страхового депозита'
     ,pre.fxsec_deposit ,post.fxsec_deposit ));

create trigger "informix".uh_acc_master update of fiaccmaster
    on "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fiAccMaster' ,'Master Account'
     ,pre.fiaccmaster ,post.fiaccmaster ));

create trigger "informix".uh_acc_auto_rech update of fxautorecharge
    on "informix".accounts referencing old as pre new as post
    for each row
        (
        execute procedure "informix".ufwriterechist('update' ,
    'accounts' ,post.fiaccount_id ,post.fscontrol ,'fxAutoRecharge' ,'Сумма автоматического пополнения'
     ,pre.fxautorecharge ,post.fxautorecharge ));



[root@newifx rpms]#
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36010219
onstat-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДбашкабррСтатистика...




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

2. Сравнить планы запросов на разных серверах ( соберите статистику ).



3. Меня очень настораживает большое количество дисковых операций в секунду на втором сервере.
это либо из за разных планов,
либо есть отличия в структурах данных( индексах) либо операциях с данными.

4. Дайте вывод onstat -P с 2 серверов ( достаточно только последних строчек с % распередением).
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36010231
Дбашкабрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
onstat-ДбашкабррСтатистика...




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

2. Сравнить планы запросов на разных серверах ( соберите статистику ).



3. Меня очень настораживает большое количество дисковых операций в секунду на втором сервере.
это либо из за разных планов,
либо есть отличия в структурах данных( индексах) либо операциях с данными.

4. Дайте вывод onstat -P с 2 серверов ( достаточно только последних строчек с % распередением).

1-й:

Код: plaintext
1.
2.
3.
4.
Percentages:
Data   87 . 94 
Btree  9 . 93 
Other  2 . 14 

2-й:

Код: plaintext
1.
2.
3.
4.
Percentages:
Data   91 . 35 
Btree  8 . 57 
Other  0 . 08 
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36010265
Дбашкабрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
onstat-ДбашкабррСтатистика...


2. Сравнить планы запросов на разных серверах ( соберите статистику ).
.

Как это сделать?
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36010301
onstat-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дбашкабррonstat-ДбашкабррСтатистика...


2. Сравнить планы запросов на разных серверах ( соберите статистику ).
.

Как это сделать?

А какая версия ?

Либо в сессии нужно сказать set explain on;
либо через onmode если версия сервера поддерживает
например

На сервере в домашней директории пользователя появится файл setexplain.out

Паралельно проанализируйте таблицу sysptprof на предмет какие таблицы больше всего
участвуют в дисковом вводе выводе.

В первую очередь Ищите и сравнивайте планы с запросами по таблицам, по которым
ввод вывод максимальный.
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36010311
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДбашкабррЖуравлев Дениспокажите dbschema -d база -t accounts с первого и со второго серверов.
1-й сервер:
...

Структуры таблиц совпадают. При желании можно попытаться копать дальше, в тексты используемых триггерами ХП:
ufwriterechist
ufupdacc_prov
ufupdacc_tplan
ufaccactivate

, а также структуры, которые эти ХП используют...
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36010347
onstat-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИМХО
Это происходит потому, что
1. Кто то выбивает из дискового кеша какие то еще нужные данные.
2. Пользователи оперируют разными данными ( разного обьема) в выборках( топикстартер переоценил одинаковость систем),
3. Планы поехали.

Процентное соотношение индексов и данных в буферном кеше не очень похоже на то что система работает в режиме OLTP.

Как [b]полумера[/b ] увеличте размер буферного кеша на втором сервере, но не факт что поможет.
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36010363
Фотография Тан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДбашкабррСтатистика...

1-й сервер:

Код: plaintext
1.
2.
3.
4.
5.
6.
[root@breezzx root]# onstat -p
IBM Informix Dynamic Server Version  9 . 40 .UC6     -- On-Line -- Up 88 days 23:17:58 -- 636168 Kbytes

Profile
dskreads pagreads bufreads %cached dskwrits pagwrits bufwrits %cached
 597        4087       633414214   100 . 00    9159       16761      51576      82 . 24 

2-сервер:

Код: plaintext
1.
2.
3.
4.
5.
6.
[root@newifx /]# onstat -p
IBM Informix Dynamic Server Version  9 . 40 .UC6     -- On-Line -- Up 1 days 11:57:06 -- 695232 Kbytes

Profile
dskreads pagreads bufreads %cached dskwrits pagwrits bufwrits %cached
 69098647   71964077   554046800   87 . 53     61346      482665     488571     87 . 44 


update statistcs for procedures ?
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36010375
svat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ДбашкабррРешил порыть в RAID контроллере... вот результат...

Код: plaintext
1.
2.
3.
4.
          Logical Drive :  0 ( Adapter:  0  ):  Status: OPTIMAL
        ---------------------------------------------------
        SpanDepth : 01      RaidLevel:  5   RdAhead : No  Cache: DirectIo
        StripSz   :064KB   Stripes  :  3   WrPolicy: WriteThru


ИМХО, т.к. скорей всего проблема в плохой производительности дисковой подсистемы
на 2-м сервере, то:
1) меняем WrPolicy: с WriteThru на WriteBack ;
2) тестируем заново с пом. bonnie++ ;
3) сравниваем с предыдущим результатом и радуемся приросту (возможно немного
огорчаемся, что "не дотянули до показаний на 1м сервере");
4) если на контроллере есть батарейка, то так и оставляем, ежели нету - то
чешем затылок в сторону "рисковать/не рисковать" или "а не прикупить ли батарейку?"
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36010386
Дбашкабрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ТанДбашкабррСтатистика...

1-й сервер:

Код: plaintext
1.
2.
3.
4.
5.
6.
[root@breezzx root]# onstat -p
IBM Informix Dynamic Server Version  9 . 40 .UC6     -- On-Line -- Up 88 days 23:17:58 -- 636168 Kbytes

Profile
dskreads pagreads bufreads %cached dskwrits pagwrits bufwrits %cached
 597        4087       633414214   100 . 00    9159       16761      51576      82 . 24 

2-сервер:

Код: plaintext
1.
2.
3.
4.
5.
6.
[root@newifx /]# onstat -p
IBM Informix Dynamic Server Version  9 . 40 .UC6     -- On-Line -- Up 1 days 11:57:06 -- 695232 Kbytes

Profile
dskreads pagreads bufreads %cached dskwrits pagwrits bufwrits %cached
 69098647   71964077   554046800   87 . 53     61346      482665     488571     87 . 44 


update statistcs for procedures ?

Насколько критично выполнить update statistcs for procedures в период рабочей нагрузки?
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36010392
Дбашкабрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
svat2ДбашкабррРешил порыть в RAID контроллере... вот результат...

Код: plaintext
1.
2.
3.
4.
          Logical Drive :  0 ( Adapter:  0  ):  Status: OPTIMAL
        ---------------------------------------------------
        SpanDepth : 01      RaidLevel:  5   RdAhead : No  Cache: DirectIo
        StripSz   :064KB   Stripes  :  3   WrPolicy: WriteThru


ИМХО, т.к. скорей всего проблема в плохой производительности дисковой подсистемы
на 2-м сервере, то:
1) меняем WrPolicy: с WriteThru на WriteBack ;
2) тестируем заново с пом. bonnie++ ;
3) сравниваем с предыдущим результатом и радуемся приросту (возможно немного
огорчаемся, что "не дотянули до показаний на 1м сервере");
4) если на контроллере есть батарейка, то так и оставляем, ежели нету - то
чешем затылок в сторону "рисковать/не рисковать" или "а не прикупить ли батарейку?"

1) Думал об этом :)
2) Хочу так и сделать...
4) Батарейки нету :(
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36010447
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тан
update statistcs for procedures ?
А в чём может быть проблема? НУ при первом вызове конкретно взятой ХП после UPD STAT TABLE план запросов в этой ХП будет сохранён. Если не напортачили с PDQPRIORITY и нет lock time expired по sysprocplan - UPD STAT PROC вроде бы существенно не поможет :(
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36010449
onstat-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дбашкабрр

Насколько критично выполнить update statistcs for procedures в период рабочей нагрузки?


как минимум некоторые сессии могут наткнутся на заблокированные записи в sysprocplan.
Как максимум сервер может упасть , была когда то такая лажа на 7.31
когда под нагрузкой update statistics for procedure ложил сервер.
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36010469
onstat-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АнатоЛойТан
update statistcs for procedures ?
А в чём может быть проблема? НУ при первом вызове конкретно взятой ХП после UPD STAT TABLE план запросов в этой ХП будет сохранён. Если не напортачили с PDQPRIORITY и нет lock time expired по sysprocplan - UPD STAT PROC вроде бы существенно не поможет :(

ИМХО поможет, если меняли уровень блокировок на таблицах с page на row или наоборот.
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36010483
Фотография Тан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АнатоЛойТан
update statistcs for procedures ?
А в чём может быть проблема? НУ при первом вызове конкретно взятой ХП после UPD STAT TABLE план запросов в этой ХП будет сохранён. Если не напортачили с PDQPRIORITY и нет lock time expired по sysprocplan - UPD STAT PROC вроде бы существенно не поможет :(
если схемы одинаковые, данные одинаковые, статистика одинаковая, активность одинаковая - откуда столько дисковых чтений на втором?
что-то там разное...
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36010485
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
onstatНа сервере в домашней директории пользователя появится файл setexplain.out

Не забывать, что в режиме обычной работы сессии не все выполняемые запросы попадут в setexplain.out. Часть запросов, которая оптимизируется не при каждом запуске ХП, можно увидеть только при

SET EXPLAIN ON;
UPDATE STATISTICS FOR PROCEDURE ...;

onstat
Паралельно проанализируйте таблицу sysptprof на предмет какие таблицы больше всего
участвуют в дисковом вводе выводе.

+1
Не забывать, что sysptprof заполняется только при условии наличия включенного TBLSPACE_STAT 1 в конфиге, чего у Дбашкабрр на первом сервере не наблюдается...
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36010491
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Танчто-то там разное...
ОК. Тогда я склоняюсь к мнению, что скорее
SET EXPLAIN ON;
UPDATE STATISTICS FOR PROCEDURE
для последующего анализа, чем поможет UPDATE STATISTICS FOR PROCEDURE сам по себе :)
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36010505
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
onstat-Тан
update statistcs for procedures ?
ИМХО поможет, если меняли уровень блокировок на таблицах с page на row или наоборот.
Это был бы супервариант... Да, кстати, насчёт deadlock'ов, Дбашкабрр писал что только ЧАСТЬ таблиц переведена на LOCK MODE ROW. Может не переведена собственно accounts или таблицы из паровоза, затрагиваемого триггерными ХП?
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36010524
Дбашкабрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
АнатоЛойТанчто-то там разное...
ОК. Тогда я склоняюсь к мнению, что скорее
SET EXPLAIN ON;
UPDATE STATISTICS FOR PROCEDURE
для последующего анализа, чем поможет UPDATE STATISTICS FOR PROCEDURE сам по себе :)

Выполнил. Routine Statistics updated.
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36010539
Дбашкабрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
АнатоЛойonstat-Тан
update statistcs for procedures ?
ИМХО поможет, если меняли уровень блокировок на таблицах с page на row или наоборот.
Это был бы супервариант... Да, кстати, насчёт deadlock'ов, Дбашкабрр писал что только ЧАСТЬ таблиц переведена на LOCK MODE ROW. Может не переведена собственно accounts или таблицы из паровоза, затрагиваемого триггерными ХП?

Вот таблицы которые "мелькают" в блокировках...

informix.Accounts EXTENT SIZE 2064 NEXT SIZE 206 LOCK MODE ROW
informix.acct_traffic EXTENT SIZE 306 NEXT SIZE 30 LOCK MODE PAGE
informix.agent_traffic EXTENT SIZE 16 NEXT SIZE 16 LOCK MODE PAGE
informix.cdr EXTENT SIZE 550366 NEXT SIZE 55036 LOCK MODE PAGE
informix.customers EXTENT SIZE 135 NEXT SIZE 16 LOCK MODE ROW
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36010566
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДбашкабррАнатоЛойТанчто-то там разное...
ОК. Тогда я склоняюсь к мнению, что скорее
SET EXPLAIN ON;
UPDATE STATISTICS FOR PROCEDURE
для последующего анализа, чем поможет UPDATE STATISTICS FOR PROCEDURE сам по себе :)

Выполнил. Routine Statistics updated.
Ещё не помогло? Жалко, такая идея Тан и onstat- с последствиями после PAGE=>ROW не сработала :(.

Тогда трактуйте мою фразу "для последующего анализа" как фразу "для последующего анализа sqlexplain.out" :).

Ищем подозрительные "SEQUENTIAL SCAN" и большие "Estimated cost", а также особое внимание уделяем запросам с теми таблицами, которые имеют большие показатели в sysprtprof на втором сервер (благо, там TBLSPACE_STAT включен)...

П.С.: Хотя вариант svat2 с RAID (так сказать со стороны железа) тоже паралельно отрабатывать надо....
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36010580
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДбашкабррВот таблицы которые "мелькают" в блокировках...

informix.Accounts EXTENT SIZE 2064 NEXT SIZE 206 LOCK MODE ROW
informix.acct_traffic EXTENT SIZE 306 NEXT SIZE 30 LOCK MODE PAGE
informix.agent_traffic EXTENT SIZE 16 NEXT SIZE 16 LOCK MODE PAGE
informix.cdr EXTENT SIZE 550366 NEXT SIZE 55036 LOCK MODE PAGE
informix.customers EXTENT SIZE 135 NEXT SIZE 16 LOCK MODE ROW

Какими рамішлениями руководствовались, когда выбирали для них PAGE или ROW?
Такие же ли LOCK MODE на первом сервере?
Может это последствия dbexport без -ss с последущим dbimport, и в результате ВСЕ таблицы на втором сервере перешли в LOCK MODE PAGE? Сравните запросами к systables на первом и втором сервере - в systables есть поле с признаком P/R
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36010610
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АнатоЛой[quot Дбашкабрр]Вот таблицы которые "мелькают" в блокировках...

informix.Accounts EXTENT SIZE 2064 NEXT SIZE 206 LOCK MODE ROW
informix.acct_traffic EXTENT SIZE 306 NEXT SIZE 30 LOCK MODE PAGE
informix.agent_traffic EXTENT SIZE 16 NEXT SIZE 16 LOCK MODE PAGE
informix.cdr EXTENT SIZE 550366 NEXT SIZE 55036 LOCK MODE PAGE
informix.customers EXTENT SIZE 135 NEXT SIZE 16 LOCK MODE ROW

Вот размышления сторонего наблюдателя:
1. Accounts - ROW, а acct_traffic - PAGE, хотя есть подозрения, что таблицы эти несут нагрузку приблизительно одного порядка. Соответственно, и acct_traffic стОит сделать ROW
2. в сессиях часто мелькала ХП ....write_to_CDR, а таблица cdr - опять-таки почему-то ROW...
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36010673
Дбашкабрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
АнатоЛойДбашкабррВот таблицы которые "мелькают" в блокировках...

informix.Accounts EXTENT SIZE 2064 NEXT SIZE 206 LOCK MODE ROW
informix.acct_traffic EXTENT SIZE 306 NEXT SIZE 30 LOCK MODE PAGE
informix.agent_traffic EXTENT SIZE 16 NEXT SIZE 16 LOCK MODE PAGE
informix.cdr EXTENT SIZE 550366 NEXT SIZE 55036 LOCK MODE PAGE
informix.customers EXTENT SIZE 135 NEXT SIZE 16 LOCK MODE ROW

Какими рамішлениями руководствовались, когда выбирали для них PAGE или ROW?
Такие же ли LOCK MODE на первом сервере?
Может это последствия dbexport без -ss с последущим dbimport, и в результате ВСЕ таблицы на втором сервере перешли в LOCK MODE PAGE? Сравните запросами к systables на первом и втором сервере - в systables есть поле с признаком P/R

Руководствовался количеством блокировок на этих таблицах.
На первом все LOCK MODE PAGE и никаких проблем :p

выполнил такой вот запрос:

Код: plaintext
1.
select * from systables where tabtype='T' and locklevel='R' and tabname not like 'sys%'

1-й сервер - пусто
2-й сервер

accounts
customers
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36010693
Дбашкабрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
АнатоЛойДбашкабррАнатоЛойТанчто-то там разное...
ОК. Тогда я склоняюсь к мнению, что скорее
SET EXPLAIN ON;
UPDATE STATISTICS FOR PROCEDURE
для последующего анализа, чем поможет UPDATE STATISTICS FOR PROCEDURE сам по себе :)

Выполнил. Routine Statistics updated.
Ещё не помогло? Жалко, такая идея Тан и onstat- с последствиями после PAGE=>ROW не сработала :(.

Тогда трактуйте мою фразу "для последующего анализа" как фразу "для последующего анализа sqlexplain.out" :).

Ищем подозрительные "SEQUENTIAL SCAN" и большие "Estimated cost", а также особое внимание уделяем запросам с теми таблицами, которые имеют большие показатели в sysprtprof на втором сервер (благо, там TBLSPACE_STAT включен)...

П.С.: Хотя вариант svat2 с RAID (так сказать со стороны железа) тоже паралельно отрабатывать надо....

Код: 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.
onmode -Y sesid  1  - не помогает, informix сбросил часть планов sqlexplain.out но я не могу понять что это за херь...

# cat sqexplain.out. 7499 


QUERY:
------


Estimated Cost:  1713326 
Estimated # of Rows Returned:  8684155 

   1 ) informix.cdr: SEQUENTIAL SCAN

UDRs in query:
--------------
# cat sqexplain.out. 7771 


QUERY:
------


Estimated Cost:  1713326 
Estimated # of Rows Returned:  8684155 

   1 ) informix.cdr: SEQUENTIAL SCAN

UDRs in query:
--------------

QUERY:
------


Estimated Cost:  1713326 
Estimated # of Rows Returned:  8684155 

   1 ) informix.cdr: SEQUENTIAL SCAN

UDRs in query:
--------------
# cat sqexplain.out. 8044 


QUERY:
------


Estimated Cost:  1713326 
Estimated # of Rows Returned:  8684155 

   1 ) informix.cdr: SEQUENTIAL SCAN

UDRs in query:
--------------

QUERY:
------


Estimated Cost:  1713326 
Estimated # of Rows Returned:  8684155 

   1 ) informix.cdr: SEQUENTIAL SCAN

UDRs in query:
--------------

# cat sqexplain.out. 8054 


QUERY:
------


Estimated Cost:  1713326 
Estimated # of Rows Returned:  8684155 

   1 ) informix.cdr: SEQUENTIAL SCAN

UDRs in query:
--------------

QUERY:
------


Estimated Cost:  1713326 
Estimated # of Rows Returned:  8684155 

   1 ) informix.cdr: SEQUENTIAL SCAN

UDRs in query:
--------------
# cat sqexplain.out. 8132 


QUERY:
------


Estimated Cost:  1713326 
Estimated # of Rows Returned:  8684155 

   1 ) informix.cdr: SEQUENTIAL SCAN

UDRs in query:
--------------


...
Рейтинг: 0 / 0
Мучают блокировки...
    #36010704
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дбашкабрр
Код: plaintext
1.
select * from systables where tabtype='T' and locklevel='R' and tabname not like 'sys%'

1-й сервер - пусто
2-й сервер

accounts
customers
ОК
Насколько я понимаю, accounts и customers стали LOCK MODE ROW уже ПОСЛЕ выявления проблем со статистикой?
Тогда продолжаем отрабатывать предложенные варианты. Как дела с анализом sqexplain.out? Если нет ограничений - можете sqexplain.out тоже выложить? (Только аттачем в архиве, а не вставкой текста :)
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36010719
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дбашкабрр
# cat sqexplain.out.8132
...


То есть это оригинал - Вы ничего не отрезали и какой там конкретно QUERY непонятно?
Вопрос: где [анализ] sqexplain.out от
SET EXPLAIN ON;
UPD STAT FOR PROC;
?
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36010741
onstat-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дбашкабрр

1) informix.cdr: SEQUENTIAL SCAN



Это значит что по таблице cdr не работает индексный поиск.

Какую нагрузку несет таблица cdr, какие там индексы?

Сколько записей в этой таблице на первом сервере и сколько на втором ?
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36010746
Дбашкабрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Статистика по таблицам...

dbnametabnamepartnumlockreqslockwtsdeadlkslktoutsisreadsiswritesisrewritesisdeletesbufreadsbufwritesseqscanspagreadspagwritesbreezz2cdr31457918303100009651714108671122290061315575breezz2deals_tq3145933324462813000375876151714768213375911274154390246805195594breezz2tranjour_tq3145932199030005541682400136888571028686breezz2failed_calls31457931319800004541009153594505572breezz2port_stat31458748580000042900085935734035512breezz2sysprocplan31457471755309300699123402204055259670219124031911247breezz2rec_history314584923800006565020214602020breezz2acct_details314578439703700286497394159910229094709999370191976breezz2group_stat31458752600001300392603219breezz2persons_tq314578918410000340640203351412268breezz2customers314583619443240096736102202012073686breezz2sess314584517000043018110106breezz2sess_sys314584692000040390120147breezz2cust_payments31458231043900010330255997145breezz2recharges31458382200043602611077rootdbsTBLSpace10485770000000000000workTBLSpace31457290000000000000breezz2systables314573054469300025972200094300002680breezz2syscolumns314573167010003346000723100930breezz2sysindices314573250830002518000593300900breezz2systabauth314573330000012000036400290breezz2syscolauth3145734196000680001960060breezz2sysviews314573590840004390000908400230breezz2sysusers3145736858483000552028000193505106030breezz2sysdepend31457370000000000000breezz2syssynonyms31457380000000000000breezz2syssyntable31457390000000000000breezz2sysconstraints31457401808000548000210700730breezz2sysreferences31457413280001060004120040breezz2syschecks31457423800018000380040breezz2sysdefaults314574341700019600058300590breezz2syscoldepend3145744717000239000119700150breezz2sysprocedures31457452715100010009000396670124450breezz2sysprocbody31457466008080003137430007115700018850breezz2sysprocauth314574846823700026373000079120300170breezz2sysblobs31457496600063000660040breezz2sysopclstr3145750000060000610030breezz2systriggers314575127830001324000302000250breezz2systrigbody3145752234900010850002845001620breezz2sysdistrib3145753152940006498000180810012550breezz2sysfragments314575432300014000052900620breezz2sysfragauth31457550000000000000breezz2sysxtdtypes3145756150005000200040breezz2sysxtddesc31457570000000000000breezz2sysattrtypes31457580000000000000breezz2sysinherits31457590000000010010breezz2syscolattribs314576000001800090020breezz2syslogmap31457610000000000000breezz2syscasts3145762210007000590030breezz2sysxtdtypeauth31457630000000000000breezz2sysams3145764240008000330010breezz2systabamdata31457650000000000000breezz2sysopclasses31457660000000000000breezz2syserrors31457670000000000000breezz2systraceclasses31457680000000000000breezz2systracemsgs31457690000000000000breezz2sysroutinelangs31457700000000000000breezz2syslangauth31457710000000000000breezz2sysaggregates31457721000100030010breezz2sysroleauth31457730000000000000breezz2sysobjstate3145774165300011030003401001070breezz2sysviolations3145775600060002000090breezz2syssequences31457760000000000000breezz2p_customers31457770000000000000breezz2p_services31457780000000000000breezz2p_contact_hist31457790000000000000breezz2p_notes31457800000000000000breezz2rech_request31457810000000000000breezz2webmmasks31457820000000000000breezz2accounts314578320527560615360857834970143070133414246139255219211436breezz2did_numbers31457850000000000000breezz2acct_traffic314578613607030011160714101289267141052679234breezz2agent_traffic314578728602190042710714102144271410014breezz2batches314578800006000120660breezz2bankacc_tq31457905900059000121059130breezz2zero_cdr31457920000000000000breezz2currency_tq31457941000013000200550breezz2cnform_tq31457950000000000000breezz2word_case31457960000000000000breezz2word_form31457970000000000000breezz2crcy_rate_type31457982000024000280420breezz2crcy_rate31457990000000000000breezz2providers314580066000307000690802230breezz2providers_plans31458010000000000000breezz2providers_rates31458020000000000000breezz2agents314580398890003534000116270181000breezz2agent_commission31458040000172400034480172410breezz2acct_type31458050000000000000breezz2acct_stat31458061600020000240420breezz2bill_delv31458071600020000240420breezz2bill_shed31458081200016000200420breezz2cust_conn_type314580940008000120440breezz2languages31458104000044000480420breezz2number_style31458110000000000000breezz2promotion31458124000044000480420breezz2trouble_type31458130000000000000breezz2pbx31458140000000000000breezz2pbx_type31458150000400080440breezz2pay_type31458163300032000410420breezz2notes31458170000000000000breezz2description31458180000000000000breezz2tq_estimates31458190000000000000breezz2mktng_contacts31458200000000000000breezz2agreements314582100002100042021210breezz2doc_types31458228100024000480360breezz2transfers31458240000000000000breezz2service_fees31458250000000000000breezz2prepaid_cards31458260000000000000breezz2cr_card_types31458270000000000000breezz2cust_cr_cards31458280000000000000breezz2agent_cr_cards31458290000000000000breezz2agent_payments31458300000000000000breezz2continent31458313900039000410110breezz2region_maps31458322600011000380650breezz2regions_tq314583382850001000739590010breezz2 156_26931458342300024000360060breezz2pr_alt_rates31458350000000000000breezz2trouble_ticket31458370000000000000breezz2prov_payments31458390000000000000breezz2rate_appl_tp3145840800012000160440breezz2basetable31458410000000000000breezz2setup_tq314584218000220004801860breezz2gm_tq31458430000000000000breezz2users_tq314584420700017000260990breezz2sess_type31458470000000000000breezz2journal_tq3145848697620007700016940077780breezz2modules_tq31458500000000000000breezz2tables_tq31458516041000000072120000breezz2fun_repos31458520000000000000breezz2actions_tq31458530000000000000breezz2grant_tq3145854926600022600013560226500breezz2grant_detail_tq31458553706400022600013560226500breezz2n2s_enu31458560000000000000breezz2importcdr31458570000000000000breezz2cdr_ca31458580000000000000breezz2cdr_tmp31458590000000000000breezz2itelhead_tq31458600000000000000breezz2itelbody_tq31458610000000000000breezz2enumeration_tq31458626400040000480820breezz2ct_boards31458630000000000000breezz2ct_board_types31458640000000000000breezz2isdn_ports31458650000000000000breezz2isdn_oper_types31458660000000000000breezz2trunks_tq31458670000000000000breezz2trunk_groups31458680000000000000breezz2voice_menu31458690000000000000breezz2menu_branch3145870800012000160440breezz2voice_prompts31458710000000000000breezz2appl_fun31458720000000000000breezz2phone_alias31458733991000417600043040013420breezz2port_type31458760000000000000breezz2group_alg31458770000000000000breezz2time_limits31458780000000000000breezz2energy_detect31458790000000000000breezz2trunk_auth_head31458800000000000000breezz2trunk_auth_list314588100009776000195520977600breezz2ip_bundle31458820000000000000breezz2ip_lcon_info31458830000000000000breezz2ip_lcon_stat31458840000000000000breezz2dial_up_session31458850000000000000breezz2callback_setup31458865000400050000breezz2webcall_banners31458870000000000000breezz2vce_functions314588824000131000320420breezz2callback_jobs31458890000000000000breezz2fax_request31458900000000000000breezz2fax_list3145891000068000136068680breezz2fax_errors31458920000000000000breezz2hangup_status31458930000000000000breezz2hangup_cause31458940000000000000breezz2isdn_cause31458950000000000000breezz2voice_encoding31458960000000000000breezz2voice_mail31458970000000000000breezz2rad_check31458980000000000000breezz2rad_groupcheck31458990000000000000breezz2rad_groupreply31459000000000000000breezz2rad_reply31459010000000000000breezz2rad_usergroup31459020000000000000breezz2dial_prefix_plan31459030000400080440breezz2dialing_prefix31459040000000000000breezz2weekday_type31459050000000000000breezz2holidays_cust31459060000000000000breezz2day_time_slices31459070000000000000breezz2calltime_periods31459080000000000000breezz2calltime_steps31459090000000000000breezz2pricelst_tq31459100000120750002415201207600breezz2tariffs_tq3145911000066466000947940020breezz2tq_plans314591242200019665000585280967100breezz2tq_plan_plists3145913000060380000966080000breezz2specdisc_plst31459140000163420003268301634210breezz2specdisc_cust31459150000240300048060240330breezz2call_time_disc31459160000000000000breezz2service_class31459173200036000400420breezz2stop_regions3145918000010060520000101180360020breezz2stop_phone31459190000480600096120480620breezz2dial_up_setup31459200000000000000breezz2ip_tariffs_tq31459210000000000000breezz2anal_mask31459220000000000000breezz2accplan_tq31459230000000000000breezz2accchart_tq31459240000000000000breezz2acc_bal_curr31459250000000000000breezz2anal_bal_curr31459260000000000000breezz2acc_bal_init31459270000000000000breezz2anal_bal_init31459280000000000000breezz2opr_type_tq3145929537934000143980001073290714800breezz2trantypc_tq3145930119460000000142880000breezz2oprtp2tt3145931119460000000142880000breezz2analytic_type31459344000044000480420breezz2analytic_object31459350000000000000breezz2invoice_tq31459360000000000000breezz2inv_details31459370000000000000breezz2cust_rep_header31459380000000000000breezz2cust_report31459390000000000000breezz2agent_rep_web31459400000000000000breezz2acc_rep_header31459410000000000000breezz2account_report31459420000000000000breezz2debt_age_header31459430000000000000breezz2debt_age_report31459440000000000000breezz2prod_lic_agreemt31459450000000000000breezz2prod_lic_req31459460000000000000breezz2prod_req_body31459470000000000000breezz2switch_license31459480000000000000breezz2billing_license31459490000000000000breezz2looking_glasses31459500000000000000breezz2lg_routers31459510000000000000breezz2lg_jobs31459520000000000000breezz2lg_job_output31459530000000000000breezz2gateways31459540000000000000breezz2gatekeepers31459550000000000000breezz2gw_vendors31459560000000000000breezz2gw_types31459570000000000000breezz2ip_backbones31459580000000000000breezz2gw_prefixes31459590000000000000breezz2qos_members31459600000000000000breezz2qos_setup31459610000000000000breezz2qos_output31459620000000000000breezz2qos_lastdump31459630000000000000breezz2blob_obj31459640000000000000breezz2mess_list31459650000000000000breezz2 287_90931459660000000000000breezz2mess_book_name31459670000000000000breezz2 288_91431459680000000000000breezz2mess_addr31459690000000000000breezz2 289_91631459700000000000000breezz2mess_book_oper31459710000000000000breezz2 290_92131459720000000000000breezz2 290_92231459730000000000000breezz2mess_book_addroper31459740000000000000breezz2 291_92831459750000000000000breezz2mess_book_group31459760000000000000breezz2 292_93631459770000000000000breezz2 292_93731459780000000000000breezz2mess_gr_send_conn31459790000000000000breezz2 293_94331459800000000000000breezz2mess_list_send31459810000000000000breezz2 294_94631459820000000000000breezz2mess_access_conn31459830000000000000breezz2 295_95231459840000000000000breezz2mess_setup31459850000000000000breezz2 296_95531459860000000000000breezz2mess_rass_addr31459870000000000000breezz2 297_95831459880000000000000breezz2mess_stat31459890000000000000breezz2 298_96031459900000000000000breezz2news_setup31459910000000000000breezz2 299_96331459920000000000000breezz2news_list31459930000000000000breezz2 300_96931459940000000000000breezz2news_list_picture31459950000000000000breezz2 301_97631459960000000000000breezz2news_source_prov31459970000000000000breezz2 302_98131459980000000000000breezz2 302_98231459990000000000000breezz2 302_98331460000000000000000breezz2news_source31460010000000000000breezz2 303_99131460020000000000000breezz2news_group31460030000000000000breezz2 304_100031460040000000000000breezz2 304_100131460050000000000000breezz2news_gr_conn31460060000000000000breezz2 305_100531460070000000000000breezz2mess_access_list31460080000000000000breezz2 306_100931460090000000000000breezz2 306_101031460100000000000000breezz2pbx_acc_dtl_param31460110000000000000breezz2cdr_profiles31460120000000000000breezz2cdr_fields31460130000000000000breezz2cdr_columns31460140000000000000breezz2cdr_migr31460150000000000000breezz2cdr_delete31460160000000000000breezz2voice_mail_setup31460172000200020110breezz2stop_cause31460181200016000200420breezz2debts31460190000000000000breezz2 315_107231460200000000000000breezz2debt_details31460210000000000000breezz2 316_107731460220000000000000breezz2agent_disc31460230000000000000breezz2 317_108231460240000000000000breezz2ix_pcustomers131460250000000000000breezz2ixpcust_code31460260000000000000breezz2ix_service131460270000000000000breezz2ix_p_contact_hist131460280000000000000breezz2ix_pnotes131460290000000000000breezz2ix_webmmasks131460300000000000000breezz2ix_acc_accmast31460310000000000000breezz2ix_acc_control31460320000000000000breezz2ix_acc_control_up31460330000000000000breezz2ix_acc_fcdr31460340000000000000breezz2ix_acc_rech314603518000000024120115breezz2ix_acc_startd314603690000000126063breezz2ix_account_exp314603700001108863950001140240070000breezz2ix_accounts13146038132558000187048000378802001570breezz2if_acc_dtl1314603933000000048170344breezz2ix_accdtl_pwd314604035000000015319010017breezz2ix_acct_details13146041286600004719800011824217039024breezz2ix_acct_dtl_acc31460421545000321910197000440809925190617breezz2ix_acct_dtl_ani3146043340000000972404614breezz2ix_acct_dtl_did314604435000200052170364breezz2ix_acct_dtl_pin31460459500000001474905317breezz2ix_acct_dtl_pwd31460463500019058000493781901432817breezz2ix_acct_dtl_tqp314604732000000048170355breezz2if_did_num131460480000000000000breezz2ix_did_numbers31460490000000000000breezz2ix_acct_traf_acc3146050128027000241547000188774004390breezz2ix_acct_traf_dt31460519220009220009510040breezz2ix_acct_traffic31460520000000000000breezz2ix_agent_traf_ag31460530000000000000breezz2ix_agent_traf_dt31460542142300024293000357050000breezz2ix_agent_traffic31460550000000000000breezz2ix_batch_id31460560000000000000breezz2ix_pers_org3146057800000001240113breezz2ix_pers_systp314605826000600040120186breezz2ix_pers_up_code31460598000000084073breezz2ix_person_code31460608000000084073breezz2ix_person_cont3146061800000001240113breezz2ix_person_email3146062800000001240113breezz2ix_person_fax3146063800000001240113breezz2ix_person_first3146064800000001240113breezz2ix_person_name31460658000000084084breezz2ix_person_phone3146066800000001240113breezz2ix_person_phone23146067800000001240113breezz2ix_persons131460683800002486400049744402083breezz2ix_bankacc131460690000000000000breezz2ixbankacc131460700000000000000breezz2ixbankacc231460710000000000000breezz2ixbankacc331460720000000000000breezz2iu_cdr_endcall31460737204613993228200000801611036801126634breezz2ix_cdr_account314607418929100633000003069394060117384807breezz2ix_cdr_begcall314607517881237186000003737695080340715breezz2ix_cdr_cust314607616255114000002855691920120214778breezz2ix_cdr_date3146077295493017744000002977484500100212breezz2ix_cdr_prov314607815554380000002503683660492578breezz2ix_cdr_region31460791539900000002601883670132145046breezz2ix_cdr1314608027780740021093000838498730072256breezz2ix_f_calls_acc3146081910800000001816546300113242664breezz2ix_f_calls_date314608291071000000180884625035100breezz2ix_failed_calls314608391430000000182904726060162breezz2ix_currency131460840000000000000breezz2ix_cnformtq_c31460850000000000000breezz2ix_cnformtq131460860000000000000breezz2ix_cnformtq231460870000000000000breezz2ix_word_case131460880000000000000breezz2ix_word_form131460890000000000000breezz2ix_crcy_rtp131460900000000000000breezz2ix_crate_ca31460910000000000000breezz2ix_crate_cb31460920000000000000breezz2ix_crate_dt31460930000000000000breezz2ix_crate_tp31460940000000000000breezz2ix_crcy_rate131460950000000000000breezz2ix_providers131460960000135960002039400130breezz2ix_providers_pl131460970000000000000breezz2ix_providers_ra131460980000000000000breezz2ix_agent_pers31460990000000000000breezz2ix_agents131461001363400015850000237750010breezz2ixagent_code31461010000000000000breezz2ix_agent_commiss231461020000000000000breezz2ix_acct_type231461030000000000000breezz2ix_acct_stat131461040000000000000breezz2ix_bill_delv131461050000000000000breezz2ix_bill_shed131461060000000000000breezz2ix_cconn_type131461070000000000000breezz2ix_languages131461081600016000240080breezz2ix_languages231461090000000000000breezz2ix_number_style31461100000000000000breezz2ix_promotion131461110000000000000breezz2ix_trouble_tp131461120000000000000breezz2ix_pbx31461130000000000000breezz2ix_pbx_type131461140000000000000breezz2ix_pay_type131461151000010000150040breezz2ix_notes131461160000000000000breezz2ix_description31461170000000000000breezz2ix_tq_est131461180000000000000breezz2ix_mktng_ct131461190000000000000breezz2ix_agreements131461200000000000000breezz2ix_doc_types131461210000000000000breezz2ix_cust_pay_acc31461226000000063063breezz2ix_cust_pay_date31461236000000063063breezz2ix_customer_pay131461241200060002430123breezz2ix_trans_accfrom31461250000000000000breezz2ix_trans_accto31461260000000000000breezz2ix_transfers31461270000000000000breezz2ix_serv_fees31461280000000000000breezz2ix_serv_fees_acc31461290000000000000breezz2ix_p_cards131461300000000000000breezz2ix_cr_card_ty131461310000000000000breezz2ix_cr_cards131461320000000000000breezz2ixcust_cr_cards131461330000000000000breezz2ix_agent_credit131461340000000000000breezz2ix_agent_paymen131461350000000000000breezz2ix_continent131461364200042000630010breezz2ix_region_maps131461374000040000600010breezz2ix_regions13146138165280003288800066500008230breezz2ix_regions231461390000114988000649045002290breezz2ix_pr_alt_rates131461400000000000000breezz2ix_cust_pers314614138000290007480333breezz2ix_customers13146142194290004390800085855140487breezz2ixcust_code3146143800000001240113breezz2ixcust_code_up31461448000000084073breezz2ix_troub_tick131461450000000000000breezz2ix_rech_cust31461461500090003030133breezz2ix_rech_date31461476000000063063breezz2ix_recharges131461486000000063063breezz2ix_providers_pa131461490000000000000breezz2ix_rate_appl_tp131461500000000000000breezz2ix_setup_tq131461510000000000000breezz2ix_gm_tq131461520000000000000breezz2ix_users_tq131461530000000000000breezz2ix_sess_date31461548000000084084breezz2ix_sess131461551400060002040134breezz2ix_sess_sys131461561580001360003051703110breezz2ix_sess_sys231461571700060002670125breezz2ix_sess_tp_tq131461580000000000000breezz2ix_journal131461590000000000000breezz2ix_rec_history1314616015100000001997102711breezz2ixrec_hist_date3146161346000000065420105518breezz2ixrec_hist_rec314616215100000002027208028breezz2ix_modules_tq131461630000000000000breezz2ix_modules_tq231461640000000000000breezz2ix_tables_tq131461650000000000000breezz2ix_tables_tq2314616612082000144240002884800100breezz2ix_fun_repos131461670000000000000breezz2ix_fun_repos231461680000000000000breezz2ix_actions_tq131461690000000000000breezz2ix_grant_tq31461700000000000000breezz2ix_grant_detail31461710000000000000breezz2ix_n2s_enu_131461720000000000000breezz2ix_impcdr131461730000000000000breezz2ix_cdr_ca31461740000000000000breezz2ix_cdr_tmp131461750000000000000breezz2ix_itelhead_pers31461760000000000000breezz2ix_itelhead_tq131461770000000000000breezz2ix_itelhead_user31461780000000000000breezz2ix_itelbody_il31461790000000000000breezz2ix_itelbody_rec31461800000000000000breezz2ix_itelbody_tq131461810000000000000breezz2ix_enumeration31461820000000000000breezz2ix_board_id31461830000000000000breezz2ix_board_num31461840000000000000breezz2ix_board_tp_id31461850000000000000breezz2ix_isdnp_board31461860000000000000breezz2ix_isdnp_id31461870000000000000breezz2ix_isdntrunk31461880000000000000breezz2ix_isdn_optp_id31461890000000000000breezz2ix_tgroup_id31461900000000000000breezz2ix_trunks_tq131461910000000000000breezz2ix_trunk_gr131461920000000000000breezz2ix_vmenu_up31461930000000000000breezz2ix_voice_menu131461940000000000000breezz2ix_menu_branch31461950000000000000breezz2ix_v_prompt_code31461960000000000000breezz2ix_voice_prompt131461970000000000000breezz2ix_appl_fun131461980000000000000breezz2ix_phon_als_acc3146199410100024350002782002470breezz2ix_phon_als_num3146200201900020950002546001110breezz2ix_phone_als131462010000000000000breezz2ix_port_stat_dt31462028602000000017215436707468breezz2ix_port_stat131462038636000000017257444307880breezz2ix_group_stat_dt3146204260000000261302613breezz2ix_group_stat13146205260000000261302613breezz2ix_port_type131462060000000000000breezz2ix_group_alg131462070000000000000breezz2ix_time_lim_id31462080000000000000breezz2ix_edetect_id31462090000000000000breezz2ix_trunk_ah131462100000000000000breezz2if_trunk_auth131462110000000000000breezz2if_trunk_auth231462120000000000000breezz2ix_trunk_al131462130000000000000breezz2ix_trunk_alh31462140000000000000breezz2ix_trunk_auth_l131462150000000000000breezz2ix_trunk_auth_l231462160000000000000breezz2ix_bundle_id31462170000000000000breezz2ix_lcon_id31462180000000000000breezz2ix_lcon_stat_id31462190000000000000breezz2ix_lconstat_date31462200000000000000breezz2ix_dial_up_sess31462210000000000000breezz2ix_callback_acc31462226000600070010breezz2ix_callback_adtl31462230000000020020breezz2ix_callback_cust31462240000000000000breezz2ix_callback_id31462250000000000000breezz2ix_wc_banners31462260000000000000breezz2ix_vce_fun131462270000000000000breezz2ix_cbk_job_acc31462280000000000000breezz2ix_cbk_job_id31462290000000000000breezz2ix_fr_cr_date31462300000000000000breezz2ix_fr_request_id31462310000000000000breezz2ix_fl_num_id31462320000000000000breezz2ix_fl_req_id31462330000000000000breezz2ix_fax_err_lbl31462340000000000000breezz2ix_fax_err131462350000000000000breezz2ix_hup_stat_lbl31462360000000000000breezz2ix_hup_stat131462370000000000000breezz2ix_h_cause_lbl31462380000000000000breezz2ix_h_cause131462390000000000000breezz2ix_i_cause_lbl31462400000000000000breezz2ix_i_cause131462410000000000000breezz2ix_encoding31462420000000000000breezz2ix_encoding_lbl31462430000000000000breezz2ix_vmail_acc31462440000000000000breezz2ix_vmail_id31462450000000000000breezz2ix_rad_check31462460000000000000breezz2ix_rad_grpcheck31462470000000000000breezz2ix_rad_grpreply31462480000000000000breezz2ix_rad_reply31462490000000000000breezz2ix_rad_usergroup31462500000000000000breezz2ix_dial_plan31462510000000000000breezz2ix_dial_pref_un31462520000000000000breezz2ix_dial_prefix31462530000000000000breezz2ix_weekday31462540000000000000breezz2ix_holiday_date314625500000000241530000breezz2ix_holidays131462560000000000000breezz2ix_day_t_sli131462570000000000000breezz2ix_call_period131462580000000000000breezz2ix_calltime_step31462590000000000000breezz2ix_plst_prov31462600000000000000breezz2ix_pricelst131462610000000000000breezz2ix_tariffs131462620000000000000breezz2ix_tf_plst31462630000000000000breezz2ix_tf_region31462640000123124000298672003130breezz2ix_tq_plans13146265574000782280001173410000breezz2ix_tq_p2p_plan31462660000000000000breezz2ix_tq_p2p_plst314626700001449120001932150000breezz2ix_tq_p2p131462680000000000000breezz2ix_sdisc_tqplan314626900000000648810010breezz2ix_specdisc131462700000000000000breezz2ix_spdisc_cust31462710000000096770000breezz2ix_specdisc_cust31462720000000000000breezz2ix_call_disc131462730000000000000breezz2ix_serv_class131462740000000000000breezz2ix_stop_prov3146275000010175687000105495100000breezz2ix_stop_region31462760000000000000breezz2ix_stopreg131462770000000000000breezz2ix_stop_phone3146278000019346000580380000breezz2ix_stopph_prov31462790000000000000breezz2ix_dial_up_setup31462800000000000000breezz2ix_ip_tariffs31462810000000000000breezz2ix_amask131462820000000000000breezz2ix_apl_tq131462830000000000000breezz2ix_ach_tq_code31462840000000000000breezz2ix_ach_tq131462850000000000000breezz2ix_acc_bal_curr131462860000000000000breezz2ix_acc_bal_curr231462870000000000000breezz2ix_anal_bal_c_131462880000000000000breezz2ix_anal_bal_c_231462890000000000000breezz2ix_anal_bal_c_331462900000000000000breezz2ix_acc_bal_init131462910000000000000breezz2ix_acc_bal_init231462920000000000000breezz2ix_anal_bal_i_131462930000000000000breezz2ix_anal_bal_i_231462940000000000000breezz2ix_anal_bal_i_331462950000000000000breezz2ix_opr_type_1314629680008000120040breezz2ix_tt_tq131462972389200028576000428640000breezz2ix_o2tt_131462980000000000000breezz2ix_o2tt_opr31462991792200021435000285820000breezz2ix_o2tt_tt31463000000000000000breezz2ix_tj_acc_c3146301136820000000273816943043128breezz2ix_tj_acc_d3146302136820000000273816943047128breezz2ix_tj_date3146303136840000000273866950036130breezz2ix_tj_deal3146304137390000000274777094078207breezz2ix_tj_pdoc3146305137950000000275807253088240breezz2ix_tj_tq13146306137370000000274737088075203breezz2ix_deal_agent3146307143360000000286867277035168breezz2ix_deal_cust314630832444911100037589105000038538169672520929704563breezz2ix_deal_month3146309143360000000286877279037130breezz2ix_deal_pdoc3146310143310000000501207269039131breezz2ix_deal_prov3146311143310000000286827269049128breezz2ix_deals_tq131463122804500013648000697257428077207breezz2ix_anal_type31463130000000000000breezz2ix_anal_object31463140000000000000breezz2ix_inv_tq131463150000000000000breezz2ix_inv_details31463160000000000000breezz2ix_inv_dtl31463170000000000000breezz2ix_cust_rep_hdr31463180000000000000breezz2ix_cust_rep_131463190000000000000breezz2ix_cust_report31463200000000000000breezz2ix_arweb_cust31463210000000000000breezz2ix_arweb_id31463220000000000000breezz2ix_arweb_sess31463230000000030030breezz2ix_acc_rep_hdr31463240000000000000breezz2ix_acc_rep_131463250000000000000breezz2ix_acc_report31463260000000000000breezz2ix_debt_rep_hdr31463270000000000000breezz2ix_debt_rep_131463280000000000000breezz2ix_debt_rep_231463290000000000000breezz2ix_debt_rep_331463300000000000000breezz2ix_debt_rep_431463310000000000000breezz2ix_debt_rep_531463320000000000000breezz2ix_debt_report31463330000000000000breezz2ix_pl_agrmt_id31463340000000000000breezz2ix_pl_agrmt_num31463350000000000000breezz2ix_pl_agrmt_pers31463360000000000000breezz2ix_pl_req_agrmt31463370000000000000breezz2ix_pl_req_id31463380000000000000breezz2ix_pl_body_id31463390000000000000breezz2ix_pl_req_body31463400000000000000breezz2ix_sw_lic_id31463410000000000000breezz2ix_bill_lic_id31463420000000000000breezz2ix_lookgl_id31463430000000000000breezz2ix_lgrouter_id31463440000000000000breezz2ix_lgrouter_lg31463450000000000000breezz2ix_lgjob_id31463460000000000000breezz2ix_lgjob_lg31463470000000000000breezz2ix_lgjobout_id31463480000000000000breezz2ix_lgout_date31463490000000000000breezz2ix_lgout_job31463500000000000000breezz2ix_gw_cust31463510000000000000breezz2ix_gw_id31463520000000000000breezz2ix_gk_cust31463530000000000000breezz2ix_gk_id31463540000000000000breezz2ix_gw_vendor31463550000000000000breezz2ix_gw_type31463560000000000000breezz2ix_ip_bb_id31463570000000000000breezz2ix_gw_pfx_gw31463580000000000000breezz2ix_gw_pfx_id31463590000000000000breezz2ix_qos_mb_id31463600000000000000breezz2ix_qos_setup_id31463610000000000000breezz2ix_qos_gw_dest31463620000000000000breezz2ix_qos_gw_src31463630000000000000breezz2ix_qos_mb_dest31463640000000000000breezz2ix_qos_mb_src31463650000000000000breezz2ix_qos_out_dt31463660000000000000breezz2ix_qos_ld_gw_dest31463670000000000000breezz2ix_qos_ld_gw_src31463680000000000000breezz2ix_qos_ld_mb_dest31463690000000000000breezz2ix_qos_ld_mb_src31463700000000000000breezz2ix_blob_obj31463710000000000000breezz2iu_pbx_acc_dtl_p131463720000000000000breezz2ix_pbx_acc_dtl_p231463730000000000000breezz2ix_cdr_profile131463740000000000000breezz2iu_cdr_fields131463750000000000000breezz2iu_cdr_fields231463760000000000000breezz2ix_cdr_fields131463770000000000000breezz2ix_cdr_col_prfl31463780000000000000breezz2ix_cdr_columns131463790000000000000breezz2ix_cdr_profile31463800000000000000breezz2iu_cdr_del131463810000000000000breezz2ix_cdr_del_acc31463820000000000000breezz2ix_cdr_del_cust31463830000000000000breezz2ix_cdr_del_date31463840000000000000breezz2ix_cdr_del_reg31463850000000000000breezz2ix_vmailse_id31463860000000000000breezz2iu_stop_cause131463870000000000000breezz2 101_127631463880000000000000breezz2 102_127831463890000000000000breezz2 103_127931463900000000000000breezz2 287_128031463910000000000000breezz2 288_128131463920000000000000breezz2 288_128231463930000000000000breezz2 289_128331463940000000000000breezz2 289_128431463950000000000000breezz2 292_128531463960000000000000breezz2 293_128631463970000000000000breezz2 293_128731463980000000000000breezz2 293_128831463990000000000000breezz2 294_128931464000000000000000breezz2 294_129031464010000000000000breezz2 295_129131464020000000000000breezz2 296_129231464030000000000000breezz2 291_129331464040000000000000breezz2 297_129431464050000000000000breezz2 297_129531464060000000000000breezz2 298_129631464070000000000000breezz2 299_129731464080000000000000breezz2 299_129831464090000000000000breezz2 300_129931464100000000000000breezz2 300_130031464110000000000000breezz2 301_130131464120000000000000breezz2 303_130231464130000000000000breezz2 304_130331464140000000000000breezz2 304_130431464150000000000000breezz2 305_130531464160000000000000breezz2 305_130631464170000000000000breezz2 306_130731464180000000000000breezz2 295_130831464190000000000000breezz2 307_130931464200000000020020breezz2 114_131131464211540000000002498183660497577breezz2 106_1312314642234670003359000385160464breezz2 106_131331464230000000000000breezz2 106_131431464240000000000000breezz2 111_131731464250000000000000breezz2 111_131831464260000000000000breezz2 140_131931464270000000000000breezz2 142_132031464280000000000000breezz2 143_132131464290000000000000breezz2 144_132231464300000000000000breezz2 113_132331464310000000000000breezz2 125_132431464320000000000000breezz2 125_132531464330000000000000breezz2 124_132631464340000000000000breezz2 161_132731464350000000000000breezz2 153_132831464360000000000000breezz2 146_132931464376000000093093breezz2 151_133331464380000000000000breezz2 152_133431464390000000000000breezz2 157_133531464400000000000000breezz2 157_133631464410000000000000breezz2 160_133731464426000000063063breezz2 160_133831464436000000093093breezz2 127_133931464440000000079210000breezz2 118_134131464450000000000000breezz2 118_134231464460000000000000breezz2 156_134631464470000000000000breezz2 123_134931464480000000000000breezz2 181_135131464490000000000000breezz2 205_135231464500000000000000breezz2 205_135331464510000000000000breezz2 205_135431464520000000000000breezz2 206_135531464530000000000000breezz2 206_135631464540000000000000breezz2 206_135731464550000000000000breezz2 187_136231464560000000000000breezz2 185_136331464570000000000000breezz2 238_137031464580000000000000breezz2 242_137131464590000000000000breezz2 243_137231464600000000000000breezz2 246_137331464610000000000000breezz2 252_137731464620000000000000breezz2 210_139331464630000000000000breezz2 315_139431464640000000000000breezz2 315_139531464650000000000000breezz2 316_139631464660000000000000breezz2 317_139731464670000000000000breezz2 317_139831464680000000000000breezz2 317_139931464690000000000000breezz2 317_140031464700000000000000breezz2 317_140131464710000000000000breezz2test_ani31464720000000000000breezz2temp_ani31464730000000000000tmpTBLSpace41943050000000000000
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36010790
Дбашкабрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
onstat-Дбашкабрр

1) informix.cdr: SEQUENTIAL SCAN



Это значит что по таблице cdr не работает индексный поиск.

Какую нагрузку несет таблица cdr, какие там индексы?

Сколько записей в этой таблице на первом сервере и сколько на втором ?


Код: 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.
 1 ) ужас...
 2 ) Мега нагрузку... запись звонков...  телефония...

 3 )

 1 -й сервер
выдал сразу...

 11   237   634  записи


--  Index informix.iu_cdr_endcall  
CREATE  INDEX informix.iu_cdr_endcall ON informix.cdr (
  faend_call ASC)
---

--  Index informix.ix_cdr_begcall  
CREATE  INDEX informix.ix_cdr_begcall ON informix.cdr (
  fabeg_call ASC)
---

--  Index informix.ix_cdr_date  
CREATE  INDEX informix.ix_cdr_date ON informix.cdr (
  fdcall_date ASC)
---

--  Index informix.ix_cdr_prov  
CREATE  INDEX informix.ix_cdr_prov ON informix.cdr (
  fiprovider_id ASC)
---

--  Index informix.ix_cdr_region  
CREATE  INDEX informix.ix_cdr_region ON informix.cdr (
  firegion_id ASC)
---

--  PrimaryKey informix.ct_cdr2  
ALTER TABLE informix.cdr ADD CONSTRAINT 
 PRIMARY KEY (ficdr_id) 
 CONSTRAINT informix.ct_cdr2
---

--  ForeignKey informix.fk_cdr1  
ALTER TABLE informix.cdr ADD CONSTRAINT 
 FOREIGN KEY (fiaccount_id) 
 REFERENCES informix.accounts
 CONSTRAINT informix.fk_cdr1
---

--  ForeignKey informix.fk_cdr_batch  
ALTER TABLE informix.cdr ADD CONSTRAINT 
 FOREIGN KEY (fibatch_id) 
 REFERENCES informix.batches
 CONSTRAINT informix.fk_cdr_batch
---

--  ForeignKey informix.fk_cdr_cust  
ALTER TABLE informix.cdr ADD CONSTRAINT 
 FOREIGN KEY (ficust_id) 
 REFERENCES informix.customers
 CONSTRAINT informix.fk_cdr_cust

 2 -й 
Я налетел на ISAM ERROR: Lock Time....
Включил SET ISOLATION TO DIRTY READ;

 8   734   923  записи....



--  Index informix.iu_cdr_endcall  
CREATE  INDEX informix.iu_cdr_endcall ON informix.cdr (
  faend_call ASC)
---

--  Index informix.ix_cdr_begcall  
CREATE  INDEX informix.ix_cdr_begcall ON informix.cdr (
  fabeg_call ASC)
---

--  Index informix.ix_cdr_date  
CREATE  INDEX informix.ix_cdr_date ON informix.cdr (
  fdcall_date ASC)
---

--  Index informix.ix_cdr_prov  
CREATE  INDEX informix.ix_cdr_prov ON informix.cdr (
  fiprovider_id ASC)
---

--  Index informix.ix_cdr_region  
CREATE  INDEX informix.ix_cdr_region ON informix.cdr (
  firegion_id ASC)
---

--  PrimaryKey informix.ct_cdr2  
ALTER TABLE informix.cdr ADD CONSTRAINT 
 PRIMARY KEY (ficdr_id) 
 CONSTRAINT informix.ct_cdr2
---

--  ForeignKey informix.fk_cdr1  
ALTER TABLE informix.cdr ADD CONSTRAINT 
 FOREIGN KEY (fiaccount_id) 
 REFERENCES informix.accounts
 CONSTRAINT informix.fk_cdr1
---

--  ForeignKey informix.fk_cdr_batch  
ALTER TABLE informix.cdr ADD CONSTRAINT 
 FOREIGN KEY (fibatch_id) 
 REFERENCES informix.batches
 CONSTRAINT informix.fk_cdr_batch
---

--  ForeignKey informix.fk_cdr_cust  
ALTER TABLE informix.cdr ADD CONSTRAINT 
 FOREIGN KEY (ficust_id) 
 REFERENCES informix.customers
 CONSTRAINT informix.fk_cdr_cust

...
Рейтинг: 0 / 0
Мучают блокировки...
    #36010811
onstat-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДбашкабррСтатистика по таблицам...

dbnametabnamepartnumlockreqslockwtsdeadlkslktoutsisreadsiswritesisrewritesisdeletesbufreadsbufwritesseqscanspagreadspagwritesbreezz2deals_tq3145933324462813000375876151714768213375911274154390246805195594breezz2ix_acct_dtl_pwd31460463500019058000493781901432817breezz2iu_cdr_endcall31460737204613993228200000801611036801126634breezz2ix_cdr_account314607418929100633000003069394060117384807breezz2ix_cdr_begcall314607517881237186000003737695080340715breezz2ix_cdr_cust314607616255114000002855691920120214778breezz2ix_cdr_date3146077295493017744000002977484500100212breezz2ix_cdr_prov314607815554380000002503683660492578breezz2ix_cdr_region31460791539900000002601883670132145046breezz2ix_deal_cust314630832444911100037589105000038538169672520929704563

Вот он активный дисковый ввод вывод
( отсортируйте по pagreads по убыванию)

Оснобенно настораживают
deals_tq и ix_deal_cust

На сколько отличается количество записей на разный серверах в deals_tq ?
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36010838
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дбашкабрр, так чтоб статистика ужасал - вроде нет, самое "прикольное" что не видно соответствия между seqscan статистики и SEQSCAN sqexplain.out для таблицы cdr... :(.

1. Сравнивайте схему cdr на первом и втором сервере.
2. Нагрузка на второй сервер отличается только объёмом или ещё и функциональностью?
3. Ещё раз напомню - я никогда не повторяюсь :). Где sqexplain от UPDSTATPROC?
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36010856
Дбашкабрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
АнатоЛойДбашкабрр, так чтоб статистика ужасал - вроде нет, самое "прикольное" что не видно соответствия между seqscan статистики и SEQSCAN sqexplain.out для таблицы cdr... :(.

1. Сравнивайте схему cdr на первом и втором сервере.
2. Нагрузка на второй сервер отличается только объёмом или ещё и функциональностью?
3. Ещё раз напомню - я никогда не повторяюсь :). Где sqexplain от UPDSTATPROC?


1. попробую
2. нагрузка отличается только объемом...
3. не могу понять как его получить?
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36010879
Дбашкабрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
onstat-ДбашкабррСтатистика по таблицам...

dbnametabnamepartnumlockreqslockwtsdeadlkslktoutsisreadsiswritesisrewritesisdeletesbufreadsbufwritesseqscanspagreadspagwritesbreezz2deals_tq3145933324462813000375876151714768213375911274154390246805195594breezz2ix_acct_dtl_pwd31460463500019058000493781901432817breezz2iu_cdr_endcall31460737204613993228200000801611036801126634breezz2ix_cdr_account314607418929100633000003069394060117384807breezz2ix_cdr_begcall314607517881237186000003737695080340715breezz2ix_cdr_cust314607616255114000002855691920120214778breezz2ix_cdr_date3146077295493017744000002977484500100212breezz2ix_cdr_prov314607815554380000002503683660492578breezz2ix_cdr_region31460791539900000002601883670132145046breezz2ix_deal_cust314630832444911100037589105000038538169672520929704563

Вот он активный дисковый ввод вывод
( отсортируйте по pagreads по убыванию)

Оснобенно настораживают
deals_tq и ix_deal_cust

На сколько отличается количество записей на разный серверах в deals_tq ?

Опа...
На 1-м сервер 0 !
На втором 7 014 853 !
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36010882
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АнатоЛойДбашкабрр, так чтоб статистика ужасал - вроде нет, самое "прикольное" что не видно соответствия между seqscan статистики и SEQSCAN sqexplain.out для таблицы cdr... :(.
Это я по поводу ТОЛЬКО cdr.
Про pagreads Вам уже сказали.
Ну и наконец-то обратите внимание на колонку так волновавших Вас deadlocks:
пойманы с поличным accounts и индексы от cdr. Для cdr может быть помогут LOCK MODE ROW или изменение индексов (добавление допстолбцов или даже вплоть до удаления). А поскольку accounts уже переведён в LOCK MODE ROW - явная проблема архитектуры хранения данных и, имхо, без переработки структуры и самой программы вряд ли чем-то поможешь...
Кстати, Вас лично deadlock смущали в статистике, а как насчёт работы программ - они настолько отказоустойчивы и просто "замедляют свою работу"? Или проблем с эксплуатацие программ нет?
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36010893
Дбашкабрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
АнатоЛойАнатоЛойДбашкабрр, так чтоб статистика ужасал - вроде нет, самое "прикольное" что не видно соответствия между seqscan статистики и SEQSCAN sqexplain.out для таблицы cdr... :(.
Это я по поводу ТОЛЬКО cdr.
Про pagreads Вам уже сказали.
Ну и наконец-то обратите внимание на колонку так волновавших Вас deadlocks:
пойманы с поличным accounts и индексы от cdr. Для cdr может быть помогут LOCK MODE ROW или изменение индексов (добавление допстолбцов или даже вплоть до удаления). А поскольку accounts уже переведён в LOCK MODE ROW - явная проблема архитектуры хранения данных и, имхо, без переработки структуры и самой программы вряд ли чем-то поможешь...
Кстати, Вас лично deadlock смущали в статистике, а как насчёт работы программ - они настолько отказоустойчивы и просто "замедляют свою работу"? Или проблем с эксплуатацие программ нет?

ПО которое пишет звонки проблем особых не испытывает... хотя я видел проскакивали ошибки записи в таблицу cdr по блокировке.

Из под клиентского ПО ситуация такая:
Пытаешь найти какой нить счет клиента... ждешь... ждешь... ISAM: Lock Ex... очень часто.
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36010894
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дбашкабрр
3. не могу понять как его получить?

Эээ, ещё раз:

1. Удаляем в домашнем каталоге пользователя, под которым собираемся выполнять UPD STAT, файл sqexplain.out
2. Открываем сессию и выполняем:

SET ISOLATION TO DIRTY READ;
SET LOCK MODE TO WAIT 15;
SET EXPLAIN ON;
UPDATE STATISTICS FOR PROCEDURE;
SET EXPLAIN OFF;

3. Забираем с сервера sqexplain.out
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36010924
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дбашкабрр
ПО которое пишет звонки проблем особых не испытывает... хотя я видел проскакивали ошибки записи в таблицу cdr по блокировке.

Да, именно поэтому и советовал LOCK MODE ROW, и нужен всесторонний анализ эффективности использования индексов (а может как и в случае accounts - переработка ПО :( )

Дбашкабрр
Из под клиентского ПО ситуация такая:
Пытаешь найти какой нить счет клиента... ждешь... ждешь... ISAM: Lock Ex... очень часто.
1. Выяснять на каком запросе/таблице проблема
2. Может быть проблема в банальном ISOLATION LEVEL сессии - слишком высокий для такой функциональности (опять таки нужно исправлять ПО)
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36010948
Дбашкабрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
АнатоЛойДбашкабрр
3. не могу понять как его получить?

Эээ, ещё раз:

1. Удаляем в домашнем каталоге пользователя, под которым собираемся выполнять UPD STAT, файл sqexplain.out
2. Открываем сессию и выполняем:

SET ISOLATION TO DIRTY READ;
SET LOCK MODE TO WAIT 15;
SET EXPLAIN ON;
UPDATE STATISTICS FOR PROCEDURE;
SET EXPLAIN OFF;

3. Забираем с сервера sqexplain.out


Есть результат. См. вложение.
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36010980
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
onstat-ДбашкабррСтатистика по таблицам...

Оснобенно настораживают
deals_tq и ix_deal_cust


Дбашкабрр, обратили внимание?
В первую очередь нужно выяснить, какие запросы работают с deals_tq: sqexplain.out + dbschema + исходники клиентов... Проверить, как они оптимизируются...

Во вторую очередь: от какой таблицы индекс deal_cust, и для этой таблицы сделать то же что и для deals_tq...

П.С.: Кстати, не помню, рассказывал ли уже на форуме, был у нас случай, когда зашкаливали счётчики seqscan на таблицах большого объёма. Катастрофического падения производительности не наблюдалось - но "неприятный осадок в душе " ((с) анек) оставался...

Выяснилось, что это результаты работы запросов типа SELECT FIRST 1 ... FROM <table>. То есть оптимизатор естественно выбирает SEQSCAN, счётчики щёлкают - но реальная нагрузка мизерная. Понятно, что запросы были явно "не феншуй" - и переделывались, но всё тот же "неприятный осадок" из анекдота остался...
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36010981
onstat-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дбашкабрр

Опа...
На 1-м сервер 0 !
На втором 7 014 853 !

А вы говорите , что все идентично одинаково :)

ИМХО когда на 2-м будет 0 , и блокировок тоже не будет :)

Но не спешите удалять записи, сначала спросите у аднимистратора системы ( кто отвечает за конфигурацию приложения), а потом у разработчиков.
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36010993
Дбашкабрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сравнил схемы...
Разница в 1 строчку...

1-й сервер:

set triggers "informix".dh_cdr disabled ;

2-й сервер:

ее нет....

триггер

create trigger "informix".dh_cdr delete on "informix".cdr referencing
....
execute procedure "informix".ufupdaccount
execute procedure "informix".ufupdacctraffic
execute procedure "informix".ufchmonthtraffic
execute procedure "informix".ufcdrdeltj
....

Эти процедуры тянут какую то логику по бух. чету... точнее ведению его в БД, который нафиг не нужен... т.к. ведется в другой базе... вот засада... попробую вечерком отключить этот гадский триггер...
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36011015
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дбашкабрр, недолго думая (как результат долгих обсуждений) набираем поиск в файле sqexplain.out строки ".cdr: SEQUEN" - и вуаля:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Procedure: informix.ufdel_double_cdr
...

Estimated Cost:  24859260 
Estimated # of Rows Returned:  1447359 
Temporary Files Required For: Group By

   1 ) informix.cdr: SEQUENTIAL SCAN


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Procedure: informix.ufget_calc_dcdr
QUERY:
------


Estimated Cost:  24859260 
Estimated # of Rows Returned:  1447359 
Temporary Files Required For: Group By

   1 ) informix.cdr: SEQUENTIAL SCAN

смотрите запросы и:
1. добавляйте индексы
2. задавайте вопросы разработчикам - а правильно ли это ваще написано, а не слишком лич часто запускается, а не стоит ли cdr разделить на оперативную и архивную, и т.д.
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36011038
Дбашкабрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
АнатоЛойДбашкабрр, недолго думая (как результат долгих обсуждений) набираем поиск в файле sqexplain.out строки ".cdr: SEQUEN" - и вуаля:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Procedure: informix.ufdel_double_cdr
...

Estimated Cost:  24859260 
Estimated # of Rows Returned:  1447359 
Temporary Files Required For: Group By

   1 ) informix.cdr: SEQUENTIAL SCAN


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Procedure: informix.ufget_calc_dcdr
QUERY:
------


Estimated Cost:  24859260 
Estimated # of Rows Returned:  1447359 
Temporary Files Required For: Group By

   1 ) informix.cdr: SEQUENTIAL SCAN

смотрите запросы и:
1. добавляйте индексы
2. задавайте вопросы разработчикам - а правильно ли это ваще написано, а не слишком лич часто запускается, а не стоит ли cdr разделить на оперативную и архивную, и т.д.

Тут еще организационная проблема наблюдается... Исходников от Клиентского ПО нет... очень старая система... Все запросы я могу поймать SQL Monitor, т.к. работает через BDE.

Разработчики этой системы я хз где =) Конторы вроде как уже нет... Поэтому я сам себе разработчик и дба в одном лице... :)
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36011068
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДбашкабррТут еще организационная проблема наблюдается... Исходников от Клиентского ПО нет... очень старая система... Все запросы я могу поймать SQL Monitor, т.к. работает через BDE.

Разработчики этой системы я хз где =) Конторы вроде как уже нет... Поэтому я сам себе разработчик и дба в одном лице... :)
Ага, то есть править можно только со стороны БД? Какой интересный случай, коллеги :)
ОК. Запросами клиентского ПО управлять возможности практически нет - но если оно "красивое" и пользуются очень простыми запросами и вызовами ХП - Вам повезло.
как минимум у Вас к возможности управлять статистикой и индексами есть возможность править непосредственно ХП...
То есть для оптимизации прорва (прірва, бездна) простора... :)

При наличии "динамического sqexplain" BDE практически и не понадобится... Хотя и не помешает. Что ж, анализируйте использование вышепомянутых "проблемных" таблиц: cdr, deals_tq, accounts, ... - и будет вам счастье...
Кстати, тот же deals_tq в сочетании с SEQSCAN в sqexplain ХП не упоминается - но поводом для большого pagereads может быть и неудачный индекс....
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36011125
Дбашкабрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
АнатоЛойДбашкабррТут еще организационная проблема наблюдается... Исходников от Клиентского ПО нет... очень старая система... Все запросы я могу поймать SQL Monitor, т.к. работает через BDE.

Разработчики этой системы я хз где =) Конторы вроде как уже нет... Поэтому я сам себе разработчик и дба в одном лице... :)
Ага, то есть править можно только со стороны БД? Какой интересный случай, коллеги :)
ОК. Запросами клиентского ПО управлять возможности практически нет - но если оно "красивое" и пользуются очень простыми запросами и вызовами ХП - Вам повезло.
как минимум у Вас к возможности управлять статистикой и индексами есть возможность править непосредственно ХП...
То есть для оптимизации прорва (прірва, бездна) простора... :)

При наличии "динамического sqexplain" BDE практически и не понадобится... Хотя и не помешает. Что ж, анализируйте использование вышепомянутых "проблемных" таблиц: cdr, deals_tq, accounts, ... - и будет вам счастье...
Кстати, тот же deals_tq в сочетании с SEQSCAN в sqexplain ХП не упоминается - но поводом для большого pagereads может быть и неудачный индекс....

Спасибо, АнатоЛой Ваши советы очень ценны :) Чтож сегодня попробую свести схемы уже 1:1 и отпишу завтра результат... Думаю нагрузка упадет, т.к. ненужная логика будет исключена.
Завтра подведу итоги... Спасибо кто принимал участие в разборе полетов.
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36011159
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДбашкабррСпасибо, АнатоЛой
Пожалуйста.
П.С.: Всем: идея вдогонку :). Если уж совсем захочется проанализировать запросы, которые поступают от клиента - в BDE Вы получите ТОЛЬКО запросы (иногда и это немало :( ).
Можно, конечно, вручную типичному клиенту включить sqexplain при старте - для последующего анализа. Но если очень хочется - можно скриптом на сервер регулярно опрашивать, какие сесси без sqexplain - и включать автоматом. :). Естетсвенно, учитывать, что это может просадить производительность работы сервера...
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36011164
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вобщем, "ты ещё заходи - идеи есть!" (с) анекдот
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36011241
Фотография Тан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДбашкабррСтатистика...

1-й сервер:

Код: plaintext
1.
2.
3.
4.
5.
6.
[root@breezzx root]# onstat -p

IBM Informix Dynamic Server Version  9 . 40 .UC6     -- On-Line -- Up 88 days 23:17:58 -- 636168 Kbytes

bufwaits lokwaits lockreqs deadlks  dltouts  ckpwaits compress seqscans
 8          0          635215     0          0          12         123        73969 

2-сервер:

Код: plaintext
1.
2.
3.
4.
5.
6.
[root@newifx /]# onstat -p

IBM Informix Dynamic Server Version  9 . 40 .UC6     -- On-Line -- Up 1 days 11:57:06 -- 695232 Kbytes

bufwaits lokwaits lockreqs deadlks  dltouts  ckpwaits compress seqscans
 243033     7524       179081936   1533       0          59         42124      9559 

на втором сервере нет проблемы с seqscans
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36011464
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я думаю что высокая нагрузка на диски из-за роллбеков. Роллбеки из-за дидлоков и откатов из-за таймаута ожидания блокировки.
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36011690
vasilis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну и бурное обсуждение прошло - пришлось кучу времени потратить на беглый просмотр.
Толи тема очень актуальная, то ли на работе у многих время появилось :)
АнатоЛойАга, то есть править можно только со стороны БД? Какой интересный случай, коллеги :).
Согласен, не просто интересный, а очень редкий.
Просто мечта админа :)
АнатоЛой
Что ж, анализируйте использование вышепомянутых "проблемных" таблиц: cdr, deals_tq, accounts, ... - и будет вам счастье...
Кстати, тот же deals_tq в сочетании с SEQSCAN в sqexplain ХП не упоминается - но поводом для большого pagereads может быть и неудачный индекс....
или его "корявость"
А почему никто не предложил прочекать вторую базу ?
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36011771
vasilis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Журавлев Денися думаю что высокая нагрузка на диски из-за роллбеков. Роллбеки из-за дидлоков и откатов из-за таймаута ожидания блокировки.
а блокировки из-за высокой нагрузки на диски ? :)
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36012041
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТанДбашкабррСтатистика...
1-й сервер:
seqscans
73969

2-сервер:
seqscans
9559

на втором сервере нет проблемы с seqscans

Не вижу даже 50% прямой зависимости между величиной показателя seqscans и прочими проблемами. Я как раз и приводил такой пример с большим количеством seqscan'ов и SELECT FIRST 1. Если считать что подобных "приколов" нет, и все seqscan нужно умножать на
"seqscannedtable".nrows - увидим совсем другую картину...

Если бы на обоих сервера во всех таблицах количество записей было пропорционально, и функциональность бы использовалась пропорционально, и период, за который собрана статистика, и ...

Ну представьте на минутку, что на втором сервере проблема выглядит следующим образом:
1. в deals_tq - 7 млн записей, в отличие от сервера 1
2. часть "непроблемных seqscan" была по deals_tq - и поскольку на 1-ом сервере 0 записей, а на втором 7 млн, получаем, что для получения 250 млн pagereads на втором достаточно запустить запрос c seqscan аж 35 раз (раз в 5 мин в течение рабочего дня или раз в 15 мин в течение суток - за это время из буферов записи этой таблицы уже успевают вытесниться)
3. В результате активного чтения с диска (SECSCAN deals_tq) возрастает время работы других запросов. Ожидания блокировок начинают превышать lock time (приводит к откатам транзакций и возрастанию нагрузки на диски)
4. Общая производительность системы немного падает
5. В программном коде из-за использования "SET LOCK MODE TO WAIT;" падение производительности приводит к более длительному ожиданию, что в свою очередь приводит к выявлению сервером deadlocks, последующей генерацией жертвами-сессиями exception и последующими откатами транзакций, что начинает загонять сервер в глухой угол.

(Всё это на фоне мрачного RAID 5 с WriteThru - слово-то какое )
Апокалипсис...


П.С.: Берёте в сценаристы? :)
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36012355
Фотография Тан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АнатоЛойТанДбашкабррСтатистика...
1-й сервер:
seqscans
73969

2-сервер:
seqscans
9559

на втором сервере нет проблемы с seqscans

Не вижу даже 50% прямой зависимости между величиной показателя seqscans и прочими проблемами. Я как раз и приводил такой пример с большим количеством seqscan'ов и SELECT FIRST 1. Если считать что подобных "приколов" нет, и все seqscan нужно умножать на
"seqscannedtable".nrows - увидим совсем другую картину...

Если бы на обоих сервера во всех таблицах количество записей было пропорционально, и функциональность бы использовалась пропорционально, и период, за который собрана статистика, и ...

Ну представьте на минутку, что на втором сервере проблема выглядит следующим образом:
1. в deals_tq - 7 млн записей, в отличие от сервера 1
2. часть "непроблемных seqscan" была по deals_tq - и поскольку на 1-ом сервере 0 записей, а на втором 7 млн, получаем, что для получения 250 млн pagereads на втором достаточно запустить запрос c seqscan аж 35 раз (раз в 5 мин в течение рабочего дня или раз в 15 мин в течение суток - за это время из буферов записи этой таблицы уже успевают вытесниться)
3. В результате активного чтения с диска (SECSCAN deals_tq) возрастает время работы других запросов. Ожидания блокировок начинают превышать lock time (приводит к откатам транзакций и возрастанию нагрузки на диски)
4. Общая производительность системы немного падает
5. В программном коде из-за использования "SET LOCK MODE TO WAIT;" падение производительности приводит к более длительному ожиданию, что в свою очередь приводит к выявлению сервером deadlocks, последующей генерацией жертвами-сессиями exception и последующими откатами транзакций, что начинает загонять сервер в глухой угол.

(Всё это на фоне мрачного RAID 5 с WriteThru - слово-то какое )
Апокалипсис...


П.С.: Берёте в сценаристы? :)
я хотела сказать, что в данном случае не стоит кидаться на изучение sqexplain с целью побороть сексканы.
что надо в другом месте проблему искать
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36012433
onstat-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АнатоЛой


П.С.: Берёте в сценаристы? :)

+1 сценарий поддерживаю.


Тан
я хотела сказать, что в данном случае не стоит кидаться на изучение sqexplain с целью побороть сексканы.
что надо в другом месте проблему искать


Тоже +1. Там все ясно, нужно что то делать с deals_tq.

По таблице в 0 записей на сервере 1 планы будут( могут показывать) фулсканы,
а по серверу 2 могут их не показывать для одних запросов, а для других показывать.


В приложении нужно выключать функционал заполняющий данными таблицу deals_tq.
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36012526
Дбашкабрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Итак подвожу итоги :)

Основная проблема второго сервера все таки в 5-рейде... как ни крути, а для БД это не лучшее решение... Усугубляет дело отсутствие батарейки и как следствие выключенный режим Write-Back.

Смею предположить, что если б это был какой нить 10-рейд с 6 дисками... то сервер бы "скушал" такой объем IO без всяких проблем.

АнатоЛой
Не вижу даже 50% прямой зависимости между величиной показателя seqscans и прочими проблемами. Я как раз и приводил такой пример с большим количеством seqscan'ов и SELECT FIRST 1. Если считать что подобных "приколов" нет, и все seqscan нужно умножать на
"seqscannedtable".nrows - увидим совсем другую картину...

Если бы на обоих сервера во всех таблицах количество записей было пропорционально, и функциональность бы использовалась пропорционально, и период, за который собрана статистика, и ...

Ну представьте на минутку, что на втором сервере проблема выглядит следующим образом:
1. в deals_tq - 7 млн записей, в отличие от сервера 1
2. часть "непроблемных seqscan" была по deals_tq - и поскольку на 1-ом сервере 0 записей, а на втором 7 млн, получаем, что для получения 250 млн pagereads на втором достаточно запустить запрос c seqscan аж 35 раз (раз в 5 мин в течение рабочего дня или раз в 15 мин в течение суток - за это время из буферов записи этой таблицы уже успевают вытесниться)
3. В результате активного чтения с диска (SECSCAN deals_tq) возрастает время работы других запросов. Ожидания блокировок начинают превышать lock time (приводит к откатам транзакций и возрастанию нагрузки на диски)
4. Общая производительность системы немного падает
5. В программном коде из-за использования "SET LOCK MODE TO WAIT;" падение производительности приводит к более длительному ожиданию, что в свою очередь приводит к выявлению сервером deadlocks, последующей генерацией жертвами-сессиями exception и последующими откатами транзакций, что начинает загонять сервер в глухой угол.

(Всё это на фоне мрачного RAID 5 с WriteThru - слово-то какое )
Апокалипсис...


П.С.: Берёте в сценаристы? :)


Тут АнатоЛой соверенно прав. На уровне БД была включена логика проведения бухгалтерских проводок... огромный потом IO в таблице deals_tq ... генерация IOs была мощнейшая... затык в дисках, LOCK, ROLLBACK и диски были завалены операциями отката...

В итоге вечером я отключил ненужный функционал и сервер вздохнул :) Блокировки редко проскакивают .. сервер стал "пошустрее работать".

Так же принято решение купить таки батарейку и включить Write-Back, благо не такие большие деньги.


Вот свежая картина :)

Код: 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.
[root@newifx megarc]# onstat -g iof

IBM Informix Dynamic Server Version  9 . 40 .UC6     -- On-Line -- Up 2 days 10:19:54 -- 719808 Kbytes

AIO global files:
gfd pathname         totalops  dskread dskwrite  io/s
   3  /opt/dbs/root         2182        974       1208     0 . 1 
   4  /opt/dbs/blobdbs      4217       4217          0     0 . 1 
   5  /opt/dbs/work        98663      97697        966     2 . 5 
   6  /opt/dbs/work1    22011238   22011159         79   558 . 1 
   7  /opt/dbs/work2    25419366   25419305         61   644 . 5 
   8  /opt/dbs/work3    20705192   20705095         97   525 . 0 
   9  /opt/dbs/work4    24285673   24277850       7823   615 . 7 
  10  /opt/dbs/work5      310352     310162        190     7 . 9 
  11  /opt/dbs/work6           2          2          0     0 . 0 
  12  /opt/dbs/work7           2          2          0     0 . 0 
  13  /opt/dbs/tmp          1135        584        551     0 . 0 

[root@newifx megarc]# onstat -p

IBM Informix Dynamic Server Version  9 . 40 .UC6     -- On-Line -- Up 2 days 10:19:57 -- 719808 Kbytes

Profile
dskreads pagreads bufreads %cached dskwrits pagwrits bufwrits %cached
 94116094   102147711   553531399   83 . 00     13910      28907      86005      83 . 83 

isamtot  open     start    read     write    rewrite  delete   commit   rollbk
 494062378   333673     10368860   471102601   10108      15609      2          8699       1 

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          4329 . 42    2289 . 58    105        264 

bufwaits lokwaits lockreqs deadlks  dltouts  ckpwaits compress seqscans
 337481     332        253579394   2          0          6          179        73736 

ixda-RA  idx-RA   da-RA    RA-pgsused lchwaits
 1937419    0          6575       1943349      17873 

[root@newifx megarc]#

Уровень IOs упал почти в 10 раз :) Проблемки с локами наблюдаются небольшие, но я думаю они локализуются после покупки батарейки +большая свобода действий с моей стороны на уровне БД
поможет делу :)

Спасибо всем кто принимал участие... Помогли :)
Отдельное спасибо: Журавлев Денис,onstat- ,svat2 ,АнатоЛой за разбор полетов :)

З.Ы. тему можно закрыть.
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36014000
vasilis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дбашкабрр
В итоге вечером я отключил ненужный функционал и сервер вздохнул :) Блокировки редко проскакивают .. сервер стал "пошустрее работать".
А вы почистили ту самую табличку от 7 млн. строк ?
Функционал записи в табличку вы отключили, но , боюсь. что она по прежнему читается другими запросами.
Дбашкабрр
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
gfd pathname         totalops  dskread dskwrite  io/s
   6  /opt/dbs/work1    22011238   22011159         79   558 . 1 
   7  /opt/dbs/work2    25419366   25419305         61   644 . 5 
   8  /opt/dbs/work3    20705192   20705095         97   525 . 0 
   9  /opt/dbs/work4    24285673   24277850       7823   615 . 7 

dskreads pagreads bufreads %cached
 94116094   102147711   553531399   83 . 00 
usercpu  syscpu  
 4329 . 42    2289 . 58  

Хотя интенсивность работы с диском и уменьшилась на порядок, но она все еще большая.
У вас, помнится, на 2-м сервере 4 гига ОП , а использовалось Информиксом менее 700М.
Да и дополнительные сегменты памяти добавлялись...
Можно значительно расширить буферный пул (почти в два раза) и настроить, чтобы совсем не было дополнительных сегментов. кстати. они могут возникать из-за динамического увеличения блокировок (у вас row на больших таблицах).

ДбашкабррОтдельное спасибо: Журавлев Денис,onstat- ,svat2 ,АнатоЛой за разбор полетов :)
А мы с Даугавой первыми обратили внимание на железячные проблемы :)
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36014857
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> time dd if=/dev/zero bs=1024k count=1000 of=/home/1Gb.file

Лень было мне раньше писать, напишу сейчас.
Вы тестируете блоком 1024k и диск может показать неплохую произв., но информикс работает с bs=2k и проблема в том что они рандомны. Т.е. при записи 2кб, рейд без батарейки вынужден переписать 64кб (размер страйпа) на всех дисках, writeback это нивелирует потому что копит порцию изменений и меньше дергает диски.
Тестируйте с помощью iometer, iozone, bonie, и прежде всего рандомное чтение/запись 2кб блоков (размер страницы в вашей бд), на больших файлах (разделах) превосходящих размер кеша рейда в разы.
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36014917
Фотография Daugava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроме того, тестировать надо не один поток, а несколько. Ибо работает то не один юзер. Когда я проводил свой тест с помощью dd у меня на одном потоке RAID5 чуть не в лидерах был.
Кстати, вместо "iometer, iozone, bonie" нужно просто запустить количество dd равное среднему количеству активных юзеров.
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36015322
onstat-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Daugava нужно просто запустить количество dd равное среднему количеству активных юзеров.

Если не используется KAIO,
то лучше количество активyых VIO + LIO + PIO серверов из onstat -g glo .
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36015451
vasilis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
onstat-Daugava нужно просто запустить количество dd равное среднему количеству активных юзеров.
Если не используется KAIO,
то лучше количество активyых VIO + LIO + PIO серверов из onstat -g glo .
Даже если KAIO и используется, то все равно Daugava погорячился :)
Ведь пишут на диск не юзеры (пользовательские нити), а ограниченное число пишущих процессов IDS.
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36015479
Фотография Daugava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, не подумал. У меня просто количество юзеров и пишущих процессов примерно равны, пожалуй даже юзеров поменьше будет :). Но основная мысль была в том, что замерять надо не один активный процесс.
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36181714
zuwr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А что за софт такой, здесь в скриншотах иллюстрируется?
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36181735
zuwr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36182747
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zuwr, тут
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36183212
Фотография Daugava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vasilisДаже если KAIO и используется, то все равно Daugava погорячился :)
Ведь пишут на диск не юзеры (пользовательские нити), а ограниченное число пишущих процессов IDS.
Признаю, вспылил был не прав :). Просто сейчас у меня активных юзеров меньше, чем пишущих процессов IDS.
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36184461
Фотография Andron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос к топикстартеру:
Заглянул в тему и вот что заметил в ваших конфигах:

Первая система:

...
NUMCPUVPS 16
NUMAIOVPS 2

Вторая система:
...
NUMCPUVPS 4
NUMAIOVPS 12

Почему такой странное и как мне кажется нелогичное кол-во NUMAIOVPS для обоих систем?
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36184975
vasilis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DaugavavasilisДаже если KAIO и используется, то все равно Daugava погорячился :)
Ведь пишут на диск не юзеры (пользовательские нити), а ограниченное число пишущих процессов IDS.
Признаю, вспылил был не прав :). Просто сейчас у меня активных юзеров меньше, чем пишущих процессов IDS.
Дежавю :)
Ты ведь уже реагировал на мое сообщение буквально следующим постом от 29 мая http://sql.ru/forum/actualthread.aspx?tid=666972&pg=5
Может тебе его не видно ?
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36185910
Фотография Daugava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vasilisДежавю :)
Голова забита черт знамо чем :) Старая тема всплыла, вскольз глазами пробежал, свой ответ проглядел. Одно хорошо, что отреагировал практически одинаково. Наверное правду сказал :).
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36358476
Matiush
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здавствуйте, уважаемые форумчане! Подскажите, как рассчитать EXTENT SIZE и NEXT SIZE. Работаю с Informix 9.xx на платформе UNIX. Дело в загрузке данных. Имеется сруктура таблица, количесво загружаемых записей. Просьба помочь, не получается разобраться... Формула, ссылка, объяснение, буду очень признателен

Модератор: создавайте новые темы, не надо задавать вопросы в старых, не имеющих отношения к вопросу.
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36358527
zaiets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
first - rowsize* numrows + малость накинуть, так как не все место идет под данные
rowsize можно вытянуть c systables
echo "select * from systables where tabname = '<...>' " | dbaccess <dbname>
numrows - думаю ясно откуда

next - эт как места не жалко и от размера зависит, в вашем случае скорее даже на глаз - чтоб и не слишком много и не слишком мало.
...
Рейтинг: 0 / 0
124 сообщений из 124, показаны все 5 страниц
Форумы / Informix [игнор отключен] [закрыт для гостей] / Мучают блокировки...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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