powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Различает ли движок время реального выполн-я и время ОЖИДАНИЯ при set trans lock timeout>0
4 сообщений из 4, страница 1 из 1
Различает ли движок время реального выполн-я и время ОЖИДАНИЯ при set trans lock timeout>0
    #38615895
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hi all

DDL:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
SQL> recreate table t(id int, x int); commit;
SQL> insert into t values(1, 100); commit;
SQL> set term ^;
SQL> create or alter procedure p as
CON> declare x int;
CON> begin
CON> select x from t where id=1 for update with lock into x; update t set x=x*x where id=1;
CON> end^
SQL> set term ;^
SQL> commit;

session #1
SQL> update t set x=200 where id=1;

session #2
SQL> set transaction read committed record_version lock timeout 30;
SQL> execute procedure p; -- висяк на 30 секунд. Идём в session #1

session #1
SQL> commit;

Трейс для session #2:
Код: 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.
43.
44.
45.
46.
2014-04-15T21:28:55.3380 (9652:0x7f85779bb590) EXECUTE_STATEMENT_START
        oltp30 (ATT_9526, SYSDBA:NONE, NONE, TCPv4:192.168.43.96)
        C:\MIX\firebird\fb25\bin\isql.exe:3424
                (TRA_6040336, READ_COMMITTED | REC_VERSION | WAIT 30 | READ_WRITE)

Statement 222011:
-------------------------------------------------------------------------------
execute procedure p

2014-04-15T21:28:55.3380 (9652:0x7f85779bb590) EXECUTE_PROCEDURE_START
        oltp30 (ATT_9526, SYSDBA:NONE, NONE, TCPv4:192.168.43.96)
        C:\MIX\firebird\fb25\bin\isql.exe:3424
                (TRA_6040336, READ_COMMITTED | REC_VERSION | WAIT 30 | READ_WRITE)

Procedure P:

2014-04-15T21:29:05.4640 (9652:0x7f85779bb590) EXECUTE_PROCEDURE_FINISH
        oltp30 (ATT_9526, SYSDBA:NONE, NONE, TCPv4:192.168.43.96)
        C:\MIX\firebird\fb25\bin\isql.exe:3424
                (TRA_6040336, READ_COMMITTED | REC_VERSION | WAIT 30 | READ_WRITE)

Procedure P:
  10126 ms, 771 fetch(es), 7 mark(s)

Table                             Natural     Index    Update    Insert    Delete   Backout     Purge   Expunge
***************************************************************************************************************
RDB$INDICES                           117        24
RDB$RELATION_CONSTRAINTS               86
T                                       2                   1

2014-04-15T21:29:05.4640 (9652:0x7f85779bb590) EXECUTE_STATEMENT_FINISH
        oltp30 (ATT_9526, SYSDBA:NONE, NONE, TCPv4:192.168.43.96)
        C:\MIX\firebird\fb25\bin\isql.exe:3424
                (TRA_6040336, READ_COMMITTED | REC_VERSION | WAIT 30 | READ_WRITE)

Statement 222011:
-------------------------------------------------------------------------------
execute procedure p
0 records fetched
  10126 ms, 771 fetch(es), 7 mark(s)

Table                             Natural     Index    Update    Insert    Delete   Backout     Purge   Expunge
***************************************************************************************************************
RDB$INDICES                           117        24
RDB$RELATION_CONSTRAINTS               86
T                                       2                   1

Что там делалось ВНУТРИ ХП и на чём на самом деле было застревание, в трейсе не видно.
Зверское время в 10 сек на самом деле не имеет прямого отношения к реальной произв-сти. Это время ожидания, оно могло быть вызвано не только падением произв-сти сервера, но и тем, что сессия-1 ушла "на обед" (на 30 сек :)).

Так что вопросик тут как бэ - см сабж.
...
Рейтинг: 0 / 0
Различает ли движок время реального выполн-я и время ОЖИДАНИЯ при set trans lock timeout>0
    #38615902
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
движок рапортует время выполнения операции, а не производительность. Оное выполнение может состоять из работы ЦПУ, работы диска, ожидания, чего угодно еще. Не надо видеть в этой цифре что-то иное чем она есть на самом деле.
...
Рейтинг: 0 / 0
Различает ли движок время реального выполн-я и время ОЖИДАНИЯ при set trans lock timeout>0
    #38615906
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А учесть как-то время простоев - это без шансов, я так понимаю ?

(вопрос не праздный: вижу по логу в базе, что бесконца идут ожидания на получение записи при select for update with lock. Если стартовать транзакции с NO wait, то даже при средней нагрузке будут сразу отлупы, т.е. документы меняться вообще не будут, пустая возня получится)
...
Рейтинг: 0 / 0
Различает ли движок время реального выполн-я и время ОЖИДАНИЯ при set trans lock timeout>0
    #38615921
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
шансы есть, но обещаний не будет
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Различает ли движок время реального выполн-я и время ОЖИДАНИЯ при set trans lock timeout>0
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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