Аудит 1С в фармхолдинге: почему база встаёт после замены сервера
Аудит производительности 1С в фармхолдинге начинается с замеров, а не с покупки сервера. Чаще всего базу тормозят блокировки в регистрах серий и партий, документы с тысячами кодов маркировки и регламентные задания, которые стартуют в рабочее время. Упирается ли база в железо, показывают замеры под рабочей нагрузкой, и делать их нужно до закупки.
🕘 Последний день месяца: что видит пользователь
Девять утра, последний рабочий день месяца. Бухгалтерия запускает закрытие, склад проводит отгрузки в аптечные сети, отдел закупок загружает новые прайсы поставщиков. Через пять минут у кладовщика на экране сообщение «Не удалось выполнить блокировку», у бухгалтера крутится индикатор, а у ворот стоит водитель с пустым кузовом.
Директор по ИТ в прошлом квартале уже заменил сервер: процессоры новее, памяти больше. Но картина не изменилась, поэтому вопрос «что ещё докупить?» возвращается на каждое совещание. Ответ лежит не в характеристиках машины. Сервер ускоряет операции, которые выполняются последовательно. Если два десятка человек одновременно ждут одну запись в регистре остатков, дополнительные ядра не помогают: все стоят в очереди за одним замком.
Цена этой очереди считается просто. Отгрузка уходит позже срока по договору поставки. Отчёты за месяц переезжают на следующий день. Коды маркировки не успевают уйти в систему маркировки вовремя, а это уже риск претензий от контролирующих органов. Каждый час ожидания умножается на число людей, которые ждут.
🧪 Заблуждение «база тормозит, значит, не хватает железа»
Заблуждение живёт потому, что у него есть цифры. Тест Гилёва измеряет скорость типовых операций 1С на конкретной машине, и им удобно сравнивать серверы между собой. Блокировки, неудачные запросы и расписание регламентных заданий он не видит: они проявляются только на рабочей базе с живыми пользователями. Соответствие системным требованиям 1С — необходимое условие, но не гарантия скорости.
Вот пять способов лечения и то, что каждый из них лечит на самом деле.
| Вариант | Что лечит | Что не лечит | Когда выбирать |
|---|---|---|---|
| Заменить или усилить железо | Нехватку процессора и памяти, медленный диск под СУБД | Блокировки, тяжёлые запросы, лишние задания | Загрузка процессора или диска у предела в часы жалоб |
| Обновить платформу и релиз | Известные ошибки и медленные места, которые разработчик уже исправил | Неоптимальный код собственных доработок | Релиз отстаёт от актуального на несколько версий |
| Оптимизировать код и запросы | Долгие проведения и отчёты, тяжёлые запросы в доработках | Нехватку ресурсов сервера | В журнале повторяются одни и те же долгие запросы |
| Настроить СУБД и расписание заданий | Устаревшую статистику, фрагментацию индексов, пересечение заданий с рабочим днём | Ошибки логики в самой конфигурации | Скорость зависит от времени суток |
| Перенести базу на арендованный сервер | Нехватку мощности без вложений в собственное железо | Неоптимальный код и блокировки | Замеры подтвердили упор в ресурсы, а своё оборудование устарело |
Строки идут в том порядке, в котором мы проверяем причины: от дешёвого к дорогому. Железо стоит последним не из принципа. Оно дороже остальных, и без замеров нет уверенности, что покупка сработает.
🔍 Как проходит аудит по шагам
- ✓Собираем симптомы у пользователей: какая операция, в какое время, у кого. Фраза «всё тормозит» не годится, нужна «проведение реализации на складе в 9:15».
- ✓Включаем замер производительности. В типовых конфигурациях есть подсистема оценки производительности с показателем APDEX: по ней видно, какие операции самые долгие и как их время меняется в течение дня.
- ✓Включаем технологический журнал на сервере 1С и собираем события блокировок, ожиданий и долгих запросов за несколько рабочих дней.
- ✓Смотрим ресурсы: процессор, память, очередь к диску. Сервер 1С и СУБД проверяем отдельно, если они стоят на разных машинах.
- ✓Разбираем самые долгие запросы и блокировки: какой документ, какой регистр, какая строка кода.
- ✓Сверяем расписание регламентных заданий с рабочим днём: обмены, пересчёт итогов, загрузка прайсов.
- ✓Составляем список: узкое место, причина, исправление, оценка работ в часах.
Один из дней сбора должен совпасть с закрытием месяца. В спокойный вторник база работает нормально, и замеры нарисуют здоровую картину, которая ничего не объяснит.
💊 Где фарма ломает типовые настройки
Серии и сроки годности
Фармацевтический учёт ведётся по сериям, и списывать нужно с учётом срока: сначала то, что истекает раньше. При проведении расхода система читает остатки по серии, подбирает серии и записывает движения. Когда пять кладовщиков одновременно отгружают один ходовой препарат, они работают с одним и тем же набором записей. Режим автоматических блокировок накладывает замок на весь набор, и четверо ждут пятого. Лечится переходом на управляемый режим блокировок с замками по складу и номенклатуре и пересмотром момента, когда документ проверяет остатки. Это работа программиста, а не системного администратора.
Маркировка
Документ с кодами маркировки — табличная часть на тысячи строк, и каждая строка проверяется на принадлежность, статус и дубли. Регистр кодов растёт каждый день и не сокращается. Обмен с системой маркировки идёт фоновыми заданиями, и если они стартуют в десять утра, они делят ресурсы с живыми пользователями. На аудите мы смотрим, на каких операциях код проверяется повторно, какие индексы нужны таблицам статусов и можно ли сдвинуть обмены на ночь или перевести их на пакетную обработку.
Себестоимость при закрытии месяца
Партионный учёт считает себестоимость, перебирая партии. Чем больше серий и мелких партий, тем длиннее закрытие. Если оно запускается, пока склад ещё отгружает, закрытие и отгрузки конкурируют за одни и те же регистры. Перенос запуска на вечер или раздельные окна для склада и бухгалтерии нередко решают проблему без единой строки кода.
💰 Что дешевле: аудит или ещё один сервер
Простой считается так: число людей, которые ждут базу, умножить на время ожидания в день, на стоимость их рабочего часа и на число рабочих дней. Подставьте свои числа и сравните с ценой работ.
Аудит и исправления идут по ставке сопровождения 1С и системного администратора — 3800 руб/час. Объём зависит от размера базы, числа доработок и количества жалоб, поэтому смету мы называем после просмотра базы и первых замеров, а не по телефону. Если замеры показали, что база действительно упёрлась в ресурсы, есть вариант без закупки оборудования: аренда сервера 1С от 1 100 ₽ в месяц за пользователя. При 50 пользователях это от 55 000 ₽ в месяц, и вы платите за нагрузку, которую подтвердили замеры, а не за запас на вырост.
🛠 Что мы делаем после аудита
Мы занимаемся внедрением 1С, поэтому аудит у нас не заканчивается отчётом в PDF. Каждый пункт списка получает исполнителя и оценку в часах, а вы выбираете, что делать сейчас, а что отложить.
Если причина в коде собственных доработок, правим запросы и блокировки в рамках доработки 1С. Если база сидит на старом релизе, на котором давно исправлены найденные ошибки, планируем обновление 1С и заранее проверяем, переживут ли его доработки. Если оптимизация сняла острые симптомы, но конфигурация с накопленными доработками уже не вмещает число юрлиц, складов и процессов, обсуждаем внедрение 1С:ERP. Этот вариант самый дорогой, и мы предлагаем его только тогда, когда без него не обойтись. Если аудит нашёл три тяжёлых запроса и один лишний обмен, так и пишем.
📋 С чем прийти на первый разговор
- ✓название конфигурации, номер релиза и версия платформы;
- ✓число пользователей и сколько из них работают одновременно;
- ✓СУБД и место сервера: своя стойка, виртуальная машина или аренда;
- ✓список операций, которые тормозят, с примерным временем суток;
- ✓перечень доработок и сведения о том, кто их писал.
С этим набором специалист уже на первом разговоре скажет, с каких замеров начинать, и назовёт ориентир по объёму работ.
❓ Частые вопросы
Что входит в аудит производительности 1С?
Аудит включает сбор жалоб пользователей, замер производительности по операциям, технологический журнал с блокировками и долгими запросами, проверку загрузки сервера и СУБД, анализ расписания регламентных заданий. Результат — список узких мест с причиной, способом исправления и оценкой работ в часах. Всё это собирается на рабочей базе, включая день закрытия месяца.
Можно ли проводить аудит на рабочей базе, не останавливая работу?
Да. Технологический журнал и оценка производительности работают в фоне, пользователи продолжают проводить документы. Сбор включается на согласованное время, а в пиковые дни его не отключают: именно в них видна причина. За нагрузкой от самого сбора специалист следит и при необходимости сужает перечень событий.
Сколько стоит аудит производительности 1С?
Работы идут по ставке сопровождения 1С и системного администратора: 3800 руб/час. Объём зависит от размера базы, числа доработок и количества жалоб, поэтому смету называем после просмотра базы и первых замеров. Исправления найденных проблем оцениваются отдельно в часах, и вы решаете, какие из них делать.
Когда нужно менять сервер, а когда достаточно оптимизации?
Сервер меняют, когда замеры показывают загрузку процессора или очередь к диску у предела именно в часы жалоб. Если ресурсы свободны, а пользователи ждут, причина в блокировках, запросах или расписании заданий, и новое железо не поможет. Промежуточный вариант — аренда сервера 1С от 1 100 ₽ в месяц за пользователя.
Нужно ли переходить на 1С:ERP, если база тормозит?
Нет, если причина в блокировках, запросах или железе: это исправляется в текущей конфигурации. О 1С:ERP стоит говорить, когда после оптимизации база снова упирается в архитектуру: много юрлиц, складов и накопленных доработок, которые уже трудно поддерживать. Это решение принимается по итогам аудита, а не до него.
Или позвоните: +7 906 045-28-27 — в рабочее время с 9:00 до 19:00
Остались вопросы? Нужна помощь?
Менеджеры компании с радостью ответят на ваши вопросы, произведут расчет стоимости услуг и подготовят индивидуальное коммерческое предложение.
Бесплатная консультация

