20.02.2017, 10:10 | #21 |
Участник
|
Промежуточное резюме: все упирается в синхронизацию - от 20 минут. Готовых стандартных решений для 2012 нет, в 7ке есть надежда на лучшее.
__________________
Ivanhoe as is.. |
|
20.02.2017, 10:19 | #22 |
Участник
|
Цитата:
Из моего скромного опыта с 2012-й основное время уходит на запросы к метаданных SQL Server. Думаю рыть надо в сторону их ускорения (запросы к системных вьюхам и.т.п.) |
|
20.02.2017, 11:01 | #23 |
Модератор
|
Цитата:
В принципе, у нас есть клиент 24x7 "от Гуама до Панамы", вот что он делает a) начинаем заранее drain-ить часть AOS-ов с клиентскими сессиями b) перенос изменений проектом на выделенный AOS, автоматическая синхронизация c) CIL d) перезапуск выделенного AOS-а (сбрасываем метки) e) перезапуск рабочих AOS-ов по мере освобождения от клиентских сессий с параллельным drain-ом работающих Формально - у них полного 100% даунтайма нет. По факту - есть ограниченная недоступность на время перестройки CIL (те же 20 минут), вероятность блокировок и "отвала" батчей (особенно это любит делать workflow во время обновления CIL). При инкрементальном обновлении CIL есть ненулевая вероятность отвала SSRS, тогда все бегают с круглыми глазами и все заканчивается часовым простоем с полной компиляцией и CIL. Ну и собственно вопрос - а оно того стоит, и может все-таки выделить 45-60 минут в неделю и сделать все спокойно и без экстрима ? P.S. В семерке пока что "хуже" (в Вашей постановке задачи) - там простой обязателен и пока что дольше если сравнивать с 2012
__________________
-ТСЯ или -ТЬСЯ ? Последний раз редактировалось Vadik; 20.02.2017 в 14:15. |
|
|
За это сообщение автора поблагодарили: EVGL (10). |
20.02.2017, 11:01 | #24 |
Участник
|
Цитата:
Сообщение от trud
Документ "Microsoft Dynamics AX 2012 White Paper: Deploying Customizations Across Microsoft Dynamics AX 2012 Environments" описывает довольно экзотические способы снижения downtime "Import a model store with minimal downtime", интересно так кто нибудь делает?
Цитата:
To reduce downtime, we recommend that you import the metadata into a new schema next to the old one, and then switch to the active schema. This methodology lets users continue using the system until the AOS instance needs to be restarted so that the new schema can be applied.
Я, может, крамольную вещь скажу, но в моей практике очень часто бывает нужно обновлять рабочее приложение без одновременного перезапуска всех АОСов. Это связано с тем, что обычно АОСы делятся на различные группы по функциональной нагрузке:
При обновлении рабочего приложения, как правило, переносится функционал, который влияет на одну-две-три группы АОСов с т.з. используемых подмножеств функционала приложения, но очень редко - на все группы сразу. Да, может, это нельзя в каждом случае математически точно обосновать, но из опыта поддержки того или иного приложения обычно это достаточно очевидно. И вот наиболее удобным был бы способ обновления рабочего приложения, который позволял бы разнести во времени перезапуск различных групп АОСов. Скажем, online-интеграциям через WCF-сервисы может быть без разницы, что обновились какие-то формочки для Windows-клиента Аксапты, а АОСам разноски розницы - без разницы, что обновилась логика сводного планирования. Но штатного варианта по сути выполнять две разные версии приложения на разных группах АОСов, к сожалению, нет. |
|
|
За это сообщение автора поблагодарили: EVGL (10), trud (2), sukhanchik (5), ax_mct (5). |
20.02.2017, 13:43 | #25 |
Участник
|
Цитата:
Сообщение от Vadik
Не только в синхронизацию. В CIL, который надо пересобирать если кастомизации проектами переносить, в AIF/сервисы/SSRS которые будут недоступны пока CIL перестраивается или могут "не подняться" если его целиком не перестроить. Это и AOS-ы живущие на разной бизнес-логике и DDL вроде CREATE INDEX который при работающих пользователях запускается
1. отдельная БД с полным CIL, восстановление БД модели на Prod, перезапуск выделенного АОС, на нем же синхронизация, перезапуск АОСов. 2. перенос проектами на выделенный АОС, синхронизация, CIL (инкр / иногда полный), перезапуск по очереди всех АОСов. Из неудобств - обеспечить не падаемость пакетов - более менее возможно; минимальная синхронизация - вот тут решений особо нет.
__________________
Ivanhoe as is.. |
|
20.02.2017, 22:18 | #26 |
Модератор
|
Я надеюсь речь все же про импорт modelstore, а не восстановление БД - а то нам и рабочие подключения AOS-ов к model отстреливать придется, и все HA сценарии (database mirroring / availability groups) идут лесом
Так что (1) - не вариант Цитата:
Из неудобств - обеспечить не падаемость пакетов - более менее возможно
Я это все к чему - может, с мегакорпорацией можно как-то договориться об обеспечении полноценного даунтайма, скажем раз в неделю ? Минут в 45 можно уложиться
__________________
-ТСЯ или -ТЬСЯ ? |
|
20.02.2017, 22:28 | #27 |
Участник
|
Интересно, а как в других ерп эта проблема решается?
Если тот же сап крутится на sql, то синхронизация займет схожее время. Или нет? |
|
21.02.2017, 00:52 | #28 |
Banned
|
Цитата:
In principle two approaches are used:
The clone approach needs a full copy of the productive system but it is very flexible regarding maintenance activities. ... nZDT (near Zero Downtime Service) The nZDT is a service offered by SAP. It is a customer specific procedure that is technically a clone approach. When using the nZDT service, the maintenance is performed on the clone of the production system. All changes are recorded and transferred to the clone after the maintenance tasks are completed. During the final downtime, only a few activities are executed, including a switch of the production to the new system (clone). .... ABAP applications, especially the ERP system with DB sizes in range of several terabytes. Therefore the SAP standard tools use the in place approach for ABAP systems in general to minimize the planned downtime. The in place approach uses the DB and needs a minimum of additional Hardware. The downtime minimization capabilities of SUM, e.g. nZDM, use a separate DB schema (shadow). |
|
|
За это сообщение автора поблагодарили: Logger (3). |
21.02.2017, 03:11 | #29 |
NavAx
|
Цитата:
Разумо было бы выделять регионы в отдельные инстансы. Тогда ночной простой в Бразилии никак не скажется на работе китайского продразделения.
__________________
Isn't it nice when things just work? |
|
21.02.2017, 09:42 | #30 |
Модератор
|
Цитата:
Сообщение от macklakov
Можно-то оно можно, если деваться некуда. Только надо понимать что это может стоить мега-корпорации несколько десятков тысяч за каждый простой. Издержки от 50 простоев в год легко могут переваливать за миллион.
Разумо было бы выделять регионы в отдельные инстансы. Тогда ночной простой в Бразилии никак не скажется на работе китайского продразделения.
__________________
-ТСЯ или -ТЬСЯ ? |
|
21.02.2017, 10:09 | #31 |
NavAx
|
Где говорилось что в каждом? 100% 24x7 нужен когда у вас в системе разные регионы, от Бельгии и Бразилии в системе. Это значит что единственный зазор когда пользователей не слишком много, это ночь с субботы на воскресенье. А когда в инстансе лишь несколько близко расположенных стран, то почти все выходные можно что-то делать, ибо количество активных пользователей будет в пределах нескольких десятков.
__________________
Isn't it nice when things just work? |
|
21.02.2017, 10:31 | #32 |
Модератор
|
Не нравится " в каждом" ? Не вопрос - множественные инстансы "честного" 24x7 ни в одном регионе не обеспечивают, так уж система устроена. Так лучше?
Цитата:
100% 24x7 нужен когда у вас в системе разные регионы, от Бельгии и Бразилии в системе
Цитата:
Это значит что единственный зазор когда пользователей не слишком много, это ночь с субботы на воскресенье. А когда в инстансе лишь несколько близко расположенных стран, то почти все выходные можно что-то делать, ибо количество активных пользователей будет в пределах нескольких десятков
__________________
-ТСЯ или -ТЬСЯ ? |
|
21.02.2017, 10:39 | #33 |
NavAx
|
Цитата:
На текущем внедреже именно такой склад. Но ночью в выходные ущерб от простоя минимальный.
__________________
Isn't it nice when things just work? |
|
21.02.2017, 11:00 | #34 |
Модератор
|
Цитата:
Сообщение от macklakov
Проблема есть. Когда в одном регионе ночь, в другом день, пиковая нагрузка. Когда у одних уже суббота, у других все еще пятница. Когда у других все еще воскресенье, у первых уже понедельник. Поэтому и говорю что единственный более-менее доступный зазор это ночь с субботы на воскресенье
__________________
-ТСЯ или -ТЬСЯ ? Последний раз редактировалось Vadik; 21.02.2017 в 11:52. |
|
21.02.2017, 23:08 | #35 |
Участник
|
Поменяем мега корпорацию на нормальный интернет-магазин или b2b с кучей проверок при создании заказов. Ну вот не понимают клиенты, почему нужен почти час простоя. Днем офис работает, по ночам склад.
__________________
Ivanhoe as is.. |
|
21.02.2017, 23:14 | #36 |
Участник
|
Если не нужна длинная синхронизация, то иногда и просто выключить на пару минут все аосы - вариант. А HA не так уж прям и часто в полный рост настраивают.
__________________
Ivanhoe as is.. |
|
23.02.2017, 22:08 | #37 |
Модератор
|
Работал я в одном нормальном интернет магазине (>10K заказов в день). Так там не было синхронной интеграции сайта с AX. И у сайта интеграция (асинхронная) строилась так, что не требовала постоянной доступности AX и прочих внутренних приложений. Люди, которые все это строили, знали толк в
Цитата:
или b2b с кучей проверок при создании заказов
Цитата:
Если не нужна длинная синхронизация
Цитата:
А HA не так уж прям и часто в полный рост настраивают
__________________
-ТСЯ или -ТЬСЯ ? |
|
|
За это сообщение автора поблагодарили: trud (2), gl00mie (2). |
04.10.2017, 14:23 | #38 |
Участник
|
Цитата:
Сообщение от Vadik
Вот вы привязались к этой синхронизации. Over 90% всех изменений в схеме данных - это добавление полей и создание/изменение индексов. Эти изменения можно делать на выделенном AOS-е без остановки рабочих AOS-ов и при известной доле везения - без "нахлестов" с работающими пользователями. Не нравится / не получается - значит, Вам для полноценного релиза нужен полноценный простой (и совсем не долгий кстати)
__________________
Ivanhoe as is.. |
|
04.10.2017, 15:04 | #39 |
Administrator
|
Цитата:
Ну т.е. запустили и оно себе работает. Понятное дело - ДБА должны выбрать момент запуска скрипта, но это уже второй вопрос - формально простоя не будет. А АХ уже при обновлении подумает, что этот индекс уже создан. Глобальная идея состоит в том, чтобы все длительные процедуры, которые выполняются при синхронизации вынести на момент до начала обновления. Максимальный вариант - это "закат солнца вручную", т.е. выполнение всех процедур, которая делает синхронизация - заранее, до начала обновления. Но обычно хватает "золотой середины", а именно построение долгостроящихся индексов, которые как правило всем известны и для каждой компании можно составить свой список наиболее объемных таблиц
__________________
Возможно сделать все. Вопрос времени Последний раз редактировалось sukhanchik; 04.10.2017 в 15:08. |
|
04.10.2017, 15:36 | #40 |
Участник
|
Для совсем нагруженных систем других вариантов, кроме синхронизации скриптами прямо на SQL не видно, это понятно.
Но в рамках темы хочется понять, как штатными средствами максимально сократить downtime?
__________________
Ivanhoe as is.. |
|