|
Тормозит обработка ПодборНоменклатуры УПП 1.2 + SQL Server 2008 R2
|
|||
---|---|---|---|
#18+
Доброго дня. Нужна помощь. Имеется УПП 1.2 2007 года. Переписанная. Работает на sql server 2008 r2 developer/enterprise x64. 16 ядер / 32 потока, 192 Гбайт рама. Проц не грузит, память всю не ест. Тормозит обработка ПодборНоменклатуры для самописного документа, самописной подсистемы. Текст запроса: Код: html 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. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196.
Проблема вот в чем: При выборе &Родитель — достаточно большая группа товаров. Первый раз выполняется 25 секунд (в копии, в боевой базе от 25 до 90-120 и более, если совсем не повезет). Второй раз и все последующие (даже через час или два) Время- 2.165, Время- 2.146, Время- 2.156. Или группа поменьше. Первый Время- 25.905. Дальше Время- 1.546, Время- 1.538 и т.д. Маленькая группа Время- 11.067, Время- 0.873, Время- 0.877, Время- 0.879. Продолжу на примере первой группы. Таблицы ВТ строк: втНоменклатура 466 втУпаковки 433 втТоварыНаСкладах 138 втТоварыВРезервеНаСкладах 34 втЦены 161 втЦеныОптовые 300 Убираем выборку из ВТ (со всеми некрасивыми соединениями через точку) Время- 2.065, то есть не меняется вообще. Убираем ТоварыВРезерве Время- 1.806, что уже немного получше. Убираем ТоварыНаСкладах Время- 1.665. То есть обрезанием этих регистров можно сэкономить 1/8 запроса, что не особо чувствительно. Возвращаем все взад, убираем запрос к РегистрСведений.ЦеныНоменклатуры.СрезПоследних имеем Время- 0.489/0.490 стабильно. Попробовал выбрать РС.ЦеныНоменклатуры &Дата, ТипЦен = &ТипЦен (без отбора по номенклатуре. ВЫШЛО 3422 СЕКУНДЫ. Номенклатуры порядка 160 000 позиций. Начал изучать таблицы в скуле. Код: plaintext 1. 2. 3. 4. 5. 6. 7.
Затем запустил несколько скриптов с http://infostart.ru/public/308762/ SQL сервер 2008: обслуживание, анализ производительности Результаты Степень фрагментации индексов Первый запрос показывает текущую фрагментацию индексов базы Было у всех трех регистров в районе 22%-24%, после отработки скриптов Реорганизация/Перестроение индексов из данной статьи (поменял только 30 на 20, чтобы нужным мне регистры тоже перестроились). Вышло 1,2%-1,4%. НО! Заметно скорость не поменялась. Все так-же первый запрос выполняется на порядок медленнее последующих. DatbaseName TableName IndexName type_desc Fragmentation page_count partition_number sql Records count Код: plaintext 1. 2. 3. 4. 5. 6.
Скачал последнюю УПП. Настройки РС. ЦеныНоменклатуры такие-же. В частности Измерение Номенклатура — Ведущее, Не индексировать. Тогда из той-же статьи прогнал Отсутствующие индексы, вызывающие высокие издержки: Результат запроса ADODB: 29 записей Из интересующих регистров только: Код: plaintext 1. 2.
На четвертой позиции. Выше (на первых трех) не интересные мне пока регистры подсистему интеграции с АТС. Что можете подсказать в данной ситуации? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2017, 15:53 |
|
Тормозит обработка ПодборНоменклатуры УПП 1.2 + SQL Server 2008 R2
|
|||
---|---|---|---|
#18+
сделать параллельное выполнение разбитых запросов) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2017, 16:05 |
|
Тормозит обработка ПодборНоменклатуры УПП 1.2 + SQL Server 2008 R2
|
|||
---|---|---|---|
#18+
Zerro, Можно пример? И поможет ли это это с запросом в первый раз. Когда скорость в 10 и более раз меньше? Ну и вопрос " Отсутствующие индексы, вызывающие высокие издержки". Может это затормаживать? И нужно ли с этим бороться? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2017, 16:23 |
|
Тормозит обработка ПодборНоменклатуры УПП 1.2 + SQL Server 2008 R2
|
|||
---|---|---|---|
#18+
1. НоменклатураСправочник.Родитель = &Родитель может так?: НоменклатураСправочник.Ссылка в иерархии (&Родитель) 2. РегистрНакопления.ТоварыНаСкладах.Остатки( &Дата, Может нужно без даты? - подозреваю что здесь большего всего скорость падает. 3. РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки( &Дата, аналогично. 4. Запрос всегда выполняется для измерения скорости 1 раз. Потом выходите из базы и заново заходите. Только так меряется скорость. 5. Попробуйте убирать по 1 пакету (сначала остатки) и смотрите насколько меняется скорость запроса. Найдете пакет отвечающий за падение скорости - пишите. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2017, 20:00 |
|
Тормозит обработка ПодборНоменклатуры УПП 1.2 + SQL Server 2008 R2
|
|||
---|---|---|---|
#18+
GrobikZerro, Можно пример? И поможет ли это это с запросом в первый раз. Когда скорость в 10 и более раз меньше? Ну и вопрос " Отсутствующие индексы, вызывающие высокие издержки". Может это затормаживать? И нужно ли с этим бороться? Второй и следующие разы используется кэш - поэтому правильно пишет программист 1с - выходи заходим - и только потом проверяем. Примеры в торговле11 - список номенклатуры собираешь а потом задания кучкой делаешь и результат с них собираешь. Правда на подборе не пробовал. Иные варианты - уменьшать колво информации на подборе или оптимизировать хранение данных как то. В той же торговле тоже подбро тормозил при больших объемах. Уже не помню что переписывал :( ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2017, 07:13 |
|
Тормозит обработка ПодборНоменклатуры УПП 1.2 + SQL Server 2008 R2
|
|||
---|---|---|---|
#18+
Программист 1с1. НоменклатураСправочник.Родитель = &Родитель может так?: 5. Попробуйте убирать по 1 пакету (сначала остатки) и смотрите насколько меняется скорость запроса. Найдете пакет отвечающий за падение скорости - пишите. Так я сразу написал что тормозит. "ЦеныНоменклатурыСрезПоследних" ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2017, 10:32 |
|
Тормозит обработка ПодборНоменклатуры УПП 1.2 + SQL Server 2008 R2
|
|||
---|---|---|---|
#18+
Grobik, Вот еще раз запустил скрипт поиска потерянных индексов. Надо на них обращать внимание или забить? Да нюанс. Я писал "Скачал последнюю УПП. Настройки РС. ЦеныНоменклатуры такие-же. В частности Измерение Номенклатура — Ведущее, Не индексировать." На самом деле есть отличие. В стандартной УПП периодичность "В течение дня". У меня периодичность по позиции регистратора. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2017, 11:34 |
|
Тормозит обработка ПодборНоменклатуры УПП 1.2 + SQL Server 2008 R2
|
|||
---|---|---|---|
#18+
Программист 1с 4. Запрос всегда выполняется для измерения скорости 1 раз. Потом выходите из базы и заново заходите. Только так меряется скорость. Найдете пакет отвечающий за падение скорости - пишите. А вот кстати и нет. 1С каждый раз заново отправляет запрос скулю. Только что проверил. Вышел из проги и конфигуратора (я один работаю с этой копией базы), попил кофе, сходил на улицу покурил. Выполнение запроса те же 0,165 секунды. Только по ценам, без резервов и остатков. Когда при первом запросе было от 5 секунд. И сейчас любая соседняя группа, которую сегодня не трогал) 2,3,5 и т.д. секунд. То есть кеширует SQL. Или чего она там еще делает непонятно. Т.к. памяти более, чем с горой, а фрагментация таблицы с этим регистром 1,26%. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2017, 12:10 |
|
Тормозит обработка ПодборНоменклатуры УПП 1.2 + SQL Server 2008 R2
|
|||
---|---|---|---|
#18+
GrobikПрограммист 1с4. Запрос всегда выполняется для измерения скорости 1 раз. Потом выходите из базы и заново заходите. Только так меряется скорость. Найдете пакет отвечающий за падение скорости - пишите. А вот кстати и нет. 1С каждый раз заново отправляет запрос скулю. Только что проверил. Вышел из проги и конфигуратора (я один работаю с этой копией базы), попил кофе, сходил на улицу покурил. Выполнение запроса те же 0,165 секунды. Только по ценам, без резервов и остатков. Когда при первом запросе было от 5 секунд. И сейчас любая соседняя группа, которую сегодня не трогал) 2,3,5 и т.д. секунд. То есть кеширует SQL. Или чего она там еще делает непонятно. Т.к. памяти более, чем с горой, а фрагментация таблицы с этим регистром 1,26%.А вот и да (20 минут 1с кэширует запрос). Кэшировать умеет только 1с. А ms по другому называется. Не увидел что уже нашли что тормозит. Тогда проверьте галочку индексировать у номенклатуры в регистре цены. И попробую спросить - Как вы меряете скорость запроса? Поставили 2 точки остановки - до запрос.Выполить() и сразу после нее? Или Вы меряете скорость после вывода на экран? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2017, 21:19 |
|
Тормозит обработка ПодборНоменклатуры УПП 1.2 + SQL Server 2008 R2
|
|||
---|---|---|---|
#18+
Вдогонку вопрос - сколько элементов в группе где 2,5 секунды? И сколько всего записей в регистре? Еще один - в меню операции - управление итогами какая дата стоит у регистра? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2017, 21:21 |
|
Тормозит обработка ПодборНоменклатуры УПП 1.2 + SQL Server 2008 R2
|
|||
---|---|---|---|
#18+
Программист 1сВдогонку вопрос - сколько элементов в группе где 2,5 секунды? И сколько всего записей в регистре? Еще один - в меню операции - управление итогами какая дата стоит у регистра? Меряю просто. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
РС цены победил. Создал новый непериодический РС ЦеныНоменклатурыТекущие забил в них текущие цены через корректировку записей регистра. Добавил в ПриЗаписи РС ЦеныНоменклатуры запись в этот регистр. Теперь тормозит РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки. Без него 0,2 секунды. С ним 6,5-7 секунд. Какие есть идеи на эту тему? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2017, 12:31 |
|
Тормозит обработка ПодборНоменклатуры УПП 1.2 + SQL Server 2008 R2
|
|||
---|---|---|---|
#18+
GrobikПрограммист 1сВдогонку вопрос - сколько элементов в группе где 2,5 секунды? И сколько всего записей в регистре? Еще один - в меню операции - управление итогами какая дата стоит у регистра? Меряю просто. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
РС цены победил. Создал новый непериодический РС ЦеныНоменклатурыТекущие забил в них текущие цены через корректировку записей регистра. Добавил в ПриЗаписи РС ЦеныНоменклатуры запись в этот регистр. Теперь тормозит РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки. Без него 0,2 секунды. С ним 6,5-7 секунд. Какие есть идеи на эту тему? смотри регистр - может есть не закрытые измерения или не рассчитанные итоги. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2017, 13:01 |
|
Тормозит обработка ПодборНоменклатуры УПП 1.2 + SQL Server 2008 R2
|
|||
---|---|---|---|
#18+
GrobikПрограммист 1сВдогонку вопрос - сколько элементов в группе где 2,5 секунды? И сколько всего записей в регистре? Еще один - в меню операции - управление итогами какая дата стоит у регистра? Меряю просто. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
РС цены победил. Создал новый непериодический РС ЦеныНоменклатурыТекущие забил в них текущие цены через корректировку записей регистра. Добавил в ПриЗаписи РС ЦеныНоменклатуры запись в этот регистр. Теперь тормозит РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки. Без него 0,2 секунды. С ним 6,5-7 секунд. Какие есть идеи на эту тему?Вы не ответили про дату. Тесть вы не знаете что у вас тормозит. Второе же раньше не тормозило? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2017, 09:56 |
|
Тормозит обработка ПодборНоменклатуры УПП 1.2 + SQL Server 2008 R2
|
|||
---|---|---|---|
#18+
я бы сначала зачистил все кэши. начал бы с кэша сервера 1с. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2017, 19:20 |
|
Тормозит обработка ПодборНоменклатуры УПП 1.2 + SQL Server 2008 R2
|
|||
---|---|---|---|
#18+
Программист 1сможет так?: НоменклатураСправочник.Ссылка в иерархии (&Родитель) Я думаю, надо получить список всех элементов без групп,хотя В ИЕРАРХИИ то еще зло. Один раз можно сделать. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2017, 12:06 |
|
Тормозит обработка ПодборНоменклатуры УПП 1.2 + SQL Server 2008 R2
|
|||
---|---|---|---|
#18+
Владимир ЛазуркоПрограммист 1сможет так?: НоменклатураСправочник.Ссылка в иерархии (&Родитель) Я думаю, надо получить список всех элементов без групп,хотя В ИЕРАРХИИ то еще зло. Один раз можно сделать. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Получение всех элементов 1 справочника даже с пересечениями на него же не займет 10 секунд (не про x^2 конечно). Явно проблема с каким-то расчетным регистром. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2017, 21:02 |
|
|
start [/forum/topic.php?fid=28&tid=1518587]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
154ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 247ms |
total: | 496ms |
0 / 0 |