powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Informix [игнор отключен] [закрыт для гостей] / Производительность сервера БД
72 сообщений из 72, показаны все 3 страниц
Производительность сервера БД
    #33574582
Alex Ivanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте!

Не устраивает быстродействие IDS 9.30 (Solaris 8/4x1GHz Sparc/8GB ОЗУ). Я собрал статистику за 3,5 ч. работы под типичной нагрузкой, она в прицепе (слегка урезанная), онконфиг прямо тут. Хотел бы услышать ваши соображения на этот счет.

# Root Dbspace Configuration

ROOTNAME rootdbs # Root dbspace name
ROOTPATH /ifxdev/disk00/disk00
# Path for device containing root dbspace
ROOTOFFSET 10 # Offset of root dbspace into device (Kbytes)
ROOTSIZE 2000000 # Size of root dbspace (Kbytes)

# Disk Mirroring Configuration Parameters

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

# Physical Log Configuration

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

# Logical Log Configuration

LOGFILES 25 # Number of logical log files
LOGSIZE 150000 # Logical log size (Kbytes)

# Diagnostics

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

# System Archive Tape Device

TAPEDEV /export/home/informix/dev/tapedev # Tape device path
TAPEBLK 16 # Tape block size (Kbytes)
TAPESIZE 20480000 # Maximum amount of data to put on tape (Kbytes)

# Log Archive Tape Device

LTAPEDEV /export/home/informix/dev/ltapedev # 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 2000 staging area

# System Configuration

SERVERNUM 0 # Unique id corresponding to a OnLine instance
DBSERVERNAME hdesk_on # Name of default database server
DBSERVERALIASES hdesk # List of alternate dbservernames
NETTYPE ipcshm,2,50,CPU # Configure poll thread(s) for nettype
NETTYPE tlitcp,2,100,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 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 4 # Affinity number of processors

# Shared Memory Parameters

LOCKS 400000 # Maximum number of locks
BUFFERS 1500000 # Maximum number of shared buffers
NUMAIOVPS 16 # Number of IO vps
PHYSBUFF 64 # Physical log buffer size (Kbytes)
LOGBUFF 64 # Logical log buffer size (Kbytes)
CLEANERS 100 # Number of buffer cleaner processes
SHMBASE 0xa000000 # Shared memory base address
SHMVIRTSIZE 8192 # 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 100 # 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 45 # Long transaction high water mark percentage
LTXEHWM 54 # Long transaction high water mark (exclusive)
TXTIMEOUT 0x12c # Transaction timeout (in sec)
STACKSIZE 64 # Stack size (Kbytes)

# 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 1 # 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 /export/home/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)

# Backup/Restore variables
BAR_ACT_LOG /tmp/bar_act.log
BAR_MAX_BACKUP 0
BAR_RETRY 1
BAR_NB_XPORT_COUNT 10
BAR_XFER_BUF_SIZE 31
RESTARTABLE_RESTORE off
BAR_PROGRESS_FREQ 0

# Informix Storage Manager variables
ISM_DATA_POOL ISMData
ISM_LOG_POOL ISMLogs

# Read Ahead Variables
RA_PAGES 64 # Number of pages to attempt to read ahead
RA_THRESHOLD 32 # 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 dbtemp:dbtemp1 # 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 0 # 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 32 # Maximum number of decision support queries
DS_TOTAL_MEMORY 4096 # 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 0 # 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 /export/home/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.2 # JDK version supported by this server
JVMTHREAD native # Java VM thread type (green or native)

# The path to the JRE libraries relative to JVPJAVAHOME
JVPJAVALIB /lib/sparc/

# The JRE libraries to use for the Java VM

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

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

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

#JVPLOGFILE jvp.log # JVP log file.
BAR_DEBUG_LOG /tmp/bar_dbug.log # ON-Bar Debug Log - not in /tmp please
BAR_BSALIB_PATH /opt/omni/lib/libob2informix_64bit.so
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 2 # Log/no-log (default no log)
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33574654
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex IvanovЗдравствуйте!

Не устраивает быстродействие IDS 9.30 (Solaris 8/4x1GHz Sparc/8GB ОЗУ). Я собрал
...
А что не устраивает? Оно всегда так было и или вчера началось?

PDQ не настроено (все по умолчанию), а вроде используется. Может кто-то случайно собрал статистику на процедуры с включенным pqd?

Процессоры простаивают, но некоторая конкуренция за 12 dbtemp и (13 dbtemp1). Индексы перестали использоваться?

Надо лечить 19 вирт. сегментов
SHMVIRTSIZE 163840 #(20*8192)
SHMADD 8192

Длинные чекпоинты не напрягают?
LRU_MAX_DIRTY 60
LRU_MIN_DIRTY 50
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33574677
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так не надо делать:

Код: plaintext
1.
2.
3.
4.
5.
6.
and date(time_in) >= "30012006" and date(time_in) <= "01032006"

and date(time_reg) >= "30012006" and date(time_reg) <= "01032006"

and date(time_end) >= "30012006" and date(time_end) <= "01032006" and


Зачем distinct ? count(distinct da.userid_exec)
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33574696
Alex Ivanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Последние 2 недели началась медленная работа. Что касается SQL-запросов, то это у нас так программисты писали, и их сейчас не изменишь.

А что лучше в PDQ поставить?
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33574704
Фотография Тан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex IvanovNETTYPE tlitcp,2,100,NET # Configure poll thread(s) for nettype
если всегда так мало соединений, то зачем вам лишние процессы? Поставьте CPU
Alex IvanovNUMCPUVPS 16 # Number of user (cpu) vps
зачем вам столько? судя по статистике, 4 вполне справятся.
Alex IvanovCLEANERS 100 # Number of buffer cleaner processes

вообще больше 1 клинерса на чанк смысла нет. У вас работают только 6.
Alex IvanovSHMVIRTSIZE 8192 # initial virtual shared memory segment size
почему так мало? У вас много сегментов. Памяти вроде бы достаточно
Alex IvanovLRU_MAX_DIRTY 60 # LRU percent dirty begin cleaning limit
LRU_MIN_DIRTY 50 # LRU percent dirty end cleaning limit
чекпойнты у вас не быстрые, поставьте 20/10
Alex IvanovOPTCOMPIND 2 # To hint the optimizer
для OLTP систем рекомендуют ставить 0.
Хотя все зависит от приложений
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33574707
Фотография Тан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex IvanovПоследние 2 недели началась медленная работа.
как статистику обновляете?
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33574714
Фотография Тан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да, и просто любопытно - почему логи не бэкапятся?
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33574718
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тан
Alex IvanovNUMCPUVPS 16 # Number of user (cpu) vps
зачем вам столько? судя по статистике, 4 вполне справятся.
При

AFF_SPROC 0 # Affinity start processor
AFF_NPROCS 4 # Affinity number of processors

:)
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33574734
Фотография Тан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Журавлев Дениснекоторая конкуренция за 12 dbtemp и (13 dbtemp1). Индексы перестали использоваться?
это наверное из-за hash join
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33574746
Alex Ivanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CLEANERS=LRUS, из этого и ставил.

