Экспертный кейс. История расследования одного небыстрого закрытия месяца в 1C:ERP. Пример неочевидных путей расследования в виде детективной истории
В данной статье хотим рассказать об одном нашем непростом расследовании, в котором удалось собрать сразу несколько проблем на разных уровнях инфраструктуры заказчика и изначальной методологии ведения учета. Само расследование в какой-то момент стало напоминать детективную историю, с роялями в кустах, ошибками платформы, странным поведением пользователей и магическим поведением хорошо знакомых механизмов. Но мы реалисты, поэтому все проблемы были выявлены и устранены ;)
Комментарии
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
Для статей, которые распределяются на производственные затраты по всем подразделениям, установлена аналитика расходов – подразделение. При оформлении поступления таких расходов в документе подразделение указывается в шапке, но затем еще в строках пользователями указывается иная, отличная от подразделения в шапке аналитика затрат. Именно это порождало избыточные записи прихода прочих затрат, которые далее в такой же детализации декартовым произведением распределялись на приходные записи незавершенного производства по всем подразделениям выпуска.
А можно поподробнее этот момент осветить? Пользователи наверняка не просто так в аналитике расходов указывали подразделение отличное от подразделения документа. Скажем, если Цех №1 оказывает услугу Цеху №2, то в аналитике расходов должен быть Цех №2, но никак не Цех №1. Если затрата распределяется по всем подразделениям, то в аналитике расходов должно быть пусто. Если затрата собственная, то в аналитике расходов должно быть свое подразделение, чтобы затрата не распределилась на всех.
По поводу падения рабочих процессов.
Тоже у себя увеличивали параметр PingTimeout до того пока не разобрались, что устаревший драйвер SSD диска на гипервизоре фризил. Вообще странное решение со стороны вендора прибивать рабочие процессы. Может надо было работу с сокетами иначе организовывать, чтобы таких таймаутов не возникало вовсе даже когда основной поток подвис на какой-нибудь файловой операции. Пусть работает медленней, но стабильно, без сюрпризов и с отражением таких проблем в ТЖ.
(1)
Ответ участвовавшего в расследовании эксперта:
Возможно, пользователи действительно не просто так это делали, полагая, что нужно адресно отнести затраты. Однако, как мы писали выше, согласно настройкам распределения статей затраты впоследствии распределялись на все подразделения выпуска. Соответственно, практического смысла в отнесении затраты на подразделение при поступлении не было никакой.
Разумеется, решение, описанное в статье, о запрете заполнения аналитики в табличной части мы не принимали самостоятельно, оно было согласовано методологами заказчика и реализовано им самостоятельно. Мы всего лишь указали на проблему и предложили варианты решения.
А можно поподробнее этот момент осветить? Пользователи наверняка не просто так в аналитике расходов указывали подразделение отличное от подразделения документа. Скажем, если Цех №1 оказывает услугу Цеху №2, то в аналитике расходов должен быть Цех №2, но никак не Цех №1. Если затрата распределяется по всем подразделениям, то в аналитике расходов должно быть пусто. Если затрата собственная, то в аналитике расходов должно быть свое подразделение, чтобы затрата не распределилась на всех.
Ответ участвовавшего в расследовании эксперта:
Возможно, пользователи действительно не просто так это делали, полагая, что нужно адресно отнести затраты. Однако, как мы писали выше, согласно настройкам распределения статей затраты впоследствии распределялись на все подразделения выпуска. Соответственно, практического смысла в отнесении затраты на подразделение при поступлении не было никакой.
Разумеется, решение, описанное в статье, о запрете заполнения аналитики в табличной части мы не принимали самостоятельно, оно было согласовано методологами заказчика и реализовано им самостоятельно. Мы всего лишь указали на проблему и предложили варианты решения.
(1)
Пинги мы увеличивали, когда миграция ВМ шла долго, чтобы за время фриза не прибивались процессы. Тут никакой ошибки платформы нет. И странным поведение платформы мы не считали (не считаем).
По поводу падения рабочих процессов.
Тоже у себя увеличивали параметр PingTimeout до того пока не разобрались, что устаревший драйвер SSD диска на гипервизоре фризил. Вообще странное решение со стороны вендора прибивать рабочие процессы. Может надо было работу с сокетами иначе организовывать, чтобы таких таймаутов не возникало вовсе даже когда основной поток подвис на какой-нибудь файловой операции. Пусть работает медленней, но стабильно, без сюрпризов и с отражением таких проблем в ТЖ.
Тоже у себя увеличивали параметр PingTimeout до того пока не разобрались, что устаревший драйвер SSD диска на гипервизоре фризил. Вообще странное решение со стороны вендора прибивать рабочие процессы. Может надо было работу с сокетами иначе организовывать, чтобы таких таймаутов не возникало вовсе даже когда основной поток подвис на какой-нибудь файловой операции. Пусть работает медленней, но стабильно, без сюрпризов и с отражением таких проблем в ТЖ.
Пинги мы увеличивали, когда миграция ВМ шла долго, чтобы за время фриза не прибивались процессы. Тут никакой ошибки платформы нет. И странным поведение платформы мы не считали (не считаем).
(5)
И кстати отключать миграцию - неправильный с т.з. работы виртуализации подход. Отключать можно и нужно для серверов лицензирования просто потому что это будет приводить к необходимости повторной активации программных лицензий. Во всех остальных случаях правильно искать проблему, по которой миграция мешает работе. Сама по себе она происходит обычно мгновенно.
И кстати отключать миграцию - неправильный с т.з. работы виртуализации подход. Отключать можно и нужно для серверов лицензирования просто потому что это будет приводить к необходимости повторной активации программных лицензий. Во всех остальных случаях правильно искать проблему, по которой миграция мешает работе. Сама по себе она происходит обычно мгновенно.
(8)
1. На сколько я знаю миграция происходит прозрачно и параметры машины не меняются, поэтому почему будет требоваться пере активация лицензий?
2. Проблема в знакомом мне случае (как и в вашем) была в самой 1С. Она так капризно ведет себя даже при таком мгновенном переключении. Сколько времени будет идти фиксация ошибки - доказывание компании 1С (это просто жесть), ее исправление, проверка новой версии и т.п., поэтому решение вполне оправданное, на мой взгляд.
3. Запуск миграции может произойти к примеру из-за запуска бухгалтером закрытия месяца, и машина поехала туда где свободнее.
1. На сколько я знаю миграция происходит прозрачно и параметры машины не меняются, поэтому почему будет требоваться пере активация лицензий?
2. Проблема в знакомом мне случае (как и в вашем) была в самой 1С. Она так капризно ведет себя даже при таком мгновенном переключении. Сколько времени будет идти фиксация ошибки - доказывание компании 1С (это просто жесть), ее исправление, проверка новой версии и т.п., поэтому решение вполне оправданное, на мой взгляд.
3. Запуск миграции может произойти к примеру из-за запуска бухгалтером закрытия месяца, и машина поехала туда где свободнее.
(14) по поводу 1 пункта, у нас в инфраструктуре столкнулся с тем, что все таки могут меняться даже при условии когда не меняются параметры виртуальной машины. При том, что модель процессора не меняется, а защита ругается на изменение какого то внутреннего уникального номера процессора. Очень интересно и неоднозначно получалось, было это на 8.3.17. Сейчас 8.3.20 как работает сказать не могу, так используем сервер лицензирования (запрещена миграция). Используем vmware
(19) Если "это" - вопрос про трудовой процесс на пути к 1С:Эксперту, то приблизительно про требования описано в наших вакансиях (ссылка есть на сайте).
Там ключевое - не обязательно сразу иметь 1С:Эксперта, главное чтоб было желание его получить. Набор опыта гарантирован, обучение за счет компании.
Если есть желание обсудить оставшиеся трудовые вопросы, замкну на наших замечательных HR. Напишите в личку, если будет желание ;)
Там ключевое - не обязательно сразу иметь 1С:Эксперта, главное чтоб было желание его получить. Набор опыта гарантирован, обучение за счет компании.
Если есть желание обсудить оставшиеся трудовые вопросы, замкну на наших замечательных HR. Напишите в личку, если будет желание ;)
(21) Непосредственно фризы показали графики загрузки оборудования perfmon, и их (факты миграции) подтвердили данные системы виртуализации.
Анализ ТЖ показал, что процессы кластера были перезапущены системой мониторинга кластера после того, как не ответили ей в течение pingTimeout.
Анализ ТЖ показал, что процессы кластера были перезапущены системой мониторинга кластера после того, как не ответили ей в течение pingTimeout.
(23) весь процесс занял около двух месяцев.
Но в этом проекте у нас не было прямого доступа к стенду. Мы говорили их ИТ-специалистам, что где настроить и как собрать, они делали, запускали, передавали нам результаты. То есть паузы периодически возникали в процессе и достаточно большие.
Но в этом проекте у нас не было прямого доступа к стенду. Мы говорили их ИТ-специалистам, что где настроить и как собрать, они делали, запускали, передавали нам результаты. То есть паузы периодически возникали в процессе и достаточно большие.
Вспоминается...
Теорема ускорения серверов
Лучший способ ускорить сервер это ускорить серверного админа.
Следствие
Нет такого сервера, который нельзя было бы ускорить, есть админы, которых вы не можете ускорить.
В небольших компаниях обычно главбух после/перед каждым совещанием зажимает ДИТ в угол с криком: Сделайте что-нибудь!!!!
Потом админа мотивируют отрицательным ростом премии, он пыхтит пару выходных и все налаживается.
А тут 20 дочерних организаций, пришлось бежать за подмогой.
Теорема ускорения серверов
Лучший способ ускорить сервер это ускорить серверного админа.
Следствие
Нет такого сервера, который нельзя было бы ускорить, есть админы, которых вы не можете ускорить.

В небольших компаниях обычно главбух после/перед каждым совещанием зажимает ДИТ в угол с криком: Сделайте что-нибудь!!!!
Потом админа мотивируют отрицательным ростом премии, он пыхтит пару выходных и все налаживается.
А тут 20 дочерних организаций, пришлось бежать за подмогой.
Вакансии
Ведущий разработчик 1С / Team lead отдела разработки 1С
Москва
зарплата от 300 000 руб. до 300 000 руб.
Полный день
Москва
зарплата от 300 000 руб. до 300 000 руб.
Полный день
Аналитик-архитектор 1С ЕРП (управленческого учета)
Москва
зарплата от 300 000 руб. до 300 000 руб.
Полный день
Москва
зарплата от 300 000 руб. до 300 000 руб.
Полный день