powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Informix [игнор отключен] [закрыт для гостей] / Вопрос про lockreqs
25 сообщений из 37, страница 1 из 2
Вопрос про lockreqs
    #34079851
Фотография Евгений Фадеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О чем может говорить следующая ситуация:
для некоторой таблицы lockreqs (полученный из sysptprof) астрономический, при этом количество чтений - микроскопическое (скажем соотношение миллионы/десятки миллионов на сотни), а записей/удалений (iswrites/isrewrites/isdeletes) нет вообще (либо пренебрежимо мало - единицы)? Причем все это за очень короткие интервалы (десятки секунд - минуты).
...
Рейтинг: 0 / 0
Вопрос про lockreqs
    #34080138
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений ФадеевО чем может говорить следующая ситуация:
для некоторой таблицы lockreqs (полученный из sysptprof) астрономический, при этом количество чтений - микроскопическое (скажем соотношение миллионы/десятки миллионов на сотни), а записей/удалений (iswrites/isrewrites/isdeletes) нет вообще (либо пренебрежимо мало - единицы)? Причем все это за очень короткие интервалы (десятки секунд - минуты).select for update ?

UPD: хотя и простой селект тоже будет увеличивать lockreqs.
...
Рейтинг: 0 / 0
Вопрос про lockreqs
    #34081067
Фотография Евгений Фадеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Журавлев Денисselect for update ?Возможно. Кода много, его не я писал и вполне возможно что таких конструкций там есть. То есть это типа блокировки намерений?

