powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Связка FB и PHP
9 сообщений из 9, страница 1 из 1
Связка FB и PHP
    #38803521
rstrelba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго дня.
Пишу от безысходности, не знаю что делать.Опыт PHP+FB более 11 лет, однако ...

Есть проект, b2b система, работает на ubuntu server 12 + FB 2.5.3 + PHP 5.2
База около 28 гигабайт, куча картинок.
В системе есть таблица ITEM_CAT с остатками, ценами, сортировочными индексами, которая пересчитывается раз в 30 минут. Хранимая для пересчета DO_ITEM_CAT через Ibexpert работает около минуты. Всего товаров в этой таблице - 1200-1500.
В php скрипте для запуска пересчета параметры транзакции

Код: php
1.
$db = ibase_trans(IBASE_WRITE |  IBASE_COMMITTED | IBASE_NOWAIT);



вызов самой хранимой

Код: php
1.
2.
3.
4.
5.
6.
    
    echo "\ndo_item_cat";
    ibase_query($db, "execute procedure DO_ITEM_CAT") or file_put_contents($log, $dt . ibase_errmsg(), FILE_APPEND);
    echo "\ndone do_item_cat!";
    ibase_commit_ret($db);
    echo "\ncommitt do_item_cat";



в ХП 12 этапов работы, для отладки инкрементируется 12 раз генератор для отслеживания хода работы ХП

при запуске скрипта PHP через минуту генератор принимает значение 12, процедура виснет, т.е. до коммитта дела не доходит, в логах ничего нет. Чую что тут имеется deadlock но почему тогда процедура виснет?

Прошу помощи куда можно копать.
...
Рейтинг: 0 / 0
Связка FB и PHP
    #38803532
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rstrelba Чую что тут имеется deadlock
при nowait ты его должен увидеть.
процедура часом не селективная?
...
Рейтинг: 0 / 0
Связка FB и PHP
    #38803542
rstrelba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,

нет, delete from, insert into, куча update одой и той же таблицы
...
Рейтинг: 0 / 0
Связка FB и PHP
    #38803552
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rstrelbaпочему тогда процедура виснет?
Потому что какой-то диверсант установил транзакции уровень изоляции READ COMMITTED. Но при
этом не поставил флаг REC_VERSION. Либо то убери, либо другое добавь.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Связка FB и PHP
    #38803591
rstrelba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

Код: php
1.
$db = ibase_trans(IBASE_WRITE |  IBASE_COMMITTED | IBASE_NOWAIT | IBASE_REC_VERSION);    



не помогло ((
...
Рейтинг: 0 / 0
Связка FB и PHP
    #38803608
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Значит таблицы мониторинга в руки и смотреть кто чем в это время занимается.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Связка FB и PHP
    #38803660
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rstrelba> при запуске скрипта PHP через минуту генератор принимает значение 12, процедура виснет

Что значит виснет? Когда отвисает? Что показывают таблицы мониторинга в этот момент?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Связка FB и PHP
    #38803757
rstrelba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустамrstrelba> при запуске скрипта PHP через минуту генератор принимает значение 12, процедура виснет

Что значит виснет? Когда отвисает? Что показывают таблицы мониторинга в этот момент?


Просто висит типа как исполняется, хотя видно что последняя команда ХП- инкремент генератора отработала, по Ctrl+C выходит. Что именно надо смотреть в мониторинговых таблицах? Я до такой глубокой отладки никогда не доходил.
...
Рейтинг: 0 / 0
Связка FB и PHP
    #38803905
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rstrelba> Что именно надо смотреть в мониторинговых таблицах?

Да всё - память, IO, RECORD_STATS, CALL_STACK и т.д.
Ну и если возможно, попробуй проверить на concurrency.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Связка FB и PHP
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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