|
Медленная работа на сервере приложений после перехода на informix 12.10 FC6
|
|||
---|---|---|---|
#18+
Добрый вечер! На новом,более мощном сервере выделили виртуальную машину для переноса БД ( suse sles 12). Установила информикс 12.10 FC6, dbimport базы прошел в три раза быстрее, чем на старом. На старом сервере стоит open suse 11 и информикс 11.50 FC1. Но когда запускаю программу на сервере приложений и подключаюсь к БД на новом сервере,все работает в 2 раза медленнее. Сравнила файлы настроек на двух серверах,вроде все одинаково. Обычно при переходе на новую версию информикс и на более мощный сервер, все работало быстрее. В чем может быть причина? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2017, 20:55 |
|
Медленная работа на сервере приложений после перехода на informix 12.10 FC6
|
|||
---|---|---|---|
#18+
Что именно и как именно работает "медленно" ? План выполнения запросов на старом и новом сравнить ? После дбимпорта сделано на всё UPDATE STATICTICS ? tmpdbs есть и используются ? если нет то всё по умолчанию тогда пошло в /tmp На старом были файлы или разделы диска (символьные ? блочные ?) ? А на новом что ? Ресурсы выделенные на вирутуалку по сравнению со "старым" ? может их хватает для дбимпорта в одно рыло, а на многозадачную работу - нет. (на кой вооще субд в виртуалку ? кроме как если виртуалка единственна и служит для простоты переноса между серверами) Общаю нагрузка на виртуалку когда был дбимпорт и когда пошла работа ? (импорт ночь, а работа днём когда и другие виртуалки грузят) Ну и хотя бы всякие sar и прочие статистики от самой системы и Информикса смотреть.... ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2017, 23:02 |
|
Медленная работа на сервере приложений после перехода на informix 12.10 FC6
|
|||
---|---|---|---|
#18+
< "Общаю нагрузка на виртуалку" >"Общая нагрузка на физический сервер" ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2017, 23:04 |
|
Медленная работа на сервере приложений после перехода на informix 12.10 FC6
|
|||
---|---|---|---|
#18+
Получается,что медленнее обрабатывается запрос. Для эксперимента ставила на сервер приложений информикс 11.50. Все работало быстрее. Файл с планами прикладываю. Сразу после импорта БД сделала UPDATE STATICTICS HIGH. Загружала в рабочее время, тогда же и пыталась зайти в программу на сервере приложений. Кроме меня ни в базе, ни на сервере приложений никто не работал. Tempdbs включены. Насколько я правильно посмотрела, и на старом и на новом сервере используются блочные разделы. Информацию о памяти, процессорах и дисках прикладываю в файлах. Виртуалка на мощном сервере, не могу добиться название модели, что-то только услышала про EMC DD160. Нагрузки сейчас на нем нет, поскольку пока создавали несколько виртуалок под разные задачи и идет настройка этих виртуалок. Старый сервер стоит сейчас на обычном компе. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2017, 10:13 |
|
Медленная работа на сервере приложений после перехода на informix 12.10 FC6
|
|||
---|---|---|---|
#18+
Не знаю,насколько информативна и полезна информация о пинге с сервера БД к одному и тому же серверу приложений, прикладываю еще два файлика. статистику sar пока не могу приложить, не было настроено. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2017, 14:59 |
|
Медленная работа на сервере приложений после перехода на informix 12.10 FC6
|
|||
---|---|---|---|
#18+
Файл не прикрепился. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2017, 15:43 |
|
Медленная работа на сервере приложений после перехода на informix 12.10 FC6
|
|||
---|---|---|---|
#18+
Попробовала еще сделать трассировку. Подскажите еще, что может обозначать ошибка sql error -255? База включена в режиме логирования IBM Informix Dynamic Server Version 12.10.FC6AEE -- On-Line -- Up 03:34:23 -- 2704948 Kbytes Statement history: Trace Level High Trace Mode Global Number of traces 1000 Current Stmt ID 123 Trace Buffer size 61400 Duration of buffer 2219 Seconds Trace Flags 0x0000FF11 Control Block 0x474d2028 Statement # 123: @ 0x474d2418 Database: buhg_2015 Statement text: UPDATE tmp_otp_pol SET (otp_id, otp_type, otp_code, otp_name) = ((SELECT d.id, 4, d.number, d.name FROM division d, otp_division od WHERE od.pr_otp_div_id=posting_id AND d.id=od.otp_div_pr_id)) WHERE posting_id in (SELECT pr_otp_div_id FROM otp_division) UPDATE using table [ tmp_otp_pol ] Iterator/Explain ================ ID Left Right Sender Next Est Cost Est Rows Num Rows Partnum Type 1 0 0 0 0 361 501 1 5242884 Seq Scan Statement information: Sess_id User_id Stmt Type Finish Time Run Time TX Stamp PDQ 58 1001 UPDATE 11:36:09 0.0437 87ceab6 0 Statement Statistics: Page Buffer Read Buffer Page Buffer Write Read Read % Cache IDX Read Write Write % Cache 0 11666 100.00 0 0 4262 100.00 Lock Lock LK Wait Log Num Disk Memory Requests Waits Time (S) Space Sorts Sorts Sorts 2042 0 0.0000 0.000 B 0 0 0 Total Total Avg Max Avg I/O Wait Avg Rows Executions Time (S) Time (S) Time (S) IO Wait Time (S) Per Sec 1 0.0437 0.0437 0.0437 0.000000 0.000000 22.8902 Estimated Estimated Actual SQL ISAM Isolation SQL Cost Rows Rows Error Error Level Memory 361 501 0 -255 0 CR 33056 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2017, 15:33 |
|
Медленная работа на сервере приложений после перехода на informix 12.10 FC6
|
|||
---|---|---|---|
#18+
sinka2002, попытка сделать commit не в транзакции. Не было begin work ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2017, 18:36 |
|
Медленная работа на сервере приложений после перехода на informix 12.10 FC6
|
|||
---|---|---|---|
#18+
Почему так может происходить? последовательность действий одинаковая: одна и та же БД загружена на 11.50 и на 12.10 (dbimport buhg_2017 -d work_dbs). Включаю логирование (ontape -s -L 0 -B buhg_2017) и начинаю работать. На 11.50 такой ошибки нет, а на 12.10 есть. В загружаемом sql только в одном месте нашла foreach cur. Или загружаемый sql не при чем, а надо пересматривать текст написания модулей программы? Может эта ошибка влиять на скорость выполнения запросов? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.09.2017, 08:57 |
|
Медленная работа на сервере приложений после перехода на informix 12.10 FC6
|
|||
---|---|---|---|
#18+
sinka2002, настройки клиента проверяйте. может быть где нибудь надо автокоммит включить/выключить. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.09.2017, 16:37 |
|
Медленная работа на сервере приложений после перехода на informix 12.10 FC6
|
|||
---|---|---|---|
#18+
Ради чистоты эксперимента, установила на новом сервере версию информикс 11.50. Ошибка -255 не повторилась. Медленная работа осталась. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2017, 10:09 |
|
Медленная работа на сервере приложений после перехода на informix 12.10 FC6
|
|||
---|---|---|---|
#18+
Прошу прощения. Вчера не увидела -255 (на 11.50), сегодня уже вижу,значит дело не в версии информикс. На клиенте в настройках ODBC отключала авто COMMIT, перезапустила задачи, ошибка -255 не ушла. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2017, 11:14 |
|
Медленная работа на сервере приложений после перехода на informix 12.10 FC6
|
|||
---|---|---|---|
#18+
sinka2002, Эта ошибка может еще возникать при попытке открыть курсор for update вне транзакции. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2017, 13:23 |
|
Медленная работа на сервере приложений после перехода на informix 12.10 FC6
|
|||
---|---|---|---|
#18+
Что-то я совсем запуталась:( БД одна и таже, версии информикс одинаковые - 11.50 FC1, приложение одно и тоже - меняю БД через setnet32 или ODBC, т.е. настройки на клиенте остаются одинаковые. В одном случае ошибок нет, в другом -255... Один и тот же запрос на одном сервере: Database: 0x8000A1 Statement text: UPDATE tmp_otp_pol SET (otp_id, otp_type, otp_code, otp_name) = ((SELECT d.id, 4, d.number, d.name FROM division d, otp_division od WHERE od.pr_otp_div_id=posting_id AND d.id=od.otp_div_pr_id)) WHERE posting_id in (SELECT pr_otp_div_id FROM otp_division) Iterator/Explain ================ ID Left Right Est Cost Est Rows Num Rows Partnum Type 1 0 0 523 792 1 6291830 Seq Scan Statement information: Sess_id User_id Stmt Type Finish Time Run Time 1523 1001 UPDATE 11:17:17 0.0111 Statement Statistics: Page Buffer Read Buffer Page Buffer Write Read Read % Cache IDX Read Write Write % Cache 0 15009 100.00 0 0 4323 100.00 Lock Lock LK Wait Log Num Disk Memory Requests Waits Time (S) Space Sorts Sorts Sorts 2072 0 0.0000 0.000 B 0 0 0 Total Total Avg Max Avg I/O Wait Avg Rows Executions Time (S) Time (S) Time (S) IO Wait Time (S) Per Sec 1 0.0111 0.0111 0.0111 0.000000 0.000000 89.9123 Estimated Estimated Actual SQL ISAM Isolation SQL Cost Rows Rows Error Error Level Memory 523 792 0 0 0 CR 27144 а на другом: Database: buhg_2015 Statement text: UPDATE tmp_otp_pol SET (otp_id, otp_type, otp_code, otp_name) = ((SELECT d.id, 4, d.number, d.name FROM division d, otp_division od WHERE od.pr_otp_div_id=posting_id AND d.id=od.otp_div_pr_id)) WHERE posting_id in (SELECT pr_otp_div_id FROM otp_division) UPDATE using table [ tmp_otp_pol ] Iterator/Explain ================ ID Left Right Sender Next Est Cost Est Rows Num Rows Partnum Type 1 0 0 0 0 86 16 1 5242885 Seq Scan Statement information: Sess_id User_id Stmt Type Finish Time Run Time TX Stamp PDQ 68 1001 UPDATE 11:36:04 0.0278 872be52 0 Statement Statistics: Page Buffer Read Buffer Page Buffer Write Read Read % Cache IDX Read Write Write % Cache 0 6324 100.00 0 0 4262 100.00 Lock Lock LK Wait Log Num Disk Memory Requests Waits Time (S) Space Sorts Sorts Sorts 2042 0 0.0000 0.000 B 0 0 0 Total Total Avg Max Avg I/O Wait Avg Rows Executions Time (S) Time (S) Time (S) IO Wait Time (S) Per Sec 1 0.0278 0.0278 0.0278 0.000000 0.000000 35.9079 Estimated Estimated Actual SQL ISAM Isolation SQL Cost Rows Rows Error Error Level Memory 86 16 0 -255 0 CR 32032 На одном сервере (где нет ошибки) в файле трассировки присутствуют записи SET ISOLATION TO COMMITTED READ, а на другом - COMMIT WORK. Отчего это зависит, если вроде как все одинаковое...Кроме железа ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2017, 15:18 |
|
Медленная работа на сервере приложений после перехода на informix 12.10 FC6
|
|||
---|---|---|---|
#18+
sinka2002, извиняюсь за дурацкий вопрос. А на сервере где нет ошибки база точно в логируемом режиме? надо в БД sysmaster сделать select * from sysdatabases ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2017, 15:26 |
|
Медленная работа на сервере приложений после перехода на informix 12.10 FC6
|
|||
---|---|---|---|
#18+
cprsinka2002, извиняюсь за дурацкий вопрос. А на сервере где нет ошибки база точно в логируемом режиме? надо в БД sysmaster сделать select * from sysdatabases Вопрос не дурацкий:) точно в логируемом, иначе пользователи не смогли бы вносить информацию,это рабочая БД. на двух серверах select * from sysdatabases показывает is_logging 1. Кстати, когда на сервере, где ошибка, не было включено логирование, шла сначала ошибка -256, а после включения - опять -255. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2017, 15:50 |
|
Медленная работа на сервере приложений после перехода на informix 12.10 FC6
|
|||
---|---|---|---|
#18+
sinka2002, Я вижу, что в трассе с ошибкой присутствует "UPDATE using table [ tmp_otp_pol ]" А в трассе без ошибки этого нет. А версия клиента Informix, драйвера ODBC совпадают? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2017, 16:52 |
|
Медленная работа на сервере приложений после перехода на informix 12.10 FC6
|
|||
---|---|---|---|
#18+
Версия драйвера информикса одинаковая, а диспетчера драйверов - разная. Нашла на форуме еще рекомендации, как проверить скорость чтения/запись на диск. На новом сервере запись: 24-Informix-DB:/ # dd if=/dev/zero of=test bs=2k count=10240 10240+0 records in 10240+0 records out 20971520 bytes (21 MB) copied, 0.0563039 s, 372 MB/s На старом: linux-wqdh:/home/informix # dd if=/dev/zero of=test bs=2k count=10240 10240+0 records in 10240+0 records out 20971520 bytes (21 MB) copied, 0.0213393 s, 983 MB/s На новом сервере чтение: 24-Informix-DB:/ # dd if=test of=/dev/null bs=2k 10240+0 records in 10240+0 records out 20971520 bytes (21 MB) copied, 0.0123855 s, 1.7 GB/s на старом: linux-wqdh:/home/informix # dd if=test of=/dev/null bs=2k 10240+0 records in 10240+0 records out 20971520 bytes (21 MB) copied, 0.00853656 s, 2.5 GB/s ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2017, 14:23 |
|
Медленная работа на сервере приложений после перехода на informix 12.10 FC6
|
|||
---|---|---|---|
#18+
sinka2002, у меня складывается впечатление что во втором случае update на уровне ODBC интерпретируется как операция через курсор for update, а для него как раз надо делать коммит. попробуйте синхронизировать и версию диспетчера и/или его настройки. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2017, 18:55 |
|
|
start [/forum/topic.php?fid=44&msg=39526907&tid=1606760]: |
0ms |
get settings: |
3ms |
get forum list: |
6ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
37ms |
get topic data: |
3ms |
get forum data: |
1ms |
get page messages: |
328ms |
get tp. blocked users: |
0ms |
others: | 2474ms |
total: | 2854ms |
0 / 0 |