powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Informix [игнор отключен] [закрыт для гостей] / Мучают блокировки...
24 сообщений из 124, страница 5 из 5
Мучают блокировки...
    #36011164
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вобщем, "ты ещё заходи - идеи есть!" (с) анекдот
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36011241
Фотография Тан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДбашкабррСтатистика...

1-й сервер:

Код: plaintext
1.
2.
3.
4.
5.
6.
[root@breezzx root]# onstat -p

IBM Informix Dynamic Server Version  9 . 40 .UC6     -- On-Line -- Up 88 days 23:17:58 -- 636168 Kbytes

bufwaits lokwaits lockreqs deadlks  dltouts  ckpwaits compress seqscans
 8          0          635215     0          0          12         123        73969 

2-сервер:

Код: plaintext
1.
2.
3.
4.
5.
6.
[root@newifx /]# onstat -p

IBM Informix Dynamic Server Version  9 . 40 .UC6     -- On-Line -- Up 1 days 11:57:06 -- 695232 Kbytes

bufwaits lokwaits lockreqs deadlks  dltouts  ckpwaits compress seqscans
 243033     7524       179081936   1533       0          59         42124      9559 

на втором сервере нет проблемы с seqscans
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36011464
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я думаю что высокая нагрузка на диски из-за роллбеков. Роллбеки из-за дидлоков и откатов из-за таймаута ожидания блокировки.
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36011690
vasilis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну и бурное обсуждение прошло - пришлось кучу времени потратить на беглый просмотр.
Толи тема очень актуальная, то ли на работе у многих время появилось :)
АнатоЛойАга, то есть править можно только со стороны БД? Какой интересный случай, коллеги :).
Согласен, не просто интересный, а очень редкий.
Просто мечта админа :)
АнатоЛой
Что ж, анализируйте использование вышепомянутых "проблемных" таблиц: cdr, deals_tq, accounts, ... - и будет вам счастье...
Кстати, тот же deals_tq в сочетании с SEQSCAN в sqexplain ХП не упоминается - но поводом для большого pagereads может быть и неудачный индекс....
или его "корявость"
А почему никто не предложил прочекать вторую базу ?
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36011771
vasilis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Журавлев Денися думаю что высокая нагрузка на диски из-за роллбеков. Роллбеки из-за дидлоков и откатов из-за таймаута ожидания блокировки.
а блокировки из-за высокой нагрузки на диски ? :)
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36012041
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТанДбашкабррСтатистика...
1-й сервер:
seqscans
73969

2-сервер:
seqscans
9559

на втором сервере нет проблемы с seqscans

Не вижу даже 50% прямой зависимости между величиной показателя seqscans и прочими проблемами. Я как раз и приводил такой пример с большим количеством seqscan'ов и SELECT FIRST 1. Если считать что подобных "приколов" нет, и все seqscan нужно умножать на
"seqscannedtable".nrows - увидим совсем другую картину...

Если бы на обоих сервера во всех таблицах количество записей было пропорционально, и функциональность бы использовалась пропорционально, и период, за который собрана статистика, и ...

Ну представьте на минутку, что на втором сервере проблема выглядит следующим образом:
1. в deals_tq - 7 млн записей, в отличие от сервера 1
2. часть "непроблемных seqscan" была по deals_tq - и поскольку на 1-ом сервере 0 записей, а на втором 7 млн, получаем, что для получения 250 млн pagereads на втором достаточно запустить запрос c seqscan аж 35 раз (раз в 5 мин в течение рабочего дня или раз в 15 мин в течение суток - за это время из буферов записи этой таблицы уже успевают вытесниться)
3. В результате активного чтения с диска (SECSCAN deals_tq) возрастает время работы других запросов. Ожидания блокировок начинают превышать lock time (приводит к откатам транзакций и возрастанию нагрузки на диски)
4. Общая производительность системы немного падает
5. В программном коде из-за использования "SET LOCK MODE TO WAIT;" падение производительности приводит к более длительному ожиданию, что в свою очередь приводит к выявлению сервером deadlocks, последующей генерацией жертвами-сессиями exception и последующими откатами транзакций, что начинает загонять сервер в глухой угол.

(Всё это на фоне мрачного RAID 5 с WriteThru - слово-то какое )
Апокалипсис...


П.С.: Берёте в сценаристы? :)
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36012355
Фотография Тан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АнатоЛойТанДбашкабррСтатистика...
1-й сервер:
seqscans
73969

2-сервер:
seqscans
9559

на втором сервере нет проблемы с seqscans

