powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Informix [игнор отключен] [закрыт для гостей] / Кто-нить может помочь с настройкой производительности IDS 7.31?
11 сообщений из 11, страница 1 из 1
Кто-нить может помочь с настройкой производительности IDS 7.31?
    #32365219
msa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
msa
Гость
Есть проблемы с производительностью. В частности - длинные чекпойнты. Железо - RS/6000, AIX. Следуя рекомендациям ФАКа могу прислать onconfig и статистику за полдня работы.
...
Рейтинг: 0 / 0
Кто-нить может помочь с настройкой производительности IDS 7.31?
    #32365686
Фотография Daugava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дык, если можешь, так сразу бы и выслал. Зачем дважды задавать вопрос? С помощью публичного обсуждения значительно больше вероятность получитьб помощь, чем выслав информацию только 1-2, откликнувшимся почтой.
...
Рейтинг: 0 / 0
Кто-нить может помочь с настройкой производительности IDS 7.31?
    #32365951
cpr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cpr
Гость
Раз пошла такая пьянка , то может кто подскажет...
хотелось бы уменьшить время чекпойнтов

10:05:36 Checkpoint Completed: duration was 5 seconds.
10:10:42 Checkpoint Completed: duration was 5 seconds.
10:15:47 Checkpoint Completed: duration was 6 seconds.
10:20:53 Checkpoint Completed: duration was 5 seconds.
10:26:01 Checkpoint Completed: duration was 8 seconds.
10:31:08 Checkpoint Completed: duration was 8 seconds.
10:36:26 Checkpoint Completed: duration was 17 seconds.
10:41:37 Checkpoint Completed: duration was 11 seconds.
10:46:42 Checkpoint Completed: duration was 5 seconds.
10:51:55 Checkpoint Completed: duration was 13 seconds.
10:57:12 Checkpoint Completed: duration was 17 seconds.
11:02:16 Checkpoint Completed: duration was 4 seconds.
11:07:22 Checkpoint Completed: duration was 7 seconds.
11:12:32 Checkpoint Completed: duration was 9 seconds.
11:17:38 Checkpoint Completed: duration was 6 seconds.
11:22:42 Checkpoint Completed: duration was 4 seconds.
11:27:51 Checkpoint Completed: duration was 9 seconds.
11:33:00 Checkpoint Completed: duration was 9 seconds.
11:38:11 Checkpoint Completed: duration was 11 seconds.
11:43:21 Checkpoint Completed: duration was 10 seconds.
11:48:30 Checkpoint Completed: duration was 9 seconds.
11:53:45 Checkpoint Completed: duration was 15 seconds.
11:58:54 Checkpoint Completed: duration was 9 seconds.
12:04:00 Checkpoint Completed: duration was 6 seconds.
12:09:06 Checkpoint Completed: duration was 6 seconds.
12:14:15 Checkpoint Completed: duration was 9 seconds.
12:19:20 Checkpoint Completed: duration was 5 seconds.
12:24:29 Checkpoint Completed: duration was 9 seconds.
12:29:23 Checkpoint Completed: duration was 12 seconds.
12:29:25 Checkpoint Completed: duration was 1 seconds.
12:29:26 Checkpoint Completed: duration was 1 seconds.
12:29:27 Checkpoint Completed: duration was 1 seconds.
12:30:03 Checkpoint Completed: duration was 10 seconds.
12:30:05 Checkpoint Completed: duration was 1 seconds.
12:30:06 Checkpoint Completed: duration was 1 seconds.
12:30:07 Checkpoint Completed: duration was 1 seconds.
12:30:08 Checkpoint Completed: duration was 1 seconds.
12:35:31 Checkpoint Completed: duration was 12 seconds.
12:40:40 Checkpoint Completed: duration was 9 seconds.
12:45:49 Checkpoint Completed: duration was 9 seconds.
12:51:00 Checkpoint Completed: duration was 11 seconds.
12:56:14 Checkpoint Completed: duration was 14 seconds.
12:57:55 Checkpoint Completed: duration was 7 seconds.

вот конфигурация


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

# Root Dbspace Configuration

ROOTNAME rootdbs # Root dbspace name
ROOTPATH /dev/md/rdsk/d50 # Path for device containing root dbspace
ROOTOFFSET 0 # Offset of root dbspace into device (Kbytes)
ROOTSIZE 2097150 # Size of root dbspace (Kbytes)

# Disk Mirroring Configuration Parameters

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

# Physical Log Configuration

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

# Logical Log Configuration

LOGFILES 60 # Number of logical log files
LOGSIZE 2000 # 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
SYSALARMPROGRAM /opt/informix/etc/evidence.sh # System Alarm program path
TBLSPACE_STATS 1

# System Archive Tape Device

TAPEDEV /dev/rmt/0 # Tape device path
TAPEDEV /dev/rmt/0 # Tape device path
#TAPEDEV /dev/null
TAPEBLK 4096 # Tape block size (Kbytes)
TAPESIZE 51000000 # Maximum amount of data to put on tape (Kbytes)

# Log Archive Tape Device

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