Если уменьшить LRU_MAX_DIRTY и LRU_MIN_DIRTY, то буфера будут очищаться быстрее, пробовал, стало только медленнее

NUMCPUVPS д.б. = числу процессоров?
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33574750
Alex Ivanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Параметры PDQ, как я понял надо увеличить число и объем памяти, только насколько?
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33574765
Фотография Тан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex IvanovCLEANERS=LRUS, из этого и ставил.

Если уменьшить LRU_MAX_DIRTY и LRU_MIN_DIRTY, то буфера будут очищаться быстрее, пробовал, стало только медленнее

NUMCPUVPS д.б. = числу процессоров?
никто никому ничего не должен, правила существуют для первоначальной установки параметров, потом надо настраивать для конкретного сервера.

и все равно непонятно, что именно медленно. Запросы выполняются медленно? Все или какие-то особенные?
Если было быстро, а стало медленно, значит кто-то что-то где-то поменял. Если найдете, что поменяли, будет легче решить проблему.
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33574797
Фотография Тан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex IvanovЕсли уменьшить LRU_MAX_DIRTY и LRU_MIN_DIRTY, то буфера будут очищаться быстрее, пробовал, стало только медленнее
буфера кстати не очищаются. Модифицированные страницы синхронизируются с диском.
На скорость селектов этот процесс не влияет
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33574801
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex IvanovПараметры PDQ, как я понял надо увеличить число и объем памяти, только насколько?Про PDQ отставить -- это я перепутал, не используется оно наверно.
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33574803
Alex Ivanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Производительность падает на высоких нагрузках, когда много пользователей одновременно начинают выполнять запросы.
Клиентское приложение - веб сервер (Apache + PHP)
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33574811
Фотография Тан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex IvanovПроизводительность падает на высоких нагрузках, когда много пользователей одновременно начинают выполнять запросы.
Клиентское приложение - веб сервер (Apache + PHP)
за эти 3,5 часа такая ситуация была?
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33574847
zefs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сколько опер. памяти на серваке?
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33574848
Alex Ivanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О том была или нет можно только судить субъективно, но похоже что не совсем пиковая нагрузка была. Это зависит от ситуации.
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33574851
Alex Ivanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zefsСколько опер. памяти на серваке?

8 Гб
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33574911
Фотография Тан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тан Alex IvanovOPTCOMPIND 2 # To hint the optimizer
для OLTP систем рекомендуют ставить 0.
Хотя все зависит от приложений
не пробовали никогда ставить 0?
Если нет, обязательно попробуйте, очень сильно на производительность влияет
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33575524
Alex Ivanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Database server currently processing SQL task
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33575622
Alex Ivanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В момент нагрузки на сервере iowait может достигать 50%, а процессоры простаивают.
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33575659
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблема в приложении и в головах тех кто проектировал и писал этот хелпдеск.
И немного в дисках, и у тебя не рау.

Покажи
dbschema -d journal -t demand -hd demand
dbschema -d journal -t dem_reg -hd dem_reg
dbschema -d journal -t dem_punct -hd dem_punct

-----------------------------------------------------------
Решительный шаг вперед -- результат хорошего пинка сзади
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33575706
Alex Ivanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33575728
zefs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Журавлев Денис... и у тебя не рау.
...

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

Можно вопрос, как вы это узнали?Я не это хотел сказать, я имел в виду kaio не используется. Конечно по /ifxdev/disk00/disk00 нельзя судить что это файлы/блочные/символьные.
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33575809
zefs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Журавлев Денис...
я имел в виду kaio не используется.
...
Полностью согласен. Alex Ivanov - стоит попробовать настроить KAIO!!!
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33575844
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если это файлы то монтировать фс с опцией forcedirectio, хотя пользы конечно от этого мало.

-----------------------------------------------------------
Решительный шаг вперед -- результат хорошего пинка сзади
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33575906
Фотография Тан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и добавить еще пяток временных дбспейсов, если нельзя уменьшить количество hash join
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33576345
Alex Ivanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это rawдевайсы
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33576425
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хм. С осуждением "date() >= and date() <=" я несколько поторопился, стереотипно мыслю. Поле demand.status работает.

demand.status=1 ~30 строк
demand.status in (2,9) ~2053 + 30
demand.status in (5,10) ~30 + 30

Наверно более менее быстро работает, проблемы в чем-то другом.

-----------------------------------------------------------
Решительный шаг вперед -- результат хорошего пинка сзади
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33576746
Фотография Тан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex IvanovЭто rawдевайсытогда настройте kaio
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33787246
Середа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для Informix 9.40 под Windows 2003 Server значение параметра NOAGE 0 - это нормально?

----------------------------------------
В одном из корпоративных материалов почему-то не советуют ставить NOAGE 1 для Informix под виндой.
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33788411
vasilis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для этого вопроса лучше бы завести новую тему, тем более, что в данном топике рассматривались совсем другие вопросы....
СередаДля Informix 9.40 под Windows 2003 Server значение параметра NOAGE 0 - это нормально?
----------------------------------------
В одном из корпоративных материалов почему-то не советуют ставить NOAGE 1 для Informix под виндой.
Да, я тоже такое знаю. Правда, относительно Win2003 тогда ничего не говорилось (ее просто не было). IMHO в Виндовс нет "старения приоритетов процессов", соответственно и пользоваться этой опцией не нужно.
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33793721
Середа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сервер тормозит (все думают, что сильно). Начальство наезжает - вычислить точную причину тормозов софт (чужой) или железо (наше).
Пока вижу в ISA что CPU два штуки (на двухядерном проце сидит) имеют большое время ожидания. В результатах статистики смущают выделенные жЫрнЫм пункты.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
IBM Informix Dynamic Server Version 9.40.TC7     -- On-Line -- Up 07:46:44 -- 11
84704 Kbytes

Profile
dskreads pagreads bufreads %cached dskwrits pagwrits bufwrits %cached
9872236  11862499 441309307 97.78   638971   1367408  26801481 98.00

isamtot  open     start    read     write    rewrite  delete   commit   rollbk
479823685 1011300  80427632 149679763 16598749 7846949  2970830  8024     25

gp_read  gp_write gp_rewrt gp_del   gp_alloc gp_free  gp_curs
2        0        0        0        0        0        2

ovlock   ovuserthread ovbuff   usercpu  syscpu   numckpts flushes
0        0            0        4567.28  1278.13  25       50

bufwaits lokwaits lockreqs deadlks  dltouts  ckpwaits compress seqscans
 389126    34       223275662 0        0        5         123089    1871554

 ixda-RA   idx-RA    da-RA     RA-pgsused lchwaits
 78404     60419     8090040   8224549    101288

Это нормальное соотношение величин (выделено)?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
D:\>onstat -g seg

IBM Informix Dynamic Server Version 9.40.TC7     -- On-Line -- Up 07:58:05 -- 11
84704 Kbytes