Не вижу даже 50% прямой зависимости между величиной показателя seqscans и прочими проблемами. Я как раз и приводил такой пример с большим количеством seqscan'ов и SELECT FIRST 1. Если считать что подобных "приколов" нет, и все seqscan нужно умножать на
"seqscannedtable".nrows - увидим совсем другую картину...

Если бы на обоих сервера во всех таблицах количество записей было пропорционально, и функциональность бы использовалась пропорционально, и период, за который собрана статистика, и ...

Ну представьте на минутку, что на втором сервере проблема выглядит следующим образом:
1. в deals_tq - 7 млн записей, в отличие от сервера 1
2. часть "непроблемных seqscan" была по deals_tq - и поскольку на 1-ом сервере 0 записей, а на втором 7 млн, получаем, что для получения 250 млн pagereads на втором достаточно запустить запрос c seqscan аж 35 раз (раз в 5 мин в течение рабочего дня или раз в 15 мин в течение суток - за это время из буферов записи этой таблицы уже успевают вытесниться)
3. В результате активного чтения с диска (SECSCAN deals_tq) возрастает время работы других запросов. Ожидания блокировок начинают превышать lock time (приводит к откатам транзакций и возрастанию нагрузки на диски)
4. Общая производительность системы немного падает
5. В программном коде из-за использования "SET LOCK MODE TO WAIT;" падение производительности приводит к более длительному ожиданию, что в свою очередь приводит к выявлению сервером deadlocks, последующей генерацией жертвами-сессиями exception и последующими откатами транзакций, что начинает загонять сервер в глухой угол.

(Всё это на фоне мрачного RAID 5 с WriteThru - слово-то какое )
Апокалипсис...


П.С.: Берёте в сценаристы? :)
я хотела сказать, что в данном случае не стоит кидаться на изучение sqexplain с целью побороть сексканы.
что надо в другом месте проблему искать
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36012433
onstat-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АнатоЛой


П.С.: Берёте в сценаристы? :)

+1 сценарий поддерживаю.


Тан
я хотела сказать, что в данном случае не стоит кидаться на изучение sqexplain с целью побороть сексканы.
что надо в другом месте проблему искать


Тоже +1. Там все ясно, нужно что то делать с deals_tq.

По таблице в 0 записей на сервере 1 планы будут( могут показывать) фулсканы,
а по серверу 2 могут их не показывать для одних запросов, а для других показывать.


В приложении нужно выключать функционал заполняющий данными таблицу deals_tq.
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36012526
Дбашкабрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Итак подвожу итоги :)

Основная проблема второго сервера все таки в 5-рейде... как ни крути, а для БД это не лучшее решение... Усугубляет дело отсутствие батарейки и как следствие выключенный режим Write-Back.

Смею предположить, что если б это был какой нить 10-рейд с 6 дисками... то сервер бы "скушал" такой объем IO без всяких проблем.

АнатоЛой
Не вижу даже 50% прямой зависимости между величиной показателя seqscans и прочими проблемами. Я как раз и приводил такой пример с большим количеством seqscan'ов и SELECT FIRST 1. Если считать что подобных "приколов" нет, и все seqscan нужно умножать на
"seqscannedtable".nrows - увидим совсем другую картину...

Если бы на обоих сервера во всех таблицах количество записей было пропорционально, и функциональность бы использовалась пропорционально, и период, за который собрана статистика, и ...

Ну представьте на минутку, что на втором сервере проблема выглядит следующим образом:
1. в deals_tq - 7 млн записей, в отличие от сервера 1
2. часть "непроблемных seqscan" была по deals_tq - и поскольку на 1-ом сервере 0 записей, а на втором 7 млн, получаем, что для получения 250 млн pagereads на втором достаточно запустить запрос c seqscan аж 35 раз (раз в 5 мин в течение рабочего дня или раз в 15 мин в течение суток - за это время из буферов записи этой таблицы уже успевают вытесниться)
3. В результате активного чтения с диска (SECSCAN deals_tq) возрастает время работы других запросов. Ожидания блокировок начинают превышать lock time (приводит к откатам транзакций и возрастанию нагрузки на диски)
4. Общая производительность системы немного падает
5. В программном коде из-за использования "SET LOCK MODE TO WAIT;" падение производительности приводит к более длительному ожиданию, что в свою очередь приводит к выявлению сервером deadlocks, последующей генерацией жертвами-сессиями exception и последующими откатами транзакций, что начинает загонять сервер в глухой угол.

(Всё это на фоне мрачного RAID 5 с WriteThru - слово-то какое )
Апокалипсис...


П.С.: Берёте в сценаристы? :)