# Optical

STAGEBLOB # Informix Dynamic Server/Optical staging area

# System Configuration

SERVERNUM 0 # Unique id corresponding to a Dynamic Server instance
DBSERVERNAME sf880on # Name of default database server
DBSERVERALIASES fast0spx,sf880tli # List of alternate dbservernames
NETTYPE ipcshm,2,100,CPU # Configure poll thread(s) for nettype
#NETTYPE tlispx,5,10,NET # Configure poll thread(s) for nettype
NETTYPE tlitcp,1,10,NET # Configure poll thread(s) for nettype
DEADLOCK_TIMEOUT 60 # Max time to wait of lock in distributed env.
RESIDENT 1 # Forced residency flag (Yes = 1, No = 0)

MULTIPROCESSOR 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 1 # Process aging
AFF_SPROC 0 # Affinity start processor
AFF_NPROCS 4 # Affinity number of processors

# Shared Memory Parameters

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

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


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

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

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

# CDR Variables
CDR_LOGBUFFERS 2048 # size of log reading buffer pool (Kbytes)
CDR_EVALTHREADS 1,2 # evaluator threads (per-cpu-vp,additional)
CDR_DSLOCKWAIT 5 # DS lockwait timeout (seconds)
CDR_QUEUEMEM 4096 # Maximum amount of memory for any CDR queue (Kbytes)
CDR_LOGDELTA 30 # % of log space allowed in queue memory
CDR_NUMCONNECT 16 # Expected connections per server
CDR_NIFRETRY 300 # Connection retry (seconds)
CDR_NIFCOMPRESS 0 # Link level compression (-1 never, 0 none, 9 max)
# Backup/Restore variables
BAR_ACT_LOG /tmp/bar_act.log
BAR_DEBUG_LOG /usr/informix/bar_dbug.log # ON-Bar Debug Log - not in /tmp pleas
BAR_MAX_BACKUP 0
BAR_RETRY 1
BAR_NB_XPORT_COUNT 10
BAR_XFER_BUF_SIZE 31

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

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

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

DBSPACETEMP tempdbs # Default temp dbspaces

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

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

FILLFACTOR 90 # Fill factor for building indexes

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

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

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

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

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

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

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

# Status of restartable restore
RESTARTABLE_RESTORE off
...
Рейтинг: 0 / 0
Кто-нить может помочь с настройкой производительности IDS 7.31?
    #32366227
msa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
msa
Гость
Дык конфиг и статистика на работе, кто ж RISC дома держит ? :) Завтра вот и вышлю, сегодня чай уже ночь на дворе
...
Рейтинг: 0 / 0
Кто-нить может помочь с настройкой производительности IDS 7.31?
    #32366235
msa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
msa
Гость
Мда... (глядя на предыдущего оратора) Мож какие-нить конкретные строчки из конфига дать ? а то уж слишком много воды получается...
...
Рейтинг: 0 / 0
Кто-нить может помочь с настройкой производительности IDS 7.31?
    #32366374
Фотография Daugava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроме конфига, в UCDI FAQ-е говорилось:
Q.> У меня проблемы с производительностью сервера ...
A.> Василий Шульженко
Дай весь онконфиг, основные выводы onstat -p, F, R, b...
через несколько часов работы сервера под нагрузкой
A+> Игорь Завгородний
В статистике не должны присутствовать нетипичные для обычной
работы нагрузки (массовая закачка данных, построение индексов,
архив-0,update stat, ...). Перед началом сбора статистики ее
следует "обнулить", т.е. выполнить onstat -z.

По поводу CHECKPOINTS следует также помониторить дисковые операции, через sar и onstat -g iof. Дабы выяснить, может быть можно выровнять ситуацию, путем перераспределения чанков между дисками.

На вскидку, что видно по onconfig:
TBLSPACE_STATS 1
Установить в 0, ибо мониторинг табличных операций съедает порядка 10-15% производительности.

SHMVIRTSIZE 8000 # initial virtual shared memory segment size
Увеличивать, увеличивать и еще раз увеличивать. Все зависит от onstat -g seg, стараться добиться минимального количества дополнительно выделяемых сегментов памяти - в идеале их недолжно быть.

Учитывая, что BUFFERS большой, большая длительность чекпоинта скорее всего вызвана тем, что 8 LRUS (столиков) и 8 CLEANERS (оффициантов) просто не в состоянии обслужить такое количество BUFFERS (клиентов) за приемлемое время. Рекомендую ознакомиться с достаточно познавательной теорией Василия Шульженко от 1999 года на эту тему
и ее обсуждением .
В древние времена (90-е годы), считалось, что количество LRUS должно примерно равняться BUFFERS/750 (с ростом размера ОЗУ знаменатель постоянно рос :-). Правда больше, чем 128, LRUS все равно поставить низзя (возможно моя информация устарела и в новых версиях эта проблема решена), кроме того предания сохранили запретные значения этого параметра, 32,64,96 и 128 (хотя документально подтверждались только 64 и 96 для некоторых версий IDS). Теже рекомендации говорили о как минимум одном CLEANERS-е на каждый LRUS.
Опять таки все эти игрища на мой взгляд имеют смысл, если у вас все граммотно размазано по чанкам и в особенности по винчестерам. Поскольку, если у вас будет 1 процессор и вся запись пойдет на один винт, толку со всех этих настроек не будет (мониторить через onstat -z и далее onstat -p во время чекпоинта).