Segment Summary:
id       key        addr     size       ovhd     class blkused  blkfree
1381386241 1381386241 c000000  854720512  241424   R*    208639   33
1381386242 1381386242 3ef20000 358416384  11584    V     19687    67817
Total:   -          -        1213136896 -        -     228326   67850

Запросы поступающие в базу разнородны как OLTP так и DSS попадаются.
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33794028
Фотография Daugava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тормозит всегда или время от времени? Скорее всего "тормоз" происходит в момент выполнения чекпоинт, на который повлиять можно разными способами, но лучше для начала посмотреть onconfig.
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33794146
Середа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DaugavaТормозит всегда или время от времени? Скорее всего "тормоз" происходит в момент выполнения чекпоинт, на который повлиять можно разными способами, но лучше для начала посмотреть onconfig.
Тормозит:
вместо 8 часов операция обработки массива данных идет в течении почти 24 часов. Запросы идут из чужого софта, но скорее всего DSS. Что из конфига нужно? PDQ и что рядом?
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33794191
Выбегалло
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СередаСервер тормозит (все думают, что сильно). Начальство наезжает - вычислить точную причину тормозов софт (чужой) или железо (наше).
Пока вижу в ISA что CPU два штуки (на двухядерном проце сидит) имеют большое время ожидания. В результатах статистики смущают выделенные жЫрнЫм пункты.

IBM Informix Dynamic Server Version 9.40.TC7 -- On-Line -- Up 07:46:44 -- 11
84704 Kbytes

Profile
dskreads pagreads bufreads %cached dskwrits pagwrits bufwrits %cached
9872236 11862499 441309307 97.78 638971 1367408 26801481 98.00

isamtot open start read write rewrite delete commit rollbk
479823685 1011300 80427632 149679763 16598749 7846949 2970830 8024 25

gp_read gp_write gp_rewrt gp_del gp_alloc gp_free gp_curs
2 0 0 0 0 0 2

ovlock ovuserthread ovbuff usercpu syscpu numckpts flushes
0 0 0 4567.28 1278.13 25 50

bufwaits lokwaits lockreqs deadlks dltouts ckpwaits compress seqscans
389126 34 223275662 0 0 5 123089 1871554

ixda-RA idx-RA da-RA RA-pgsused lchwaits
78404 60419 8090040 8224549 101288

Это нормальное соотношение величин (выделено)?

доп инфаD:\>onstat -g seg

IBM Informix Dynamic Server Version 9.40.TC7 -- On-Line -- Up 07:58:05 -- 11
84704 Kbytes

Segment Summary:
id key addr size ovhd class blkused blkfree
1381386241 1381386241 c000000 854720512 241424 R* 208639 33
1381386242 1381386242 3ef20000 358416384 11584 V 19687 67817
Total: - - 1213136896 - - 228326 67850

Запросы поступающие в базу разнородны как OLTP так и DSS попадаются.

не вижу криминала в выделенных цифрах. за 7 часов 300K ожидания буферов - это немного выше нормы, но вам, похоже, намного больше буферов не выделить, упираетесь в память.
Для начала надо определиться, где затык - в процессорах, дисках или сети. К сожалению, я не специалист по виндам. посмотрите onstat -g ioq - интересует длина очередей на io, если она больше примерно 10 то затык по io.
Можно так же посдергивать стеки вашей "медленной" нити (onstat -g stk <thread id> ) и посмотреть, в какой функции она проводит больше всего времени. onstat -g sql поможет выяснить какой sql оператор выполняется дольше всех.
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33794194
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
виноват софт.

abread149679763 write16598749 commit8024 seqscans1871554

-----------------------------------------------------------------------------------------------------------------------------------------
нужно делать то что нужно, а то что не нужно -- делать не нужно (перефразируя В-Пуха).
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33794218
можно поступить совсем просто, во время тормозной процедуры запусти график загрузки процов в диспетчере. Если процы загружены под - завязку, одно дело, а если простоивают, значит дисковая подсистема тормозом является. Смотри критические таблицы, их дефрагментацию, пересоздай индексы. Разнеси конкурирующие таблицы по рахным спейсам на разных физических устройствах.
Я так сервер апгредил: сначала смотрю, под 100% - поставили 4х процессорный (все спэсы на одном рейде). Потом смотрю, уже дисковая система тормозит - добавил еще рейд и разнес спэйсы. Сейчас в плане 3-й рейд и вообще красота будет
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33794220
Выбегалло
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
update stats давно делали ?
В таком вот аксепте
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33794773
Середа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот мой ONconfig:
-------------------------
IDS 9.40
ISM/OnBar
ОЗУ 2Gb
Двухядерная CPU
Кроме параметров BUFFERS и SHMVIRTSIZE все остальное - это "подарок" от производителя софта который крутится на этой базе (базах).
Черным выделил то, что вызывает у меня подозрения.
-------------------------

ONconfigMIRROR 0
MIRRORPATH
MIRROROFFSET 0

PHYSDBS phydbs
PHYSFILE 680000

LOGFILES 25
LOGSIZE 100000
LOG_BACKUP_MODE CONT

ALARMPROGRAM C:\Informix\etc\log_full.bat
TBLSPACE_STATS 0

TAPEDEV D:\09062006dba-
TAPEBLK 16
TAPESIZE 0

LTAPEDEV logjurnal
LTAPEBLK 16
LTAPESIZE 0

STAGEBLOB

SERVERNUM 0
DBSERVERNAME xxxxxxx
DBSERVERALIASES
NETTYPE onsoctcp,1,,NET
DEADLOCK_TIMEOUT 60
RESIDENT 1

MULTIPROCESSOR 1
NUMCPUVPS 2
SINGLE_CPU_VP 0

NOAGE 0
AFF_SPROC 0
AFF_NPROCS 2

LOCKS 100000
BUFFERS 230000
NUMAIOVPS
PHYSBUFF 32
LOGBUFF 32
CLEANERS 32
SHMBASE 0xC000000L
SHMVIRTSIZE 350000
SHMADD 65736
SHMTOTAL 0
CKPTINTVL 1200
LRUS 31
LRU_MAX_DIRTY 30
LRU_MIN_DIRTY 20
TXTIMEOUT 300
STACKSIZE 64

DYNAMIC_LOGS 2
LTXHWM 70
LTXEHWM 80

OFF_RECVRY_THREADS 40
ON_RECVRY_THREADS 10

DRINTERVAL 30
DRTIMEOUT 30
DRLOSTFOUND \tmp

CDR_EVALTHREADS 1,2
CDR_DSLOCKWAIT 5
CDR_QUEUEMEM 4096
CDR_NIFCOMPRESS 0
CDR_SERIAL 0
CDR_DBSPACE
CDR_QHDR_DBSPACE
CDR_QDATA_SBSPACE

CDR_MAX_DYNAMIC_LOGS 0

