|
|
|
lock conflict при работе 350 аттачей, делающих только insert'ы. Отчего ?
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустама) тест синтетически не чистый (у тебя всегда так)я уже столько раз слышал от тебя упрёки в "синтетической нечистоте", что теперь точно знаю: ты когда-нибудь ОБЯЗАТЕЛЬНО приведёшь здесь, на скл.ру, абсолютно чистый несинтетический тест. Своего изготовления. Гаджимурадов Рустамб) тест плохо реализован (выводить кривой оператор нужно было сразу, а не с подсказки ДСа).Чем он (show version) кривой, откуда это известно ? И что значит "выводить нужно было СРАЗУ " ? (не понял я тут, объясни еще раз) Гаджимурадов РустамНо посягать на святое - бесконфликтность инсертов - не нааадо!... я и не думкал посягать на них. Сейчас запустил этот же тест, 450 молотилок, все делают инсерты. Но убрал из скрипта show version. Оставляю на N часов, по окончании его и посчитаем цыплят посмотрим в логи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2013, 13:07:00 |
|
||
|
lock conflict при работе 350 аттачей, делающих только insert'ы. Отчего ?
|
|||
|---|---|---|---|
|
#18+
ГхостикЯ в оракле недавно наткнулся на блокировку при вставке из-за наличия bitmap индекса. Было больно.OLTP ? ( ибо... ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2013, 13:11:25 |
|
||
|
lock conflict при работе 350 аттачей, делающих только insert'ы. Отчего ?
|
|||
|---|---|---|---|
|
#18+
Таблоид, я посмотрел твой тест. Честно говоря причину конфликта в конкретном скрипте не вижу. Скорее всего эта ошибка прилетела ещё откуда нибудь. Вообще тест конечно запутанный. Вот если бы ты сделал что-то более простое на чём можно было заметить эти конфликты тогда было бы проще. Сам тест конечно прикольный эмулирует высокую нагрузку по DML. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2013, 13:39:42 |
|
||
|
lock conflict при работе 350 аттачей, делающих только insert'ы. Отчего ?
|
|||
|---|---|---|---|
|
#18+
ТаблоидА не обломился ли он именно от того, что первая команда в скрипте есть show version ? Нет. В нём нет телепатии чтобы предвидеть команды, а ошибка у тебя выводится ещё до начала выполнения скрипта. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2013, 14:36:02 |
|
||
|
lock conflict при работе 350 аттачей, делающих только insert'ы. Отчего ?
|
|||
|---|---|---|---|
|
#18+
Симонов ДенисВообще тест конечно запутанный. Вот если бы ты сделал что-то более простое на чём можно было заметить эти конфликты тогда было бы проще.Он предназначался для других целей: в 2010 была наивная надежда стабильно воспроизвести с его помощью страшную гадость - missing entries в индексах. Стабильно воспроизвести не получалось, но Влад тогда всё-таки убил эту нечисть. Надеюсь, что навсегда. Затем этот тест юзался для проверки устойчивости работы ФБ под сильной DML-нагрузкой. Было выявлено несколько траблов Код: plaintext Увы, но проблема неожиданных затыков при установке коннектов (доходить может аж до... 600 сек!!) пока не решена, хотя именно её исследование сейчас и ведётся. Сабж обнаружился вообще случайно: несколько .err-логов имели ненулевой размер. Это я потом уже вспомнил, что видел его раньше. Ну так вот, докладываю: странное сообщение о конфликте блокировки при insert'ах НЕ связано с наличием оператора show version . Ибо сейчас этот оператор в скрипте закомментарен. А сообщение снова получено. Те же самые 450 молотилок всё-таки мистическим образом "сталкиваются" в каком-то астрале своими инсертами... Симонов ДенисСам тест конечно прикольный эмулирует высокую нагрузку по DML.У мну в планах есть сбацать настоящий тест, где будет много таблиц, отражающих реальные сущности (изделия, контрагенты, остатки и балансы етц). В него же хочу вкрячить бесконфликтное обновление балансов по "схеме ДСа" (она вроде не им придумана, но ДС её тут показывал), ну и еще несколько фишек, в т.ч. новшеств из ФБ-3. Но это попозжее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2013, 18:14:01 |
|
||
|
lock conflict при работе 350 аттачей, делающих только insert'ы. Отчего ?
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovНет. В нём нет телепатии чтобы предвидеть команды, а ошибка у тебя выводится ещё до начала выполнения скрипта.Если ошибка лезет в ответ на isc_attach_database(), то... откуда ФБ "знает", что скрипт собирается insert'ы делать ?! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2013, 18:19:21 |
|
||
|
lock conflict при работе 350 аттачей, делающих только insert'ы. Отчего ?
|
|||
|---|---|---|---|
|
#18+
ТаблоидТе же самые 450 молотилок всё-таки мистическим образом "сталкиваются" в каком-то астрале своими инсертами... Сними fb_lock_print -a и посмотри длины очередей локов к разным страницам. Вполне возможно, что они сталкиваются не "в астрале", а на header page или TIP. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2013, 18:19:39 |
|
||
|
lock conflict при работе 350 аттачей, делающих только insert'ы. Отчего ?
|
|||
|---|---|---|---|
|
#18+
Таблоидоткуда ФБ "знает", что скрипт собирается insert'ы делать ?! Он и не знает. С чего ты это взял?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2013, 18:22:46 |
|
||
|
lock conflict при работе 350 аттачей, делающих только insert'ы. Отчего ?
|
|||
|---|---|---|---|
|
#18+
Таблоид> А сообщение снова получено. То же самое сообщене (lock conflict on no wait tx) ? И на каком операторе? И приведи текст своего скрипта без закомментированного show version. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2013, 18:52:18 |
|
||
|
lock conflict при работе 350 аттачей, делающих только insert'ы. Отчего ?
|
|||
|---|---|---|---|
|
#18+
Таблоид, меня настораживает кэш DefaultDbCachePages = 65000 чего так много Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. Page size = 4096 чего так мало ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2013, 21:12:34 |
|
||
|
lock conflict при работе 350 аттачей, делающих только insert'ы. Отчего ?
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovТаблоидТе же самые 450 молотилок всё-таки мистическим образом "сталкиваются" в каком-то астрале своими инсертами...Сними fb_lock_print -a и посмотри длины очередей локов к разным страницам. Вполне возможно, что они сталкиваются не "в астрале", а на header page или TIP.Снимок лок-таблицы надо делать именно в тот момент, когда возникает это "нечто", выдающее себя за lock conflict. Предсказать сиё нельзя. Что тогда, снимать каждую секунду ? Всё равно слишком грубая точность. Надо чтобы ФБ сам создавал в таких ситуациях снимок ЛТ и стек-трейс. То есть, нужна какая-то аналогия триггера на это событие и чтобы этот триггер создал нужный лог. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2013, 23:17:22 |
|
||
|
lock conflict при работе 350 аттачей, делающих только insert'ы. Отчего ?
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovТаблоидоткуда ФБ "знает", что скрипт собирается insert'ы делать ?! Он и не знает. С чего ты это взял?..ну откудова он тогда берёт текст 'lock conflict on no wait tx' ? какой еще оператор может вызвать его, кроме инсерта ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2013, 23:18:18 |
|
||
|
lock conflict при работе 350 аттачей, делающих только insert'ы. Отчего ?
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустамприведи текст своего скрипта без закомментированного show version.в аттаче. Это большой скрипт, в котором: 1) сначала задаются команды: Код: plaintext 1. 2. 3. 2) 30 раз повторяется вот этот фрагмент: Код: sql 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. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. Скрипт сей вызывается из батника, в цикле, командой: Код: plaintext 1. В итоге, работа скрипта логируется в somename.txt, а ошибки выполнения - в соотв-щий somename.err, где имя <somename> генерится в батнике через имя компа + режим (%mode%) + номер_запущенного_окна. Вот пример лога выполнения скрипта: Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2013, 23:31:04 |
|
||
|
lock conflict при работе 350 аттачей, делающих только insert'ы. Отчего ?
|
|||
|---|---|---|---|
|
#18+
Симонов ДенисDefaultDbCachePages = 65000 чего так многоТестирую SuperServer, что плохого в таком значении ? Памяти на хосте 32 Гб. Симонов ДенисPage size = 4096 чего так малоДык DML будет фиговее идти (в отличие от селектов), когда размер страницы задран. Я вроде бы ковырял этот вопрос. Но не помню, вываливал сюда результаты или всё так и осталось в кулуаре. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2013, 23:35:54 |
|
||
|
lock conflict при работе 350 аттачей, делающих только insert'ы. Отчего ?
|
|||
|---|---|---|---|
|
#18+
ТаблоидСнимок лок-таблицы надо делать именно в тот момент, когда возникает это "нечто", выдающее себя за lock conflict. Не надо. Общая картина очередей не должна сильно меняться. Просто в какой-то момент одна из и без того длинных очередей ещё чуть-чуть подрастает и - опа! - у кого-то не выдерживают нервы. Таблоидну откудова он тогда берёт текст 'lock conflict on no wait tx' ? какой еще оператор может вызвать его, кроме инсерта ? Из пальца высасывает. Это всего лишь текстовая интерпретация ошибки, выбрасываемой лок-менеджером. И как это обычно бывает, выкидываться она может из любого места, вплоть до не относящегося к транзакциям вообще. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2013, 23:40:21 |
|
||
|
lock conflict при работе 350 аттачей, делающих только insert'ы. Отчего ?
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамТо же самое сообщене (lock conflict on no wait tx) ? И на каком операторе?Почти то же самое, отличие только во втором слове Оператор теперь тот, который "следующий в очереди" после закомментаренного: Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2013, 23:40:27 |
|
||
|
lock conflict при работе 350 аттачей, делающих только insert'ы. Отчего ?
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovЭто всего лишь текстовая интерпретация ошибки, выбрасываемой лок-менеджером. И как это обычно бывает, выкидываться она может из любого места, вплоть до не относящегося к транзакциям вообще.Код ошибки: 40001 - он должен быть "индивидуальным" для этой ситуации или так же будет выброшен "от балды" ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2013, 23:41:58 |
|
||
|
lock conflict при работе 350 аттачей, делающих только insert'ы. Отчего ?
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovТаблоидСнимок лок-таблицы надо делать именно в тот момент, когда возникает это "нечто", выдающее себя за lock conflict. Не надо. Общая картина очередей не должна сильно меняться. Просто в какой-то момент одна из и без того длинных очередей ещё чуть-чуть подрастает и - опа! - у кого-то не выдерживают нервы.Ну, и с какой частотой посоветуешь запускать fb_lock_print ? Напомню: молотьба идёт 450 коннектами, только insert'ы, ИНДЕКСЫ ВСЕ УБИТЫ (временно :-)), рост размера базы - примерно 0.7 ... 1.0 Мб в секунду. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2013, 23:44:26 |
|
||
|
lock conflict при работе 350 аттачей, делающих только insert'ы. Отчего ?
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovИ как это обычно бывает, выкидываться она может из любого места, вплоть до не относящегося к транзакциям вообще.А это... как его... не может ли она выбрасываться в те моменты, когда ФБ запрашивает у диска место для увеличения размера .fdb ?! А то что-то не вижу в упор, что еще может вызвать сиё... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2013, 23:47:07 |
|
||
|
lock conflict при работе 350 аттачей, делающих только insert'ы. Отчего ?
|
|||
|---|---|---|---|
|
#18+
ТаблоидКод ошибки: 40001 - он должен быть "индивидуальным" для этой ситуации или так же будет выброшен "от балды" ? SQLCODE это ещё большая братская могила чем gdscode. А текст ошибки это именно интерпретация gdscode. ТаблоидНу, и с какой частотой посоветуешь запускать fb_lock_print ? Напомню: молотьба идёт 450 коннектами, только insert'ы Один раз. Когда все окна уже запустились и молотьба идёт в стабильном режиме. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2013, 23:47:54 |
|
||
|
lock conflict при работе 350 аттачей, делающих только insert'ы. Отчего ?
|
|||
|---|---|---|---|
|
#18+
ТаблоидА то что-то не вижу в упор, что еще может вызвать сиё... Да всё что угодно. У тебя же ОСь не реального времени. Активировался какой-нибудь процесс и сожрал немного больше ЦПУ или ввода-вывода и вот уже страница сбросилась в кэш на долю секунды позже. А молотилок много, они выстроились в очередь и у кого-то из них не выдержали нервы (то бишь случился таймаут) и была выброшена ошибка "не смог дождаться". Что в переводе и звучит как "lock conflict on no wait transaction". Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2013, 23:58:22 |
|
||
|
lock conflict при работе 350 аттачей, делающих только insert'ы. Отчего ?
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovТаблоидА то что-то не вижу в упор, что еще может вызвать сиё... Да всё что угодно. У тебя же ОСь не реального времени. Активировался какой-нибудь процесс и сожрал немного больше ЦПУ или ввода-вывода и вот уже страница сбросилась в кэш на долю секунды позже. А молотилок много, они выстроились в очередь и у кого-то из них не выдержали нервы (то бишь случился таймаут) и была выброшена ошибка "не смог дождаться". Что в переводе и звучит как "lock conflict on no wait transaction".В общем, запустил fb_lock_print -c -a -d ... с логированием и упаковкой каждого лога в отдельный .rar, с интервалом 30 сек. Оставляю до завтрего. Если за ночь появятся новые lock conflict'ы, то сделаю тынц на соотв-щие снимки лок-таблы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2013, 00:41:36 |
|
||
|
lock conflict при работе 350 аттачей, делающих только insert'ы. Отчего ?
|
|||
|---|---|---|---|
|
#18+
... "before I forget" ((C) John Lord' 1982): надо бы запустить эти инсерты БЕЗ вызова gen_id(). Кто его знает, вдруг причина именно в этом... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2013, 00:50:54 |
|
||
|
lock conflict при работе 350 аттачей, делающих только insert'ы. Отчего ?
|
|||
|---|---|---|---|
|
#18+
А также без show database, select-ов и пр. ненужного. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2013, 00:53:26 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=38451464&tid=1564145]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
259ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
| others: | 236ms |
| total: | 600ms |

| 0 / 0 |