Журавлев ДенисUPD: хотя и простой селект тоже будет увеличивать lockreqs.Но чтений (read'ов) при этом происходить (регестрироваться) не будет?
...
Рейтинг: 0 / 0
Вопрос про lockreqs
    #34081176
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений ФадеевНо чтений (read'ов) при этом происходить (регестрироваться) не будет?будут. Не заметил слово микроскопическое, про соотношение не понял. Значит мои предположения не верны. Еще блокировки накладываются из-за констрейнтов, чтения таблицы может не быть, а у индекса наверно будет чтение.
...
Рейтинг: 0 / 0
Вопрос про lockreqs
    #34081213
Фотография Евгений Фадеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Журавлев Денис Евгений ФадеевНо чтений (read'ов) при этом происходить (регестрироваться) не будет?будут. Не заметил слово микроскопическое, про соотношение не понял. Значит мои предположения не верны.Это ключевая часть вопроса... Я, честно говоря, в сильном замешательстве. Чтений нет (100-200 штук), а запросов блокировок - десятки, если не сотни, миллионов.
Журавлев Денис Еще блокировки накладываются из-за констрейнтов, чтения таблицы может не быть, а у индекса наверно будет чтение.Констрейнтов, практически нет (что, с моей точки зрения, полный беспредел, но это к делу отношения не имеет). А вот мысль про индексы - интересная.
То есть при чтении из индекса isreads не накручивается, а запросы на блокировки идут? Я правильно понимаю?
...
Рейтинг: 0 / 0
Вопрос про lockreqs
    #34081293
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кстати что у нас с полем bfrd - где смотрели кол-во чтений-то?
...
Рейтинг: 0 / 0
Вопрос про lockreqs
    #34081315
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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.
partnum    lkrqs lkwts dlks  touts isrd  iswrt isrwt isdel bfrd  bfwrt seqsc rhitratio
0x20009c   0     0     0     0     3     0     0     0     42    0     3     100


informix@nag:/informix/etc> echo "select i0 from testlocks where i0=1 for update;"|dbaccess a
6 row(s) retrieved.

partnum    lkrqs lkwts dlks  touts isrd  iswrt isrwt isdel bfrd  bfwrt seqsc rhitratio
0x20009c   343   0     0     0     10    0     0     0     54    0     4     100


informix@nag:/informix/etc> echo "select i0 from testlocks where i0=1 for update;"|dbaccess a
6 row(s) retrieved.

partnum    lkrqs lkwts dlks  touts isrd  iswrt isrwt isdel bfrd  bfwrt seqsc rhitratio
0x20009c   686   0     0     0     17    0     0     0     66    0     5     100


select {+explain} i0 from testlocks where i0=1 for update

DIRECTIVES FOLLOWED:
EXPLAIN
DIRECTIVES NOT FOLLOWED:

Estimated Cost: 12
Estimated # of Rows Returned: 342

  1) informix.testlocks: SEQUENTIAL SCAN

        Filters: informix.testlocks.i0 = 1

...
Рейтинг: 0 / 0
Вопрос про lockreqs
    #34081359
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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.
informix@nag:~> echo "update statistics high for table;"|dbaccess a
Statistics updated.


partnum    lkrqs lkwts dlks  touts isrd  iswrt isrwt isdel bfrd  bfwrt seqsc rhitratio
0x20009c   0     0     0     0     0     0     0     0     0     0     0     0

informix@nag:~> echo "select  i0 from testlocks where i0=1 for update;"|dbaccess a
6 row(s) retrieved.

partnum    lkrqs lkwts dlks  touts isrd  iswrt isrwt isdel bfrd  bfwrt seqsc rhitratio
0x20009c   7     0     0     0     0     0     0     0     6     0     0     100

informix@nag:~> echo "select  i0 from testlocks where i0=1 for update;"|dbaccess a
6 row(s) retrieved.

partnum    lkrqs lkwts dlks  touts isrd  iswrt isrwt isdel bfrd  bfwrt seqsc rhitratio
0x20009c   14    0     0     0     0     0     0     0     12    0     0     100

QUERY:
------
select {+explain} i0 from testlocks where i0=1 for update

DIRECTIVES FOLLOWED:
EXPLAIN
DIRECTIVES NOT FOLLOWED:

Estimated Cost: 2
Estimated # of Rows Returned: 6

  1) informix.testlocks: INDEX PATH

    (1) Index Keys: i0   (Serial, fragments: ALL)
        Lower Index Filter: informix.testlocks.i0 = 1

...
Рейтинг: 0 / 0
Вопрос про lockreqs
    #34081391
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
informix@nag:~> echo "update statistics high for table;"|dbaccess a

Database selected.


Statistics updated.

Database closed.

Такое и раньше работало или опять индусы? Пойду синтакс читать.
...
Рейтинг: 0 / 0
Вопрос про lockreqs
    #34081441
Фотография Евгений Фадеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я смотрю последством селектов из sysptprof.

В общем для bufread'ов цифры тоже ого-го! То есть десятки миллионов. О чем это говорит?
...
Рейтинг: 0 / 0
Вопрос про lockreqs
    #34081456
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений ФадеевЯ смотрю последством селектов из sysptprof.

В общем для bufread'ов цифры тоже ого-го! То есть десятки миллионов. О чем это говорит?О том что чтение из буферов, а не с диска, кеширование на чтение у вас работает, поздравляю
...
Рейтинг: 0 / 0
Вопрос про lockreqs
    #34081496
Фотография Евгений Фадеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Журавлев Денис Евгений ФадеевЯ смотрю последством селектов из sysptprof.

В общем для bufread'ов цифры тоже ого-го! То есть десятки миллионов. О чем это говорит?О том что чтение из буферов, а не с диска, кеширование на чтение у вас работает, поздравляю А-а-а... То есть read'ы это физические чтения с диска? А bufread's, соответственно, из памяти (буферов)?
Тогда понятно, спасибо. Я поначалу чумал, что наоборот...
...
Рейтинг: 0 / 0
Вопрос про lockreqs
    #34081523
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений ФадеевА-а-а... То есть read'ы это физические чтения с диска? А bufread's, соответственно, из памяти (буферов)?
Тогда понятно, спасибо. Я поначалу чумал, что наоборот...
Ну я не очень копенгаген в этом вопросе но думаю что это типа Number of times the ISAM read function is called. Или The number of reads against this partition .
...
Рейтинг: 0 / 0
Вопрос про lockreqs
    #34081537
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В любом случае ситуация
Код: plaintext
1.
partnum    lkrqs lkwts dlks  touts isrd  iswrt isrwt isdel bfrd  bfwrt seqsc rhitratio
0x20009c   343   0     0     0     10    0     0     0     54    0     4     100
абсолютно нормальна, на странице ведь не одна запись, их там много.

Хотя не очень понятно в каких единицах эти числа, таблица-то всего 2 страницы.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
informix@nag:~> onstat -z

informix@nag:~> onstat -g ppf 2097308

partnum    lkrqs lkwts dlks  touts isrd  iswrt isrwt isdel bfrd  bfwrt seqsc rhitratio
0x20009c   0     0     0     0     0     0     0     0     0     0     0     0

informix@nag:~> echo "select  i0 from testlocks where i0=1 for update;"|dbaccess a

partnum    lkrqs lkwts dlks  touts isrd  iswrt isrwt isdel bfrd  bfwrt seqsc rhitratio
0x20009c   343   0     0     0     7     0     0     0     12    0     1     100
...
Рейтинг: 0 / 0
Вопрос про lockreqs
    #34082611
Фотография Тан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Журавлев Денис Евгений ФадеевА-а-а... То есть read'ы это физические чтения с диска? А bufread's, соответственно, из памяти (буферов)?
Тогда понятно, спасибо. Я поначалу чумал, что наоборот...
Ну я не очень копенгаген в этом вопросе но думаю что это типа Number of times the ISAM read function is called. Или The number of reads against this partition .
Если таблица по индексу читается, то isread накрутятся для индекса
...
Рейтинг: 0 / 0
Вопрос про lockreqs
    #34082814
Фотография Евгений Фадеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТанЕсли таблица по индексу читается, то isread накрутятся для индексаЭто я понял по тому странному факту, что в столбце tabname появляются имена индексов :))
...
Рейтинг: 0 / 0
Вопрос про lockreqs
    #34083238