BAR_ACT_LOG C:\Informix\xxxxxxx.log
BAR_DEBUG_LOG C:\Informix\xxxxxxxd.log
BAR_MAX_BACKUP 4
BAR_RETRY 1
BAR_NB_XPORT_COUNT 10
BAR_XFER_BUF_SIZE 15
BAR_PROGRESS_FREQ 1
BAR_BSALIB_PATH C:\ISM\2.20\bin\libbsa.dll

RESTARTABLE_RESTORE ON

ISM_DATA_POOL ISMDiskData
ISM_LOG_POOL ISMDiskLogs

RA_PAGES 32
RA_THRESHOLD 16

DBSPACETEMP tempdbs1:tempdbs2:tempdbs3:tempdbs4:tempdbs5:tempdbs6

DUMPDIR c:\tmp
DUMPSHMEM 0
DUMPGCORE 0
DUMPCORE 0
DUMPCNT 0

FILLFACTOR 90

USEOSTIME 0

MAX_PDQPRIORITY 100
DS_MAX_QUERIES 20
DS_TOTAL_MEMORY 100000
DS_MAX_SCANS 56
DATASKIP

OPTCOMPIND 0

DIRECTIVES 1

ONDBSPACEDOWN 0
OPCACHEMAX 0

HETERO_COMMIT 0

SBSPACENAME sbspace
SYSSBSPACENAME sbspace

BLOCKTIMEOUT 3600

SYSALARMPROGRAM C:\Informix\etc\evidence.bat

OPT_GOAL -1

ALLOW_NEWLINE 0

#VPCLASS jvp,num=1

JVPJAVAHOME C:\Informix\extend\krakatoa\jredirectory
JVPHOME C:\Informix\extend\krakatoa

JVPLOGFILE C:\Informix\extend\krakatoa\nikolayev_jvp.log
JVPPROPFILE C:\Informix\extend\krakatoa\.jvpprops_nikolayev

JDKVERSION 1.3

JVPJAVALIB \bin\

JVPJAVAVM hpi;server;verify;java;net;zip;jpeg

JVPCLASSPATH C:\Informix\extend\krakatoa\krakatoa.jar;C:\Informix\extend\krakatoa\jdbc.jar

EXTSHMADD 65536

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
onstat -g ioq

IBM Informix Dynamic Server Version 9.40.TC7     -- On-Line -- Up 01:18:12 -- 13
07648 Kbytes

AIO I/O queues:
q name/id    len maxlen totalops  dskread dskwrite  dskcopy
sqli_dbg   0      0      0        0        0        0        0
  kio   0      0     16    11489        0    11489        0
  kio   1      0     16    26921      830    26091        0
  kio   2      0     33   956004   919021    36983        0
  kio   3      0     33   546699   437411   109288        0
  adt   0      0      0        0        0        0        0
  msc   0      0      1      941        0        0        0
  aio   0      0      1       32        8        0        0
  pio   0      0      0        0        0        0        0
  lio   0      0      0        0        0        0        0
  gfd   3      0      0        0        0        0        0
  gfd   4      0      0        0        0        0        0
  gfd   5      0      0        0        0        0        0

* * * *

  gfd 231      0      0        0        0        0        0
Модератор: Умоляю пользуйтесь тегом fixed вместо quote
Вот так оно выглядит.
Апдейты статистики софт выполняет сам по расписанию, которое у них там как-то завязано с другими операциями. Т.е. можно считать, что статистика обносляется своевременно.
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33795428
vasilis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СередаВот мой ONconfig:
-------------------------
IDS 9.40
ISM/OnBar
ОЗУ 2Gb
Двухядерная CPU
Кроме параметров BUFFERS и SHMVIRTSIZE все остальное - это "подарок" от производителя софта который крутится на этой базе (базах).
Черным выделил то, что вызывает у меня подозрения.

Мои рекомендации, вопросы и советы по параметрам:
LOGFILES 25
LOGSIZE 100000
Слишком большой размер логжурналов (100М). Лучше сделать их больше , но меньшего размера, хотя бы по 10М. Доводы смотри в этом форуме, уже не раз обсуждалось (как минимум, при падении винта потеряешь слишком много транзакций).

RESIDENT 1
установи в 2, иначе Win может свопить виртуальный сегмент

NUMCPUVPS 2
Еще не работал с двухядерными серверами, поэтому трудно рекомендовать, но как то не вяжется этот параметр с твоей статистикой ниже (почему то аж 4 KAIO ?)
Код: plaintext
1.
2.
3.
kio    0        0       16      11489          0      11489          0 
 kio    1        0       16      26921        830      26091          0 
 kio    2        0       33     956004     919021      36983          0 
 kio    3        0       33     546699     437411     109288          0 
В любом случае, перегруженным проц не выглядит, хотя для этого нужны другие данные.
В то же время
usercpu syscpu
4567.28 1278.13
говорит о слишком большой части системного времени, что чаще всего говорит о перегруженности дисковой подсистемы или обилии сортировок.
AFF_NPROCS 2
Это нужно убрать. Т.е. установить в 0.
BUFFERS 230000
Рекомендую еще расширить буферный пул, если есть 2Г и больше ничего на этом серваке не работает.
Правда в твоих данных фигурируют разные размеры
сейчас 1307648 Kbytes, а ранее было 1184704 Kbytes
рекомендую BUFFERS 280000

NUMAIOVPS
установить в конкретное значение =1

PHYSBUFF 32
LOGBUFF 32
Размер буфера физжурнала лучше не трогать, чаще всего его размера и так достаточно. А вот размер буфера для логжурнала можно немного увеличить (опять таки, данных для этого мало) до 64, но т.о. слегка понижается надежность (при падении сервака пропадут те транзакции, которые были в буфере и не успели сброситься на диск).

CLEANERS 32
Зависит от числа активных чанков и конфигурации дисков.
И не видно их загрузки.
Покажи хотя бы onstat -u после нескольких часов ативной работы системы.

SHMVIRTSIZE 350000
А нужно ли столько ? Мониторил ли ты потребность в памяти для запросов ?
Из приведенных тобой ранее данных видно, что более 60% сегмента свободно.
CKPTINTVL 1200
Кстати, ты не привел среднее время КТ из журнала. Если оно не превышает 1-2 сек, то можно ничего и не менять. Но при твоих параметрах во время КТ может сбрасываться до 300М на диск и это может занять довольно много времени. Если время КТ большое надо уменьшать LRU...DIRTY.

LRUS 31
Однозначно увеличить до 127.
(при этом размере буферного пула и большом кол-ве ожиданий буферов).

LRU_MAX_DIRTY 30
LRU_MIN_DIRTY 20
Требуют кореляции с другими параметрами

DYNAMIC_LOGS 2
Рекомендую выключить (0) и соответственно, уменьшить два следующих параметра до 45 и 54.
LTXHWM 70
LTXEHWM 80

OFF_RECVRY_THREADS 40
ON_RECVRY_THREADS 10
Зачем это ? Лучше оставить по умолчанию.
Никогда не встречал рекомендации увеличить эти значения, видел только уменьшение.

CDR_EVALTHREADS 1,2
CDR_DSLOCKWAIT 5
CDR_QUEUEMEM 4096
А у вас включена репликация ?