RA_PAGES # Number of pages to attempt to read ahead
RA_THRESHOLD # Number of pages left before next group
Стоило бы установить, все таки чтение наперед, некоторые уважаемые люди
рекомендуют хотя бы 32/24. Кроме того, существует рекомендация увеличивать их до упора:
RA-pgsused*100/(ixda-RA+idx-RA+da-RA) > 99%.
Впрочем, у меня есть субъективное мнение, что данный параметр влияет на некоторых платформах на устойчивость сервера в области mtex.c. Кроме того, на скорость чекпоинт он не повлияет.

DBSPACETEMP tempdbs
Если количество дисков позволяет, выбрать из них наименее используемые и создать там еще несколько tempdbs. Впрочем, это зависит от интенсивности использования темп-ов, но в 90% случаев помогает.

LRU_MAX_DIRTY 60 # LRU percent dirty begin cleaning limit
LRU_MIN_DIRTY 50 # LRU percent dirty end cleaning limit
Можно также поиграться в сторону уменьшения, но в свою очередь это снизит процент попадания в буфферный кеш при записи.

LTXHWM 50 # Long transaction high water mark percentage
LTXEHWM 60 # Long transaction high water mark (exclusive)
К делу не онтосится, но лучше установить в 45/54. Так спать спокойней.
...
Рейтинг: 0 / 0
Кто-нить может помочь с настройкой производительности IDS 7.31?
    #32366408
cpr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cpr
Гость
Процессоров четыре
LRUS CLEANERS были увеличены с 1, но никакого эффекта не дало. Врядли стоит увеличивать. (?)

Насчет SHMVIRTSIZE согласен , давно собираюсь увеличить, но как это с временем чекпойнта связано?

Я вообще то думал поиграть соотношением размеров логического и физического журнала.
...
Рейтинг: 0 / 0
Кто-нить может помочь с настройкой производительности IDS 7.31?
    #32366424
cpr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cpr
Гость
забавно
не нашел в 4354.pdf никакого описания на TBLSPACE_STAT
не только в 33-й главе но и ваще
...
Рейтинг: 0 / 0
Кто-нить может помочь с настройкой производительности IDS 7.31?
    #32366458
Фотография Daugava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторНасчет SHMVIRTSIZE согласен , давно собираюсь увеличить, но как это с временем чекпойнта связано?
Общие тормоза системы, которые могут быть вызваны сегментированием памяти, проявляются и во время чекпоинта. Наиболее заметны тормоза при большом количестве сегментов кстати на HP-UX и AIX. Правда с тех пор как ко мне пришло это "знание" много воды утекло, могли что-то исправить, а я специально не тестирую.

По поводу TBLSPACE_STATS не там смотрел, нужен был "Informix Administrator’s
Reference" у меня это 6521.pdf.

The TBLSPACE_STATS configuration parameter turns on and off collection of
tblspace statistics that the database server performs.
To turn off collection of tblspace statistics, set TBLSPACE_STATS to 0. Turning
off tablespace statistics might improve overall database server performance,
but you cannot list tblspace statistics with onstat -g ppf. To turn on collection
of tablespace statistics, set TBLSPACE_STATS to 1.

По поводу причины, я думаю, что она одназначно в том, что у тебя слишком много буфферов, 700000 - это 1.4Гб!!, то, что они достаточно долго сливаются, с чем не справляются либо диски либо очередей слишком мало. Т.е. надо мониторить во время чекпоинта onstat -R, onstat -F и т.д.
...
Рейтинг: 0 / 0
Кто-нить может помочь с настройкой производительности IDS 7.31?
    #32366570
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 cpr: Может отдельную ветку заведешь. Сейчас перепутаем все.

А длинный чекпоинт напрягает пользователей? Или это ты логи читаешь и волнуешься? Во втором случае предлагаю забить на длинный чекп.

Я так понимаю что у тебя HPUX?
Расскажи про диски. Покажи onstat -d.
Система OLTP? Сколько пользователей одновременных? ИМХО Информикс для такого объема буферов в OLTP рекомендует увеличивать LRUS.

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


Универсальный ПЛОХОЙ способ снизить длину чекпоинта:
LRUS 128
LRU_MAX_DIRTY 1
LRU_MIN_DIRTY 0
после этого если система надежная с UPS, редко падает или не падает увеличивай CKPTINTVL хоть до 3600, чекпоинты будут раз в час и довольно короткие.
...
Рейтинг: 0 / 0
Кто-нить может помочь с настройкой производительности IDS 7.31?
    #32367050
cpr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cpr
Гость
щас в новую ветку скопирую
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Informix [игнор отключен] [закрыт для гостей] / Кто-нить может помочь с настройкой производительности IDS 7.31?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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