|
"Подвисает" OLTP на IDS 7.31. Чем (и как) узнать причину?
|
|||
---|---|---|---|
#18+
IDS adminУстранил проблему с батарейкой кеша контроллера. Пока все ок, checkpoint'ы на Secondary стали проходят быстрее. Так все таки железо! А в чем проблема с батарейкой, которая так повлияла на производительность ? IDS adminно пока все равно через каждые 30 сек. Измените параметр CKPTINTVL на обоих серверах, как я выше советовал. Затем помониторим длительности. Если будет нужно - будем настраивать. Также нужно запланировать увеличение физлога. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2009, 20:44 |
|
"Подвисает" OLTP на IDS 7.31. Чем (и как) узнать причину?
|
|||
---|---|---|---|
#18+
vasilis А в чем проблема с батарейкой, которая так повлияла на производительность ? Это батарейка от кеша контроллера. За ее счет данные живут в кеше записи, если электричество выключили внезапно, чтобы после включения скинуть данные кеша на диски. Она просто разрядилась и больше не заряжалась (видать за 4 года активного использования она испортилась, а может еще чего). Контроллер в этом случае просто отключает кеширование. Таким образом, вся запись шла непосредственно на физ. диски. Предполагаю, что после замены батарейки контроллер моментально проглатывает до 256 МБ в кеш во время чекпойнта, а затем сам скидывает данные на диски. vasilis Измените параметр CKPTINTVL на обоих серверах, как я выше советовал. Затем помониторим длительности. Если будет нужно - будем настраивать. Также нужно запланировать увеличение физлога. Ок! ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2009, 21:40 |
|
"Подвисает" OLTP на IDS 7.31. Чем (и как) узнать причину?
|
|||
---|---|---|---|
#18+
IDS adminvasilis А в чем проблема с батарейкой, которая так повлияла на производительность ? ...Контроллер в этом случае просто отключает кеширование. Меня именно этот аспект интересовал. Контроллер оказался довольно умным :) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2009, 19:52 |
|
"Подвисает" OLTP на IDS 7.31. Чем (и как) узнать причину?
|
|||
---|---|---|---|
#18+
vasilisДам рекомендации уже завтра - к сожалению, сегодня уже нет времени :( завтра пришло послезавтра :) Ниже мои рекомендации по onconfig без подробных объяснений (некоторые уже были ранее). Что будет непонятно - спрашивайте. Лучше добавлять (изменять) понемногу. Так лучше понять результаты изменений и откатить назад, если что. Исходим из того, что 16 ядер, 4 Гб ОП, на сервере только IDS и ничего более, чистый OLTP (редкость, кстати), много дисков, высокая нагрузка. PHYSFILE 512000 (32М - старый) - большой размер ничем не грозит, маленький - опасен. LOGFILES 184 # Number of logical log files LOGSIZE 256000 # Logical log size (Kbytes) Логи у вас разных размеров и разбросаны по многим пространствам. Надо бы навести порядок. Почему ? Например, полетит один из рядовых чанков с данными (возможно и не критичными). В обычной ситуации сервер будет продолжать работать, но если там лежит логический журнал, то сервер встанет полностью. TBLSPACE_STATS 1 - после настройки этот параметр лучше выключать в тяжело нагруженной системе RESIDENT 2 (0) - два сегмента должны быть резидентными NUMCPUVPS 12 (4) - при 16 ядрах можно смело увеличивать NOAGE 0 # Process aging AFF_SPROC 0 # Affinity start processor AFF_NPROCS 0 # Affinity number of processors А на SCO эти параметры работают в принципе ? #BUFFERS 524288 # Maximum number of shared buffers BUFFERS 262144 # Maximum number of shared buffers #BUFFERS 131072 # SHMMAX set to 819200000 У вас 4Гб памяти. Установите параметры ядра, чтобы можно было сделать сегмент (и буферный пул ) больше. Хотя бы размером в 1Г. Т.е. попробуйте сделать BUFFERS 512000 Но проверьте это сначала на тестовой машине с такой же версией ОС и IDS. У вас может хорошо вырасти производительность, т.к. буферов не хватает и процент кеширования по чтению низкий. NUMAIOVPS 32 (не был установлен). По умолчанию у вас их 128 (по удвоенному числу чанков). Это много и не нужно. PHYSBUFF 32 # Physical log buffer size (Kbytes) LOGBUFF 32 (64) # у вас небуферируемая БД, т.к. большой буфер вам просто не нужен - постоянная лишняя работа по обработке и сбросу пустого, практически, буфера. CLEANERS 16 (8) - по статистике видно, что все 8 нагружены одинаково сильно. А желательно, чтобы был 1-2 свободных (у них кол-во операций на порядок-два меньше) для пиковых нагрузок. SHMVIRTSIZE 131072 # initial virtual shared memory segment size Здесь просканируйте свой online.log на предмет динамического добавления сегментов. Если такие попадались -лучше увеличить. Например до 256000 - памяти у вас девать некуда :) CKPTINTVL 0 # Check point interval (in sec) Об этом уже писал. CKPTINTVL 300 или 600. #LRUS 64 # Number of LRU queues LRUS 256 В вашей версии максимум 128 (если не ошибаюсь). Поэтому установите LRUS 127 LRU_MAX_DIRTY 30 # LRU percent dirty begin cleaning limit LRU_MIN_DIRTY 20 # LRU percent dirty end cleaning limit Эти надо будет настроить, когда измените CKPTINTVL и промониторите длительности. LTXHWM 45 (50) # Long transaction high water mark percentage LTXEHWM 54 (60) # Long transaction high water mark (exclusive) Много разз писал на эту тему. Поищите по форуму. OFF_RECVRY_THREADS 1 (80) - надежнее ON_RECVRY_THREADS 10 RA_PAGES 64 # Number of pages to attempt to read ahead RA_THRESHOLD 32 # Number of pages left before next group Read Ahead ("чтение наперед" большими блоками) ускоряет дисковое чтение при оследовательных просмотрах таблиц и индексов. Алгоритм интелектуален и не применяется для всех операций чтения с диском. Эффективность мониторится по onstat -p (последняя строка), при этом эффективным считается рубеж в 90% (как его вычислять смотрите в других FAQ). DBSPACETEMP temp01,temp02 # Default temp dbspaces Лучше сделать еще 1-2 временных пространства такого же размера, как и первые два. У вас может помочь распараллелить сортировки и т.п. OPTCOMPIND 2 # To hint the optimizer тут рекомендую почитать. http://www.sql.ru/faq/faq_topic.aspx?fid=681 Есть много мнений в OLTP системах устанавливать 0 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2009, 21:06 |
|
"Подвисает" OLTP на IDS 7.31. Чем (и как) узнать причину?
|
|||
---|---|---|---|
#18+
Может я и пропустил, и в топике это было, но тем не менее пусть сохранится для истории: IDS Adm Guide (9.4) Checkpoints Between Database Servers Checkpoints between database servers in a replication pair are synchronous, regardless of the value of DRINTERVAL. A checkpoint on the primary database server completes only after it completes on the secondary database server. If the checkpoint does not complete within the time that the ONCONFIG parameter DRTIMEOUT specifies, the primary database server assumes that a failure has occurred. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2009, 02:31 |
|
"Подвисает" OLTP на IDS 7.31. Чем (и как) узнать причину?
|
|||
---|---|---|---|
#18+
АнатоЛой, В точку. Только в случае длительного чекпойна на Secondary (как было в моем случае, 22 сек.) на Primary сервере в Online.Log'е об этом ни слова. А его последствия(кроме записи о себе в online.log) длятся до окончания чекпойнта на Secondary. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2009, 10:08 |
|
|
start [/forum/topic.php?fid=44&msg=36065198&tid=1607802]: |
0ms |
get settings: |
11ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
66ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
others: | 330ms |
total: | 501ms |
0 / 0 |