RA_PAGES 32
RA_THRESHOLD 16
Однозначно увеличить. Сначала хотя бы до 128 и 64.

DBSPACETEMP tempdbs1:tempdbs2:tempdbs3:tempdbs4:tempdbs5:tempdbs6
И зачем их столько ? Они что, лежат на разных физических дисках ? Если да, то можно оставить :)
Если нет и все лежат на одном разделе рейда, то достаточно 2-х или 3-х.

USEOSTIME 0
Не трогать (и чем он у тебя вызвал сомнение ?)

MAX_PDQPRIORITY 100
DS_MAX_QUERIES 20
DS_TOTAL_MEMORY 100000
DS_MAX_SCANS 56
А PDQ используется в запросах ? Это ведь легко промониторить даже по onstat -u

OPTCOMPIND 0
А вот эта штука может играть значительную роль в быстродействии запросов.
Вообще то, по умолчанию, д.б. 2 и чаще всего это лучше, но не всегда.
Т.ч. тут можно только поэкспериментировать - взять несколько наиболее частых запросов (или самых "тяжелых" по времени и критичных для системы) и проверить на свободном серваке время выполнения с этими разными параметрами.

ONDBSPACEDOWN 0
Тоже далеко не однозначный параметр. Сам ставлю в 0 (хотя по умолчанию 2).

СередаАпдейты статистики софт выполняет сам по расписанию, которое у них там как-то завязано с другими операциями. Т.е. можно считать, что статистика обносляется своевременно.
А я бы так не считал, а проверил. Хотя бы элементарным запросом по sysdistrib
или воспользоваться готовым, например этим
----------------------------------------------------
-- List Tables with Update Statistics and without
--
-- V.Shulzhenko DBA_Tools
----------------------------------------------------
select unique
t.tabname[1,18] table_name
-- ,d.colno
,t.created
,t.nrows
,d.constructed upstat_date
,d.mode
,substr(d.resolution,1,4) resol
from systables t,outer sysdistrib d
where t.tabid=d.tabid
and t.tabtype='T'
order by 1;
----------------------------------------------------
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33795797
Середа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Большое спасибо за пост - много интересных мыслей.
Наши товарисчи спалили какой-то фильтр и только-только восстановили питание сервера. Я тут ответил на то что можно было без включенного сервера. Статистика в ближайшее время будет наверное невалидная.

Статистику смогу вынести позже. Или в понедельник или аж через неделю - еду на повышение квалификации в фирму поставщик софта :)

vasilisNUMCPUVPS 2
Еще не работал с двухядерными серверами, поэтому трудно рекомендовать, но как то не вяжется этот параметр с твоей статистикой ниже (почему то аж 4 KAIO ?)Незнаю как прокомментировать. 4 KAIO это может отрицательно влиять на производительность системы?
vasilisВ любом случае, перегруженным проц не выглядит, хотя для этого нужны другие данные.
В то же время
usercpu syscpu
4567.28 1278.13
говорит о слишком большой части системного времени, что чаще всего говорит о перегруженности дисковой подсистемы или обилии сортировок.
Вполне возможно что это именно сортировки.
vasilisAFF_NPROCS 2
Это нужно убрать. Т.е. установить в 0.Это критично? Насколько помню, пока не поставил 2 у меня неполучалось onmode -p +1 cpu провести.
Было прикольно:
прихожу к товарищам которые это хозяйство передают мне и говорю:
- а чего это у вас база не использует второе ядро ни при каких условиях???
а они мне с искренним удивлением: а зачем???
- там и так никогда выше 50% загрузка не поднимается.
(речь о графике в диспетчере задач. 50% как раз полная загрузка одного ядра :) )
vasilisBUFFERS 230000
Рекомендую еще расширить буферный пул, если есть 2Г и больше ничего на этом серваке не работает.
Правда в твоих данных фигурируют разные размеры
сейчас 1307648 Kbytes, а ранее было 1184704 Kbytes
рекомендую BUFFERS 280000
Это данные за разное время. Система в несовсемпромышленной эксплуатации - крутим параметры что бы добиться пристойной производительности. Последняя настройка BUFFERS 230000.
vasilisNUMAIOVPS
установить в конкретное значение =1А почему так?
vasilisSHMVIRTSIZE 350000
А нужно ли столько ? Мониторил ли ты потребность в памяти для запросов ?
Из приведенных тобой ранее данных видно, что более 60% сегмента свободно.Сразу сказать трудно. Соберу статистику в конце месяца, когда пойдет повышенная нагрузка - будет видно. Скорее всего уменьшать не придется :(
vasilisCKPTINTVL 1200
Кстати, ты не привел среднее время КТ из журнала. Если оно не превышает 1-2 сек, то можно ничего и не менять. Но при твоих параметрах во время КТ может сбрасываться до 300М на диск и это может занять довольно много времени. Если время КТ большое надо уменьшать LRU...DIRTY.
КТ идут по разному.
Если сервер не подгружен, то 0 сек.
Код: plaintext
Fuzzy Checkpoint Completed:  duration was 0 seconds, 48 buffers not flushed.
Если подгружен, то даже 6 сек. есть.
Код: plaintext
Fuzzy Checkpoint Completed:  duration was 6 seconds, 3376 buffers not flushed.
Самый страшный вариант нашел в логе: 18 сек.
vasilisLRU_MAX_DIRTY 30
LRU_MIN_DIRTY 20
Требуют кореляции с другими параметрамиС какими?
vasilisDYNAMIC_LOGS 2
Рекомендую выключить (0) и соответственно, уменьшить два следующих параметра до 45 и 54.
LTXHWM 70
LTXEHWM 80
У нас реальны ситуации когда происходит роллбэк длинной транзакции... вчера кто-то таких 25 штук за 40 минут сделал, так что DYNAMIC_LOGS точно будет 0 - легче потом отловить и удалить динамически созданное (ISA друг админа :) ).
vasilisOFF_RECVRY_THREADS 40
ON_RECVRY_THREADS 10
Зачем это ? Лучше оставить по умолчанию.
Никогда не встречал рекомендации увеличить эти значения, видел только уменьшение.
OFF_RECVRY_THREADS
onconfig.std value 10
For single-processor computers or nodes, more than 30 to 40 threads is probably too many, because the overhead of thread management offsets the increase in parallel processing. (c) TFM
...40 таки да многовато.
Из каких соображений можно выйти на оптимальное значение?

ON_RECVRY_THREADS
onconfig.std value 1
You can tune ON_RECVRY_THREADS to the number of tables that are likely to
be recovered
, because the logical-log records that are processed during
recovery are assigned threads by table number. (c) TFM

Т.е. в принципе речь только о том параллельное или последовательное восстановление будет использоваться?

vasilis
Код: plaintext
1.
2.
 CDR_EVALTHREADS		1,2 
 CDR_DSLOCKWAIT		5 
 CDR_QUEUEMEM		4096 