Фотография Евгений Фадеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем еще один вопрос (вдогонку к первому): что есть reads, bufreads и pagreads? А также следует ли считать seqscans количеством fullscan'ов по таблице или это что-то другое?
...
Рейтинг: 0 / 0
Вопрос про lockreqs
    #34084021
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений ФадеевВ общем еще один вопрос (вдогонку к первому): что есть reads, bufreads и pagreads?
reads - это число чтений с диска (число обращений).
bufreads - это число чтений из памяти (число обращений), я полагаю может включать в себя reads а может и не включать.
pagreads - сколько страниц прочитано, размер страницы (2-4-8...кб) надо смотреть.


Евгений ФадеевА также следует ли считать seqscans количеством fullscan'ов по таблице или это что-то другое?Да именно оно. Это было видно уже тут (план с сексканом (SEQUENTIAL SCAN), поэтому lkrqs увеличивается на 343 (343 строки в таблице), seqsc увеличивается на 1).
...
Рейтинг: 0 / 0
Вопрос про lockreqs
    #34084116
Фотография Евгений Фадеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ок, спасибо.
Журавлев Денисbufreads - это число чтений из памяти (число обращений), я полагаю может включать в себя reads а может и не включать. Судя по тому, что есть (и немало) таблицы для которых isreads > bufreads - не включает.
...
Рейтинг: 0 / 0
Вопрос про lockreqs
    #34084178
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений ФадеевСудя по тому, что есть (и немало) таблицы для которых isreads > bufreads - не включает.Наверно. Правда я когда писал, думал о light scans (чтение в пул сессии мимо буферов).
...
Рейтинг: 0 / 0
Вопрос про lockreqs
    #34094996
vasilis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Журавлев Денис
Код: plaintext
1.
2.
3.
4.
informix@nag:~> echo "update statistics high for table;"|dbaccess a
Database selected.
Statistics updated.
Database closed.
Такое и раньше работало или опять индусы? Пойду синтакс читать.
Ты имеешь ввиду US для отдельной таблицы ?
Работало и раньше.
...
Рейтинг: 0 / 0
Вопрос про lockreqs
    #34095209
cpr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cpr
Гость
большое число запросов на блокировку при малом количестве чтений конечно говорит о том, что чтение происходит из буферного кэша. Но это же означает что вероятнее всего запрос неоптимален. при этом еще должен cpu быть довольно большим.
...
Рейтинг: 0 / 0
Вопрос про lockreqs
    #34095220
Фотография Евгений Фадеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cprбольшое число запросов на блокировку при малом количестве чтений конечно говорит о том, что чтение происходит из буферного кэша. Но это же означает что вероятнее всего запрос неоптимален. при этом еще должен cpu быть довольно большим.Вот я и пытаюсь найти где неоптимально :) Выходит, правда, пока не очень...
...
Рейтинг: 0 / 0
Вопрос про lockreqs
    #34095250
cpr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cpr
Гость
а тормозящий запрос найден или нет?
...
Рейтинг: 0 / 0
Вопрос про lockreqs
    #34095300
cpr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cpr
Гость
глянул в соседний тред, похоже проблема одна.
делай так
1 запускаешь в одном терминале onstat -rz -p
2 в другом делаешь регулярно запрос в sysmaster

select first 10 username as usr,lockreqs,sqs_statement[1,50]
from syssesprof, syssessions, syssqlstat
where syssesprof.sid=syssessions.sid
and (bufreads+lockreqs+bufwrites+seqscans)>0
and syssessions.sid==sqs_sessionid
order by 2 desc

в верхних строчках будет всплывать тормозящий запрос
...
Рейтинг: 0 / 0
25 сообщений из 37, страница 1 из 2
Форумы / Informix [игнор отключен] [закрыт для гостей] / Вопрос про lockreqs
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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