|
|
|
процессинг куба отваливается по таймауту
|
|||
|---|---|---|---|
|
#18+
есть хранилище на SQL2000. И есть куб, построенный в SQL2012 Standard На хранилище лежат т.фактов, в каждой из которой примерно по 3млн записей. По этим т.фактов построена вьюха вида: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. на всех ключевых полях (для связи со справочниками) есть индексы. И вот при построении куба в студии первые сутки все отлично процессилось примерно за час-полтора. На след.день при открывании проекта там же в студии и процессинге вручную, произошло отваливание по таймауту через 4 часа (время отваливания разное: от часа до пяти). С тех пор больше не удавалось отпроцессить куб. Еще заметил сильные подвисания студии при попытке добавить в DataSourceView новую таблицу в окошке "Add/Remove Tables". Студия долго-долго думает (минут 5-10) и выводит наконец в колонке Available objects доступные таблицы. Такое же подвисание происходит при выборе таблицы для новой партиции если выбран DataSource, а не DataSourceView. Но после такой паузы потом все отображается быстро. Другие подобные решения (solutions), когда тот же OLAP-сервер обращается к той же базе на SQL2000, работают нормально. Подскажите, в какую сторону копать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2017, 04:07 |
|
||
|
процессинг куба отваливается по таймауту
|
|||
|---|---|---|---|
|
#18+
нуб987, попробуйте вручную процессить по отдельности, чтобы найти проблемное место логи опять же, на чем он 4 часа висит? скорей всего какой-то SQL запрос оптимизатор делает неоптимально (найти и переделать) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2017, 10:30 |
|
||
|
процессинг куба отваливается по таймауту
|
|||
|---|---|---|---|
|
#18+
нуб987, Решение в лоб - просто увеличить timeout со стороны куба ( SQL2012) Если есть желание копать, то берёте профайлер и смотрите что именно вызывает этот timeout. Можно переделать вот это Код: sql 1. 2. 3. 4. 5. 6. и постепенно делайте incremental update по частям - сначала 2015, потом 2016 и тд. Или у вас в 2017 потенциально могут меняться факты ? В 2012STD даже по-моему было можно до 3 партиций сделать в самом кубе ? Но начните всё-таки с профайлера ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2017, 10:36 |
|
||
|
процессинг куба отваливается по таймауту
|
|||
|---|---|---|---|
|
#18+
продолжаю вести наблюдение. проблемный запрос выглядит так (его выдает сама студия при процессинге куба в окошке "Process Progress"): Код: 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. вот прямо сейчас куб процессится нормально. Видно, как увеличивается кол-во прочитанных строк: примерно 300тыс/сек. А в течение прошлой недели процесситься не хотел - отваливался примерно через 8 часов. Не может ли чего с сетью быть? Или если бы были проблемы с сетью, то и ошибка бы другая была? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2017, 02:36 |
|
||
|
процессинг куба отваливается по таймауту
|
|||
|---|---|---|---|
|
#18+
нуб987, самое главное указали уже - это партиции и правильный индекс на это дело (партиции соответственно будут по нужному году напр. where idyear=2016) во первых для более быстрого получения результата убери ORDER BY.. - т.к. обычно в Execution Plan это одна из тяжелых операций. во вторых для экономии сети замени не нужные поля (проблема многих кубов когда тащится всё) на пустые значения в третьих попробуй добавь with(nolock) или readpast - бывает помогает иногда lock конфликты понаблюдай в проблемное время макс количество подключений для DS (не процесситься ли-чего ещё) проверь правильная-ли грануляция стоит - бывает тащат все трансакции а SSAS потом в DataStore преагрегирует до нужного уровня - хотя SQL для этого намного лучше заточен (group by) если подозрения на NETWORK - рамеры пакетов потестируй - нет-ли потерь и на сколько % сеть забита во время получения данных поставь Trace/Profiler/PerfMonitor во время проблемных окон (с обоих сторон : источник данных и SSAS) даже если ты единственный админ и знаешь что никто другой прав на Process не имеет - бывает смысл посмотреть $system.discover_locks на предмет левых SPID и найти случайного злодея с его сессией (discover_sessions, discover_connections) ну и правильность masterdata для измерений с поведением unknownmember/none (очень тяжела обработка по конвертации или skip member если их больше половины например) поставь все error на полный игнор - чтобы лишними данными/сообщениями не обмениваться (чисто для проверки т.к. чревато последствиями на качество данных) ну и ещё раз - мониторинг сети/cpu/ram/дисков с обеих сторон во время проблемы.. может crossjoin (тот который таблицы/вьюхи через запятую) поменяй в ручном режиме для этой партиции на поэффективней если знаешь данные лучше.. в общем с самим запросом пошаманить.. это к тому что однозначного ответа нет т.к. явное непостоянство результатов (сбой/удача) наблюдается.. поэтому метод дедукции (целясь на наиболее вероятное место или где минимум усилий/затрат на проверку) и максимальная эффективность всего пошагово.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2017, 04:11 |
|
||
|
процессинг куба отваливается по таймауту
|
|||
|---|---|---|---|
|
#18+
к стати - года у тебя всего 3 , а SQL Standard вроде как вполне поддерживает до 3-х партиций для SSAS ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2017, 04:16 |
|
||
|
процессинг куба отваливается по таймауту
|
|||
|---|---|---|---|
|
#18+
ну и тривиальное предложение конечно : поменяй источник с SQL2000 на что-то поновее (поставив его в тот-же хостинг-шкаф где и SSAS, может даже с прямым 10Gb/100Gb кабелем между серверами) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2017, 04:25 |
|
||
|
процессинг куба отваливается по таймауту
|
|||
|---|---|---|---|
|
#18+
плохой план запроса из-за устаревшей статистики ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2017, 08:29 |
|
||
|
процессинг куба отваливается по таймауту
|
|||
|---|---|---|---|
|
#18+
нуб987проблемный запрос выглядит так (его выдает сама студия при процессинге куба в окошке "Process Progress"): Код: sql 1. 2. 3. Это уже запрос из куба или партиции так разбиты ? Скольку у вас измерений на основе Код: sql 1. ? Может проще различия [dbo_MatId_Usage_SecSales_ХХ].[MatId] оформить как аттрибут и уже в кубе по нему выбирать информацию ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2017, 13:33 |
|
||
|
процессинг куба отваливается по таймауту
|
|||
|---|---|---|---|
|
#18+
предлагаю изучить способ процессинга, который я разработал давно: http://blog.bitimpulse.com/post/2013/12/16/Universal-ETL-средство-для-загрузки-данных-в-ХД-и-обработки-кубов.aspx этот способ предусматривает партиционирование на стороне куба и DWH, динамическое создание секций, а также позволяет четко увидеть весь детальный лог операций в момент процессинга - чтобы знать на процессинге чего (какой секции какой группы мер) отвалилось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2017, 19:29 |
|
||
|
|

start [/forum/topic.php?fid=49&msg=39417844&tid=1858333]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
53ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 11ms |
| total: | 148ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...