А у вас включена репликация ?
Нет.
vasilisRA_PAGES 32
RA_THRESHOLD 16
Однозначно увеличить. Сначала хотя бы до 128 и 64.
Это как-то можно связать с тем, что размер кластера 64к, а размер страйпа, если не ошибаюсь 1Мб?
vasilisDBSPACETEMP tempdbs1:tempdbs2:tempdbs3:tempdbs4:tempdbs5:tempdbs6
И зачем их столько ? Они что, лежат на разных физических дисках ? Если да, то можно оставить :)
Если нет и все лежат на одном разделе рейда, то достаточно 2-х или 3-х.Все в кучу, но их требует документация к софту...
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33796556
onstat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Середа

vasilisAFF_NPROCS 2
Это нужно убрать. Т.е. установить в 0.
Это критично? Насколько помню, пока не поставил 2 у меня неполучалось onmode -p +1 cpu провести.
Было прикольно:
прихожу к товарищам которые это хозяйство передают мне и говорю:
- а чего это у вас база не использует второе ядро ни при каких условиях???
а они мне с искренним удивлением: а зачем???
- там и так никогда выше 50% загрузка не поднимается.
(речь о графике в диспетчере задач. 50% как раз полная загрузка одного ядра :) )


Припязка ВП к физическому процессору имеет смысл когда
есть достаточное количество процессров.
В этом случае можно получить прирост
производительности за счет более оптималього использования кеша процессра.
Рекомендуется иметь в системе минимум один физический процессор не привязаный к ВП.


Середа
vasilisLRU_MAX_DIRTY 30
LRU_MIN_DIRTY 20
Требуют кореляции с другими параметрами
С какими?


BUFFERS 230000
CLEANERS 32
LRUS 31
CKPTINTVL 1200

Середа
vasilisRA_PAGES 32
RA_THRESHOLD 16
Однозначно увеличить. Сначала хотя бы до 128 и 64.

Это как-то можно связать с тем, что размер кластера 64к, а размер страйпа, если не ошибаюсь 1Мб?


Увеличение значения этих параметров будут влиять на производительность только в случае если у Вас :
1. Много полных сканирований таблиц.
2. Существуют очень обьемные (как правило составные индексы)
и производится индексный поиск по диапазону.
В других случаях никакого влияния эти параметры не дадут.
А для операций поиска по первичному ключу могут даже понизить производительность.
Эти параметры предназначены для управления
упреждающего чтения(кеширования).

Размер страйпа имеет смысл только в случае если у Вас raid5.
Размер кластера файловой системы лучше зделать равным
размеру страницы(4к).
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33796844
Середа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
onstatПрипязка ВП к физическому процессору имеет смысл когда есть достаточное количество процессров.
В этом случае можно получить прирост производительности за счет более оптималього использования кеша процессра. Рекомендуется иметь в системе минимум один физический процессор не привязаный к ВП.
Код: plaintext
For  dual-processor systems , you might improve performance by running with  two  CPU VPs. To test if performance improves, set NUMCPUVPS to 1 in your ONCONFIG file and then add a CPU VP dynamically at runtime with onmode -p.
Мне кажется не рациональным оставлять одно из ядер процессора не загруженным, если система на свои операции берет 1-2% производительности одного ядра (рабочая фреквенси 3 ГГц) ?
Можно как-то не привязывать VCPU к реальным?
onstatРазмер страйпа имеет смысл только в случае если у Вас raid5.
Почему Вы говорите, что если не рэйд-5, то страйп не имеет смысл? Как я понял сис.админов в том устройстве на котором хранится база есть отдельные настройки типа биоса в которых этот самый страйп выбирается и в зависимости от его величины билдится массив. Кроме того эта же величина данных считывается за один раз из массива.
onstatРазмер кластера файловой системы лучше зделать равным размеру страницы(4к).Почему? Как это можно обосновать?
Самый маленький чанк у нас 100Мб.
Размер баз пока ~100Гб, а когда будем вводить в пром.режим, то, возможно эта цифра увеличится разов так в несколько.
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33796956
дейт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Размер кластера файловой системы лучше зделать равным
размеру страницы(4к).Размер кластера влияет лишь на минимальный размер файла, и на количество листьев в дереве фс. Чтение запись будет вестись 4\2кб кусками в любом случае. Размеры\кратность страйпа, кеша диска, конторолера, головы раида будут влиять точно также как и флуктуации температуры поверхности марса -- непредсказуемо и +-2% производительности (понятно что для oltp при пятом рейде необходим кеш рейда минимум гиг иначе черевато). При уровне кеширования буферами 98% -- если мы вообще уберем ожидания диска, грубо говоря мы ускорим процесс лишь на 2%.
Виноват кривой софт (корявые запросы). End. The period. как сказал бы Выбегалло.
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33797033
Выбегалло
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СередаСервер тормозит (все думают, что сильно). Начальство наезжает - вычислить точную причину тормозов софт (чужой) или железо (наше).


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


6. Если "раньше работало, а теперь нет" - то постарайтесь вспомнить ВСЕ изменения в конфигурации за прошедшее время (не только в onconfig, но и в локальной сети, настройках клиента, сервера приложений, патчи, сервис паки, регламентные работы по БД и т.п.)
Нет, оно и раньше тормозило.
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33797047
Выбегалло
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"вместо 8 часов операция обработки массива данных идет в течении почти 24 часов." - откуда взялись эти 8 часов ? Вам так кажется, или оно и вправду раньше не тормозило ?

В таком вот аксепте
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33798629
Середа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Выбегалло"вместо 8 часов операция обработки массива данных идет в течении почти 24 часов." - откуда взялись эти 8 часов ? Вам так кажется, или оно и вправду раньше не тормозило ?

В таком вот аксептеС 8 часами мутная история: производитель софта утверждает что на аналогичных задачах в других конторах характерное время 8 часов. Вытрясти конфиг и конфигурацию железа ни из кого пока не получилось - вот и бьюсь как рыба об лед.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Profile
dskreads pagreads bufreads %cached dskwrits pagwrits bufwrits %cached
16371662 46600565 3321155014 99.52   6809726  11993456 111190344 94.52

isamtot  open     start    read     write    rewrite  delete   commit   rollbk
465486109 1782537  19591359 127817181 32384668 9036     30015792 57071    19

gp_read  gp_write gp_rewrt gp_del   gp_alloc gp_free  gp_curs
1        0        0        0        0        0        3

ovlock   ovuserthread ovbuff   usercpu  syscpu   numckpts flushes
0        0            0        222656.28 3488.42  941      1882

bufwaits lokwaits lockreqs deadlks  dltouts  ckpwaits compress seqscans
1071954  2        1194002149 0        0        2069     468090   4069235

ixda-RA  idx-RA   da-RA    RA-pgsused lchwaits
 1032608   25210     11196438  12202254   2403789