Тут АнатоЛой соверенно прав. На уровне БД была включена логика проведения бухгалтерских проводок... огромный потом IO в таблице deals_tq ... генерация IOs была мощнейшая... затык в дисках, LOCK, ROLLBACK и диски были завалены операциями отката...

В итоге вечером я отключил ненужный функционал и сервер вздохнул :) Блокировки редко проскакивают .. сервер стал "пошустрее работать".

Так же принято решение купить таки батарейку и включить Write-Back, благо не такие большие деньги.


Вот свежая картина :)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
[root@newifx megarc]# onstat -g iof

IBM Informix Dynamic Server Version  9 . 40 .UC6     -- On-Line -- Up 2 days 10:19:54 -- 719808 Kbytes

AIO global files:
gfd pathname         totalops  dskread dskwrite  io/s
   3  /opt/dbs/root         2182        974       1208     0 . 1 
   4  /opt/dbs/blobdbs      4217       4217          0     0 . 1 
   5  /opt/dbs/work        98663      97697        966     2 . 5 
   6  /opt/dbs/work1    22011238   22011159         79   558 . 1 
   7  /opt/dbs/work2    25419366   25419305         61   644 . 5 
   8  /opt/dbs/work3    20705192   20705095         97   525 . 0 
   9  /opt/dbs/work4    24285673   24277850       7823   615 . 7 
  10  /opt/dbs/work5      310352     310162        190     7 . 9 
  11  /opt/dbs/work6           2          2          0     0 . 0 
  12  /opt/dbs/work7           2          2          0     0 . 0 
  13  /opt/dbs/tmp          1135        584        551     0 . 0 

[root@newifx megarc]# onstat -p

IBM Informix Dynamic Server Version  9 . 40 .UC6     -- On-Line -- Up 2 days 10:19:57 -- 719808 Kbytes

Profile
dskreads pagreads bufreads %cached dskwrits pagwrits bufwrits %cached
 94116094   102147711   553531399   83 . 00     13910      28907      86005      83 . 83 

isamtot  open     start    read     write    rewrite  delete   commit   rollbk
 494062378   333673     10368860   471102601   10108      15609      2          8699       1 

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

ovlock   ovuserthread ovbuff   usercpu  syscpu   numckpts flushes
 0          0              0          4329 . 42    2289 . 58    105        264 

bufwaits lokwaits lockreqs deadlks  dltouts  ckpwaits compress seqscans
 337481     332        253579394   2          0          6          179        73736 

ixda-RA  idx-RA   da-RA    RA-pgsused lchwaits
 1937419    0          6575       1943349      17873 

[root@newifx megarc]#

Уровень IOs упал почти в 10 раз :) Проблемки с локами наблюдаются небольшие, но я думаю они локализуются после покупки батарейки +большая свобода действий с моей стороны на уровне БД
поможет делу :)

Спасибо всем кто принимал участие... Помогли :)
Отдельное спасибо: Журавлев Денис,onstat- ,svat2 ,АнатоЛой за разбор полетов :)

З.Ы. тему можно закрыть.
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36014000
vasilis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дбашкабрр
В итоге вечером я отключил ненужный функционал и сервер вздохнул :) Блокировки редко проскакивают .. сервер стал "пошустрее работать".
А вы почистили ту самую табличку от 7 млн. строк ?
Функционал записи в табличку вы отключили, но , боюсь. что она по прежнему читается другими запросами.
Дбашкабрр
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
gfd pathname         totalops  dskread dskwrite  io/s
   6  /opt/dbs/work1    22011238   22011159         79   558 . 1 
   7  /opt/dbs/work2    25419366   25419305         61   644 . 5 
   8  /opt/dbs/work3    20705192   20705095         97   525 . 0 
   9  /opt/dbs/work4    24285673   24277850       7823   615 . 7 

dskreads pagreads bufreads %cached
 94116094   102147711   553531399   83 . 00 
usercpu  syscpu  
 4329 . 42    2289 . 58  

Хотя интенсивность работы с диском и уменьшилась на порядок, но она все еще большая.
У вас, помнится, на 2-м сервере 4 гига ОП , а использовалось Информиксом менее 700М.
Да и дополнительные сегменты памяти добавлялись...
Можно значительно расширить буферный пул (почти в два раза) и настроить, чтобы совсем не было дополнительных сегментов. кстати. они могут возникать из-за динамического увеличения блокировок (у вас row на больших таблицах).

ДбашкабррОтдельное спасибо: Журавлев Денис,onstat- ,svat2 ,АнатоЛой за разбор полетов :)
А мы с Даугавой первыми обратили внимание на железячные проблемы :)
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36014857
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> time dd if=/dev/zero bs=1024k count=1000 of=/home/1Gb.file

