|
Тормозит Informix
|
|||
---|---|---|---|
#18+
Доброго всем дня! Достался мне на работе в наследство сервер с informix 9.40. Комп - Intel Xeon 2.6 Ггц. ОЗУ - 4 Гб. Операционка win2003server, настроено 8 виртуальных процессоров. Вот какая инфа есть на сервере: Number Dbspace Pathname Offset (Pages) Size (Pages) Allocated Page Reads Page Writes Status 1 rootdbs C:\IFMXDATA\ol_azotsql\rootdbs_dat.000 0 12800 15% 83813 6123463 Online 2 log_dbs d:\IFMData\logdbs.000 0 500000 98% 21 3136816 Online 3 balans d:\IFMData\balans.000 0 500000 99% 415290136 686810 Online 4 umck d:\IFMData\umck.000 0 500000 99% 1721420822 3273081 Online 5 umco d:\IFMData\umco.000 0 500000 99% 39015 9 Online 6 umcs d:\IFMData\umcs.000 0 500000 99% 15242589 95166 Online 7 balans d:\IFMData\balans.001 0 500000 32% 139446129 3947802 Online 8 umck d:\IFMData\umck.001 0 500000 80% 1134127767 15351639 Online 9 umco d:\IFMData\umco.001 0 500000 78% 468774 119012 Online 10 umcs d:\IFMData\umcs.001 0 500000 5% 580581 0 Online 11 temp1a d:\IFMData\temp1a.000 0 500000 0% 1 4 Online 12 temp3a d:\IFMData\temp3a.000 0 500000 0% 1 4 Online 13 temp5a d:\IFMData\temp5a.000 0 500000 0% 1 4 Online 14 temp6a d:\IFMData\temp6a.000 0 500000 0% 1 4 Online 15 temp7a d:\IFMData\temp7a.000 0 500000 0% 1 4 Online 16 umcso d:\IFMData\umcso.000 0 500000 99% 328423 8833 Online 17 umcso d:\IFMData\umcso.001 0 500000 4% 38909 59 Online В течение обычных дней все нормально. Однако когда начинаются отчетные дни и начинает формироваться много документов, сервер тормозит. Я заметил, что сессии, у которых параметр RSAM Threads 10 и выше - забивают сервак. Как только я их выкидываю, остальные могут работать. Иногда всего одна такая сессия может не давать работать остальным. При этом загрузка на виртуальных процессорах практически отсутствует. Для всех баз настроено ежедневное update statistic. НЕ МОГУ ПОНЯТЬ В ЧЕМ ПРОБЛЕМА! ПОМОГИТЕ РАЗОБРАТЬСЯ! Сразу скажу, что проги далеко не оптимизированы (их запросы к бд я имею ввиду), но с этим ничего не поделать, тот кто их писал уже не работает. Вот конфигурация на сервере informix: ROOTNAME rootdbs ROOTPATH C:\IFMXDATA\ol_azotsql\rootdbs_dat.000 ROOTOFFSET 0 (k) ROOTSIZE 51200 (k) MIRROR 1 MIRRORPATH MIRROROFFSET 0 (k) JVPHOME C:\Informix\extend\krakatoa JVPJAVAHOME C:\Informix\extend\krakatoa\jre JVPJAVAVM hpi;server;verify;java;net;zip;jpeg JVPLOGFILE C:\Informix\extend\krakatoa/jvp.log JVPPROPFILE C:\Informix\extend\krakatoa\.jvpprops_ol_azotsql JVPJAVALIB \bin\ JDKVERSION 1.3 JVMTHREAD green JVPCLASSPATH C:\Informix\extend\krakatoa\krakatoa.jar;C:\Informix\extend\krakatoa\jdbc.jar JVPDEBUG 0 PHYSDBS rootdbs PHYSFILE 2000 (k) LOGFILES 79 LOGSIZE 2000 (k) MSGPATH C:\Informix\ol_azotsql.log CONSOLE C:\Informix\conol_azotsql.log TAPEDEV NUL TAPEBLK 128 (k) TAPESIZE 10240000 (k) LTAPEDEV NUL LTAPEBLK 16 (k) LTAPESIZE 10240 (k) DBSERVERNAME ol_azotsql SERVERNUM 0 DEADLOCK_TIMEOUT 60 (s) RESIDENT 0 LOCKS 500000 BUFFERS 104857 PHYSBUFF 32 (k) LOGBUFF 32 (k) CLEANERS 8 BUFFSIZE 4096 (b) SHMBASE 0xc000000 CKPTINTVL 300 (s) NOFUZZYCKPT 0 LRUS 8 LRU_MAX_DIRTY 60.000000 (%) LRU_MIN_DIRTY 50.000000 (%) SPINCNT 0 STAGEBLOB LTXHWM 50 (%) LTXEHWM 60 (%) TXTIMEOUT 300 (s) DRNODE 0 DRNAME DRINTERVAL 30 (s) DRTIMEOUT 30 (s) DRLOSTFOUND \tmp DUMPSHMEM 1 DUMPGCORE 0 DUMPCORE 0 DUMPCNT 1 DUMPDIR C:\tmp NUMCPUVPS 7 NUMAIOVPS 1 SHMVIRTSIZE 8192 (k) NOAGE 0 AFF_SPROC 0 AFF_NPROC 0 RA_PAGES 8 (p) RA_THRESHOLD 4 (p) STACKSIZE 64 (k) OFF_RECVRY_THREADS 10 ON_RECVRY_THREADS 1 SHMADD 8192 (k) SHMTOTAL 0 (k) SINGLE_CPU_VP 0 ALARMPROGRAM C:\Informix\etc\alarmprogram.bat DS_MAX_QUERIES 32 DS_TOTAL_MEMORY 4096 (k) DS_MAX_SCANS 1048576 MAX_PDQPRIORITY 100 DBSPACETEMP DATASKIP off ONDBSPACEDOWN 2 OPCACHEMAX 0 (k) BAR_ACT_LOG C:\Informix\bar_ol_azotsql.log BAR_DEBUG_LOG \tmp\bar_dbug.log BAR_MAX_BACKUP 0 BAR_RETRY 1 BAR_DEBUG 0 BAR_BSALIB_PATH C:\ISM\2.20\bin\libbsa.dll RESTARTABLE_RESTORE 1 BAR_NB_XPORT_COUNT 10 BAR_XFER_BUF_SIZE 15 (p) BAR_PROGRESS_FREQ 0 BAR_HISTORY 0 CDR_EVALTHREADS 1 CDR_DSLOCKWAIT 5 (s) CDR_QUEUEMEM 4096 (k) CDR_NIFCOMPRESS 0 CDR_NUMCONNECT 0 DIRECTIVES 1 SBSPACENAME sbspace OPT_GOAL -1 ISM_DATA_POOL ISMData ISM_LOG_POOL ISMLogs LOG_BACKUP_MODE MANUAL ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2010, 16:36 |
|
Тормозит Informix
|
|||
---|---|---|---|
#18+
Suroviy, Для начала, нужно посмотреть в документацию - Performance Guide ... :) Далее, пересмотреть параметры конфигурации (когда начинаются отчетные дни): ----------------------- SHMVIRTSIZE SHMTOTAL SHMADD DS_TOTAL_MEMORY RA_PAGES RA_THRESHOLD ----------------------- С уважением, Вадим. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2010, 18:59 |
|
Тормозит Informix
|
|||
---|---|---|---|
#18+
автор Я заметил, что сессии, у которых параметр RSAM Threads 10 и выше - забивают сервак. Как только я их выкидываю, остальные могут работать. Иногда всего одна такая сессия может не давать работать остальным. При этом загрузка на виртуальных процессорах практически отсутствует. Для всех баз настроено ежедневное update statistic. Телепатирую наличие проблемы тут: авторMAX_PDQPRIORITY 100 Уменьшайте параметр глобально . а для сессии выполняющей update statistic ставьте в 0 или 1. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2010, 19:55 |
|
Тормозит Informix
|
|||
---|---|---|---|
#18+
Suroviy, Перед запуском сервера попробуйте установить для него переменную окружения set PDQPRIORITY=0. Вот только как ее установить если у вас информикс запускается как сервис, непонятно. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2010, 13:27 |
|
Тормозит Informix
|
|||
---|---|---|---|
#18+
AndronSuroviy, Перед запуском сервера попробуйте установить для него переменную окружения set PDQPRIORITY=0. Вот только как ее установить если у вас информикс запускается как сервис, непонятно. Насколько Я помню, переменные окружения для сервера можно уставливать в реестре Windows. С уважением, Вадим. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2010, 13:46 |
|
Тормозит Informix
|
|||
---|---|---|---|
#18+
А разве переменные среды для сервера Informix под Windows устанавливаются не в файлике с именем <%INFORMIXDIR%><имя_сервера>.cmd, с которым запускается служба? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2010, 17:31 |
|
Тормозит Informix
|
|||
---|---|---|---|
#18+
bk0010А разве переменные среды для сервера Informix под Windows устанавливаются не в файлике с именем <%INFORMIXDIR%><имя_сервера>.cmd, с которым запускается служба? Не всегда (только когда выполняется явно), например >starts %INFORMIXSERVER% -s Более детально "Ways to start IDS on Windows" - https://www.ibm.com/developerworks/mydeveloperworks/blogs/gbowerman/entry/ways_to_start_ids_on?lang=en С уважением, Вадим. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2010, 19:58 |
|
Тормозит Informix
|
|||
---|---|---|---|
#18+
onstat-авторЯ заметил, что сессии, у которых параметр RSAM Threads 10 и выше - забивают сервак. Как только я их выкидываю, остальные могут работать. Иногда всего одна такая сессия может не давать работать остальным. При этом загрузка на виртуальных процессорах практически отсутствует. Для всех баз настроено ежедневное update statistic. Телепатирую наличие проблемы тут: авторMAX_PDQPRIORITY 100 Уменьшайте параметр глобально . а для сессии выполняющей update statistic ставьте в 0 или 1. Скажите, а какое значение нужно поставить? Я тут вычитал в Performance Guide for Informix Extended такую вещь: maximum memory = MAX_PDQPRIORITY/100 * DS_TOTAL_MEMORY или maximum memory = PDQPRIORITY * MAX_PDQPRIORITY/100 * DS_TOTAL_MEMORY Получается 100/100*4096 = 0,000244. Только вот не пойму что это получилось( ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2010, 12:03 |
|
Тормозит Informix
|
|||
---|---|---|---|
#18+
Suroviy Получается 100/100*4096 = 0,000244. Только вот не пойму что это получилось( Калькулятором научитесь пользоваться и математику средней школы подучите... Считать нужно не 100/(100*4096), а (100/100)*4096 = 4096... (КБ) А по делу: дело не столько в объёме памяти, сколько в загруженности процов (100%), работающих над вашей задачей (в столь малом обёме памяти)... ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2010, 15:49 |
|
Тормозит Informix
|
|||
---|---|---|---|
#18+
АнатоЛойА по делу: дело не столько в объёме памяти, сколько в загруженности процов (100%), работающих над вашей задачей (в столь малом обёме памяти)... Дело даже не в этом, а в том, что при MAX_PDQPRIORITY 100 одна пользовательская сессия може отхапать под себя весь обьем DS_TOTAL_MEMORY а остальные ее будут ждать. Особонно процедуры, для которых во время update statistic стоял MAX_PDQPRIORITY 100. Я когда-то сталикивался с таким поведением на 7 и 9. Для более старших версий нужно проверять. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2010, 16:56 |
|
Тормозит Informix
|
|||
---|---|---|---|
#18+
SuroviyСкажите, а какое значение нужно поставить? Ставьте 1 если есть фрагментация таблиц и 0 если ее нет. Смотрите на результат. Потом увеличивайте и смотрите на рузультат. Во много зависит есть ли у вас возможность регулировать этот парамтр на стороне приложения, что бы конкретная сессия( задача) не резервировала под себя лишние ресурсы PDQ , которые ей не нужны или если скорость выполнения не критична. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2010, 17:13 |
|
Тормозит Informix
|
|||
---|---|---|---|
#18+
АнатоЛой, Процессоры на серваке не загружены. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2010, 17:55 |
|
Тормозит Informix
|
|||
---|---|---|---|
#18+
SuroviyАнатоЛой, Процессоры на серваке не загружены. результат onstat -u onstat -g mgm в студию , когда по вашему мнению они должны быть загружены. Проверим мою версию. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2010, 17:58 |
|
Тормозит Informix
|
|||
---|---|---|---|
#18+
onstat-, В конце дня попробую, когда сервак свободен будет. Фрагментированы ли таблицы, честно - не знаю. Буду пробовать 0 и 1. Спасибо огромное за помощь! Вы меня очень выручите :) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2010, 17:59 |
|
Тормозит Informix
|
|||
---|---|---|---|
#18+
Suroviy , Обнулите статистику( onstat -z) перед тем как снимать. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2010, 19:58 |
|
Тормозит Informix
|
|||
---|---|---|---|
#18+
onstat-авторЯ заметил, что сессии, у которых параметр RSAM Threads 10 и выше - забивают сервак. Как только я их выкидываю, остальные могут работать. Иногда всего одна такая сессия может не давать работать остальным. При этом загрузка на виртуальных процессорах практически отсутствует. Для всех баз настроено ежедневное update statistic. Телепатирую наличие проблемы тут: авторMAX_PDQPRIORITY 100 Уменьшайте параметр глобально . Вы, возможно, путаете MAX_PDQPRIORITY и PDQPRIORITY. 1-е, (установлено в onconfig), может стоять безболезненно и бесполезно до тех пор, пока не установят 2-е. Т.е. значение MAX_PDQPRIORITY само по себе не является проблемой. onstat-а для сессии выполняющей update statistic ставьте в 0 или 1. имеется ввиду PDQPRIORITY ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2010, 20:16 |
|
Тормозит Informix
|
|||
---|---|---|---|
#18+
SuroviyВ конце дня попробую, когда сервак свободен будет. Фрагментированы ли таблицы, честно - не знаю. Буду пробовать 0 и 1. Снимать статистические данные для анализа нужно как раз в момент нагрузки, когда и возникают проблемы. Не бойтесь, утилита onstat -u не нагрузит сервак и отработает быстро, т.к. она не читает данные с дисков. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2010, 20:19 |
|
Тормозит Informix
|
|||
---|---|---|---|
#18+
AndronSuroviy, Перед запуском сервера попробуйте установить для него переменную окружения set PDQPRIORITY=0. Вот только как ее установить если у вас информикс запускается как сервис, непонятно. Это непонятно юниксоиду :) , а виндовозам все понятно - есть утилитка setnet32 или раздел в реестре, типа [HKEY_LOCAL_MACHINE\Software\Informix\OnLine\ol_имясервера\Environment] ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2010, 20:27 |
|
Тормозит Informix
|
|||
---|---|---|---|
#18+
vasilis Вы, возможно, путаете MAX_PDQPRIORITY и PDQPRIORITY. 1-е, (установлено в onconfig), может стоять безболезненно и бесполезно до тех пор, пока не установят 2-е. Т.е. значение MAX_PDQPRIORITY само по себе не является проблемой. Да, я имел ввиду что установлено и то и другое в 100. vasilisonstat-а для сессии выполняющей update statistic ставьте в 0 или 1. имеется ввиду PDQPRIORITY Да. Я телепатировал на основании этой фразы ТС: автор В течение обычных дней все нормально . Однако когда начинаются отчетные дни и начинает формироваться много документов , сервер тормозить ........ Иногда всего одна такая сессия может не давать работать остальным. При этом загрузка на виртуальных процессорах практически отсутствует. Для всех баз настроено ежедневное update statistic. Это либо конкуренция на блокировках, либо ожидание русурсов PDQ. onstat -g mgm это покажет. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2010, 20:54 |
|
|
start [/forum/topic.php?fid=44&msg=36984259&tid=1607445]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
178ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 296ms |
0 / 0 |