Можно ли считать, что разница в 10 раз между выделенными числами - это результат того, что при выполнении запросов мало используются индексы?
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33799082
Середа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно ли и есть ли смысл заставить Informix использовать не KIO, а AIO?
--------------------------------------------------------------------------
IDS 9.40, Windows 2003 Server
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33799144
Чемберлен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
СередаМожно ли и есть ли смысл заставить Informix использовать не KIO, а AIO?
--------------------------------------------------------------------------
IDS 9.40, Windows 2003 Server

Нельзя на Windows 2003 Server.
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33799149
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Середа...
Можно ли считать, что разница в 10 раз между выделенными числами - это результат того, что при выполнении запросов мало используются индексы?Включи сбор стат-ки по таблицам (TBLSPACE_STATS 1) и смотри в ppf по каким таблицам (какого размера) у тебя 4млн. сексканов. Дело в софте всегда.
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33799183
Середа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Журавлев ДенисВключи сбор стат-ки по таблицам (TBLSPACE_STATS 1) и смотри в ppf по каким таблицам (какого размера) у тебя 4млн. сексканов. Дело в софте всегда.Очень извиняюсь: как включить сбор стат-ки по таблицам (TBLSPACE_STATS 1) и что такое ppf?
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33799206
Середа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Заранее извиняюсь, за заданные вопросы:
Чемберлен СередаМожно ли и есть ли смысл заставить Informix использовать не KIO, а AIO?
--------------------------------------------------------------------------
IDS 9.40, Windows 2003 Server

Нельзя на Windows 2003 Server.
Я так понял, что AIO использует gfd для ввода-вывода (их аж 235 штук), а KIO по числу VCPU (аж 4 штуки)... Вот и вопрос у меня:
1) Может тогда AIO все зарезать?
1.1) И gfd как-то убрать - все равно их статистика нулевая, а ресурсы поди жрут?
2) AIO может их сделать в колличестве близком к количеству gdf (235)?
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33799224
Середа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Середа Журавлев ДенисВключи сбор стат-ки по таблицам (TBLSPACE_STATS 1) и смотри в ppf по каким таблицам (какого размера) у тебя 4млн. сексканов. Дело в софте всегда.Очень извиняюсь: как включить сбор стат-ки по таблицам (TBLSPACE_STATS 1) и что такое ppf?Сорри - с этим уже разобрался.
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33799244
Середа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Исправленный пост.

Заранее извиняюсь, за заданные вопросы:
Чемберлен СередаМожно ли и есть ли смысл заставить Informix использовать не KIO, а AIO?
--------------------------------------------------------------------------
IDS 9.40, Windows 2003 Server

Нельзя на Windows 2003 Server.
Я так понял, что AIO использует gfd для ввода-вывода (их аж 235 штук), а KIO по числу VCPU (аж 4 штуки)... Вот и вопрос у меня:
1) Может тогда AIO все зарезать?
1.1) И gfd как-то убрать - все равно их статистика нулевая, а ресурсы поди жрут?
2) KIO может их сделать в колличестве близком к количеству gdf (235)?
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33799245
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Середа
Я так понял, что AIO использует gfd для ввода-вывода (их аж 235 штук), а KIO по числу VCPU (аж 4 штуки)... Вот и вопрос у меня:
Не трогайте ничего. KIO асинхронно работает, послал запрос, уснул не дожидаясь ответа диска, все у вас правильно, и максимальная длина очереди >10 тоже ни о чем не говорит (неизвестно когда она была максимальной, а вдруг в момент сбора статистики или бекапа, а не в момент реальной работы).
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33799257
Середа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Журавлев Денис Середа
Я так понял, что AIO использует gfd для ввода-вывода (их аж 235 штук), а KIO по числу VCPU (аж 4 штуки)... Вот и вопрос у меня:
Не трогайте ничего. KIO асинхронно работает, послал запрос, уснул не дожидаясь ответа диска, все у вас правильно, и максимальная длина очереди >10 тоже ни о чем не говорит (не известно когда она была максимальной, а вдруг в момент сбора статистики или бекапа, а не в момент реальной работы).Т.е. все что могло бы тормозить со стороны дисков отметаем сслылаясь на то что буферизация чтения/записи больше 97% (кстати бываю редкие моменты, когда эти показатели падают 67% на чтение в частности)?
Далее остается исследовать откуда идет прямой перебор данных в таких количествах. Есть версия: индексы строились давно с филлфактором 90% и не перестраивались. Может ли быть, что 10% запаса исчерпались и индексы просто не валидны на сегдня? Как-то это можно проONSTATить?
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33799305
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СередаТ.е. все что могло бы тормозить со стороны дисков отметаем сслылаясь на то что буферизация чтения/записи больше 97% (кстати бываю редкие моменты, когда эти показатели падают 67% на чтение в частности)?Низкий уровень кеширования (67%) говорит о плохом приложении, о маленьком буфере (не ваш случай явно). Высокий уровень 97, 99 ни о чем ни говорит, при 99.99% все тоже может быть очень плохо. Но к скорости дисковой системы вообще отношения не имеет. Т.е. теоритически она может быть узким местом (ну раид5 софтверный), но практически вряд-ли. Т.е. скорее может быть ситуация -- сексканов огромных таблиц, ускорение дисковой системы конечно поможет, но реально надо лечить приложение.

Середа
Далее остается исследовать откуда идет прямой перебор данных в таких количествах. Есть версия: индексы строились давно с филлфактором 90% и не перестраивались. Может ли быть, что 10% запаса исчерпались и индексы просто не валидны на сегдня? Как-то это можно проONSTATить?Филлфактор на индескный/последовательный доступ не влияет. Вы похоже вообще не понимаете что это такое, не трогайте, и не надо ничего перестраивать (перестраивать индексы вообще не надо, потому что практически 99.99% это не поможет и не меняет ничего).
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33799335
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И еще lockreqs/commit ~ 21 тыс довольно большое значение по моему. Тоже косвенно намекает на seqscans больших таблиц ну или случай очень необычного софта.
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33799372
Середа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Журавлев ДенисФиллфактор на индескный/последовательный доступ не влияет. Вы похоже вообще не понимаете что это такое, не трогайте, и не надо ничего перестраивать (перестраивать индексы вообще не надо, потому что практически 99.99% это не поможет и не меняет ничего).
FILLFACTOR specifies the degree of index-page fullness. A low value provides room for growth in the index. A high value compacts the index. If an index is full (100 percent), any new inserts result in splitting nodes. You can also set the FILLFACTOR as an option on the CREATE INDEX statement. The setting on the CREATE INDEX statement overrides the ONCONFIG file value.

Т.е. index-page fullness - это полнота не в смысле заполнения страницы, а в смысле "полноты индекса"?
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33799463
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Середа
Т.е. index-page fullness - это полнота не в смысле заполнения страницы, а в смысле "полноты индекса"?это именно полнота в смысле заполнения страницы индекса, при 100% страница расщепляется. Каким боком относится к вашим проблемам не понятно, видимо никаким.