Лень было мне раньше писать, напишу сейчас.
Вы тестируете блоком 1024k и диск может показать неплохую произв., но информикс работает с bs=2k и проблема в том что они рандомны. Т.е. при записи 2кб, рейд без батарейки вынужден переписать 64кб (размер страйпа) на всех дисках, writeback это нивелирует потому что копит порцию изменений и меньше дергает диски.
Тестируйте с помощью iometer, iozone, bonie, и прежде всего рандомное чтение/запись 2кб блоков (размер страницы в вашей бд), на больших файлах (разделах) превосходящих размер кеша рейда в разы.
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36014917
Фотография Daugava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроме того, тестировать надо не один поток, а несколько. Ибо работает то не один юзер. Когда я проводил свой тест с помощью dd у меня на одном потоке RAID5 чуть не в лидерах был.
Кстати, вместо "iometer, iozone, bonie" нужно просто запустить количество dd равное среднему количеству активных юзеров.
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36015322
onstat-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Daugava нужно просто запустить количество dd равное среднему количеству активных юзеров.

Если не используется KAIO,
то лучше количество активyых VIO + LIO + PIO серверов из onstat -g glo .
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36015451
vasilis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
onstat-Daugava нужно просто запустить количество dd равное среднему количеству активных юзеров.
Если не используется KAIO,
то лучше количество активyых VIO + LIO + PIO серверов из onstat -g glo .
Даже если KAIO и используется, то все равно Daugava погорячился :)
Ведь пишут на диск не юзеры (пользовательские нити), а ограниченное число пишущих процессов IDS.
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36015479
Фотография Daugava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, не подумал. У меня просто количество юзеров и пишущих процессов примерно равны, пожалуй даже юзеров поменьше будет :). Но основная мысль была в том, что замерять надо не один активный процесс.
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36181714
zuwr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А что за софт такой, здесь в скриншотах иллюстрируется?
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36181735
zuwr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36182747
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zuwr, тут
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36183212
Фотография Daugava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vasilisДаже если KAIO и используется, то все равно Daugava погорячился :)
Ведь пишут на диск не юзеры (пользовательские нити), а ограниченное число пишущих процессов IDS.
Признаю, вспылил был не прав :). Просто сейчас у меня активных юзеров меньше, чем пишущих процессов IDS.
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36184461
Фотография Andron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос к топикстартеру:
Заглянул в тему и вот что заметил в ваших конфигах:

Первая система:

...
NUMCPUVPS 16
NUMAIOVPS 2

Вторая система:
...
NUMCPUVPS 4
NUMAIOVPS 12

Почему такой странное и как мне кажется нелогичное кол-во NUMAIOVPS для обоих систем?
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36184975
vasilis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DaugavavasilisДаже если KAIO и используется, то все равно Daugava погорячился :)
Ведь пишут на диск не юзеры (пользовательские нити), а ограниченное число пишущих процессов IDS.
Признаю, вспылил был не прав :). Просто сейчас у меня активных юзеров меньше, чем пишущих процессов IDS.
Дежавю :)
Ты ведь уже реагировал на мое сообщение буквально следующим постом от 29 мая http://sql.ru/forum/actualthread.aspx?tid=666972&pg=5
Может тебе его не видно ?
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36185910
Фотография Daugava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vasilisДежавю :)
Голова забита черт знамо чем :) Старая тема всплыла, вскольз глазами пробежал, свой ответ проглядел. Одно хорошо, что отреагировал практически одинаково. Наверное правду сказал :).
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36358476
Matiush
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здавствуйте, уважаемые форумчане! Подскажите, как рассчитать EXTENT SIZE и NEXT SIZE. Работаю с Informix 9.xx на платформе UNIX. Дело в загрузке данных. Имеется сруктура таблица, количесво загружаемых записей. Просьба помочь, не получается разобраться... Формула, ссылка, объяснение, буду очень признателен

Модератор: создавайте новые темы, не надо задавать вопросы в старых, не имеющих отношения к вопросу.
...
Рейтинг: 0 / 0
Мучают блокировки...
    #36358527
zaiets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
first - rowsize* numrows + малость накинуть, так как не все место идет под данные
rowsize можно вытянуть c systables
echo "select * from systables where tabname = '<...>' " | dbaccess <dbname>
numrows - думаю ясно откуда

next - эт как места не жалко и от размера зависит, в вашем случае скорее даже на глаз - чтоб и не слишком много и не слишком мало.
...
Рейтинг: 0 / 0
24 сообщений из 124, страница 5 из 5
Форумы / Informix [игнор отключен] [закрыт для гостей] / Мучают блокировки...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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