ЗЫ: Понятние полнота индекса -- мне не известно.
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33799489
Середа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ISA мне про память:
Код: plaintext
1.
2.
ID Ключ Адрес Размер Избыток Класс Использовано блоков Свободно блоков 
1381386241 1381386241 c000000 980615168 245264 R* 239373 35 
1381386242 1381386242 46730000 358416384 11584 V* 43424 44080 
Т.о. есть запас памяти по-любому.

Завтра буду на фирме - производителе софта буду их спрашивать.
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33799788
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СередаISA мне про память:
Код: plaintext
1.
2.
ID Ключ Адрес Размер Избыток Класс Использовано блоков Свободно блоков 
1381386241 1381386241 c000000 980615168 245264 R* 239373 35 
1381386242 1381386242 46730000 358416384 11584 V* 43424 44080 
Т.о. есть запас памяти по-любому.
Тут сложно судить про запас.
Есть R сегмент (используется в качестве кеша) тут будет практически всегда 0, сколько его ни корми, а есть V, если его не хватает инфоримикс прихватит еще сам, но при кол-ве поль-й один тут настраивать особо нечего.
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33801194
Выбегалло
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Середа, вы не там смотрите. Общие настройки сервера вряд ли дают падение производительности в 4 раза, разве что при очень грубых ошибках типа очень маленького буфера, но у вас их не видно. Что смущает - так это 1.8М seq scan-ов за 7 часов работы. Явно не хватает где-то индексов.
Вам надо а) убедиться что сеть не перегружена (процессор, по вашим словам, недогружен), б) окончательно убедиться что диски не перегружены и в) выяснить, какие запросы выполняются в течении этого самого 24часового процессинга и сконцентрироваться на самых долгих их них.
Не помешает своими глазами увидеть тех самых клиентов, что выполняют за 8 часов, а то ведь может все проще, как в том анекдоте про " и вы говорите " ?

В таком вот аксепте
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33832105
Середа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВыбегаллоСереда, вы не там смотрите. Общие настройки сервера вряд ли дают падение производительности в 4 раза, разве что при очень грубых ошибках типа очень маленького буфера, но у вас их не видно. Что смущает - так это 1.8М seq scan-ов за 7 часов работы. Явно не хватает где-то индексов.
Вам надо а) убедиться что сеть не перегружена (процессор, по вашим словам, недогружен), б) окончательно убедиться что диски не перегружены и в) выяснить, какие запросы выполняются в течении этого самого 24часового процессинга и сконцентрироваться на самых долгих их них.
Не помешает своими глазами увидеть тех самых клиентов, что выполняют за 8 часов, а то ведь может все проще, как в том анекдоте про " и вы говорите " ?

В таком вот аксепте

Все разрешилось до боли просто.

1) Система БД+приложение действительно плотно использует доступ к данным не по индексам.
2) Что-там так закручено, что увеличение параметров RA_ бестолку. Сейчас стоит
Код: plaintext
1.
RA_PAGES 16
RA_THRESHOLD 8
и при этом
Код: plaintext
1.
ixda-RA  idx-RA   da-RA    RA-pgsused
10668    639      151660   162382
еще и не все, что читается используется.
3) Что самое криминальное: обновление статистики делается через систему приложения... и оказалось, что админ приложения просто "забил" на такую второстепенную операцию, как обновление статистики .
Короче: всех упорядочил. Таперь стало, как они говорят лучше (почти хорошо).
Думаю, может еще заняться самодеятельностью: поотлавливать запросы юзеров, посмотреть какие индексы в наличии и пообщаться с разработчиками если что-то накопаю.
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33832956
onstat-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прошу прощения за задержку с ответом.

Середа onstatПрипязка ВП к физическому процессору имеет смысл когда есть достаточное количество процессров.
В этом случае можно получить прирост производительности за счет более оптималього использования кеша процессра. Рекомендуется иметь в системе минимум один физический процессор не привязаный к ВП.
Код: plaintext
For  dual-processor systems , you might improve performance by running with  two  CPU VPs. To test if performance improves, set NUMCPUVPS to 1 in your ONCONFIG file and then add a CPU VP dynamically at runtime with onmode -p.
Мне кажется не рациональным оставлять одно из ядер процессора не загруженным, если система на свои операции берет 1-2% производительности одного ядра (рабочая фреквенси 3 ГГц) ?
Можно как-то не привязывать VCPU к реальным?

Можете не привязывать. Не трогайте параметры связанные с AFFINITY
и ничего привязываться не будет.
На разных версиях я получал разные результаты.
Гдето говорилось, что нельзя запустить виртуальный процессор если физический последний в системе.
На другой версии у меня запускалось 3 привязанных процессора и еще 2 не привязанных, на 4 физических процессорах
На каких конкретно версиях это было я не помню.

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

onstatРазмер страйпа имеет смысл только в случае если у Вас raid5.
Середа
Почему Вы говорите, что если не рэйд-5, то страйп не имеет смысл? Как я понял сис.админов в том устройстве на котором хранится база есть отдельные настройки типа биоса в которых этот самый страйп выбирается и в зависимости от его величины билдится массив. Кроме того эта же величина данных считывается за один раз из массива.


В raid 5 при изменении данных на диске пересчитывается контрольная сумма по всему страйпу, не зависимо от того сколько страниц(informix pages) было изменено базой.
То есть при размере страницы 2 к и размере страйпа 64к при изменении
в одной странице данных будет пересчитана и переписана конрольная
сумма по всему страйпу 64к.
Raid10 умеет читать и писать не полными страйпами.


По вопросу размера кластера я полностью согласен с выводами дейт.
Я где то читал рекомендацию, что размер кластера по возможности
должен быть равен размеру страницы базы данных.
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33833953
vasilis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Середа3) Что самое криминальное: обновление статистики делается через систему приложения... и оказалось, что админ приложения просто "забил" на такую второстепенную операцию, как обновление статистики .

Ха, а я что советовал ? Именно проверить утверждения других людей :)

vasilis
СередаАпдейты статистики софт выполняет сам по расписанию, которое у них там как-то завязано с другими операциями. Т.е. можно считать, что статистика обносляется своевременно.
А я бы так не считал, а проверил. Хотя бы элементарным запросом по sysdistrib
или воспользоваться готовым, например этим
----------------------------------------------------
-- List Tables with Update Statistics and without
...
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33836258
Середа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vasilisХа, а я что советовал ? Именно проверить утверждения других людей :)Да. Я посмотрел вышеобозначенным запросом что и как обновляет приложение. Следы последнего массового обновления заметны 18 дней назад и ни разу не наблюдается HIGH.

Я знаю, что на базах под postgres обновление статистики у нас идет не раз в сутки - иначе тормоза.

Короче, сижу и обновляю статистику сейчас.... Сам!
...
Рейтинг: 0 / 0
Производительность сервера БД
    #33836262
Середа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
СередаЯ знаю, что на базах под postgres обновление статистики у нас идет не раз в сутки - иначе тормоза.
Очепяточка вышла: раз в сутки.
...
Рейтинг: 0 / 0
72 сообщений из 72, показаны все 3 страниц
Форумы / Informix [игнор отключен] [закрыт для гостей] / Производительность сервера БД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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