Клиент: Торговая компания.
Программы: 1С:Управление торговлей 11.5, 1С:Бухгалтерия предприятия 3.0.
Инфраструктура: Клиент-серверный режим, ОС Linux, СУБД PostgreSQL, файловая система ZFS. 64-х разрядная платформа 1С:Предприятие 8.
Симптомы:
-
Проведение документа «Реализация товаров и услуг» занимало до 2 минут, вместо пары секунд.
-
В офисе нарастало напряжение: бизнес-процессы застревали, менеджеры нервничали, клиенты ждали.
-
Самостоятельные попытки системного администратора выявить причину не дали результата.
Разобраться, почему 1С тормозит и зависает. Оптимизировать работу программы через настройки внутри или на сервере, либо дать направление системному администратору клиента.
Этап 1. Обследование сервера
Специалисты в часы пиковой нагрузки сняли показатели сервера с помощью сторонней программы. Такая диагностика выявила, что дисковая подсистема сервера переставала справляться с нагрузкой: запросы базы данных и 1С выстраивались в очередь как покупатели к единственной кассе. Процессы замирали в ожидании ответа, а сама 1С «висла» до тех пор, пока очередь не рассасывалась. Это и вызывало 20–30 минут задержек, система физически ждала, пока диск обработает накопившиеся операции.
Тестирование состояния сервера (нажмите, чтобы увеличить)
Тестирование скорости диска:
Сервер выполнял тестовое задание, повторяющее поведение 1С в момент проведения документов, с помощью команды:
cd /tmp
dd if=/dev/zero of=./test_file bs=8k count=50000 conv=fdatasync;
rm ./test_fileВыяснилось, что система способна записывать задачи со скорость 166 МБ/сек. Для серверного оборудования состоящего из нескольких быстрых дисков норма составляет скорость 300-400 МБ/сек. То есть диски работали пол силы, искусственно затормаживая систему и создавая очереди при малейшей нагрузке.
Выявленные причины:
Неоптимальная настройка параметра ZFS: По умолчанию файловая система работала с блоками по 128 Кбайт - это стандартное, универсальное значение для большинства задач, но в случае с 1С такая настройка оказалась ошибочной: база данных преимущественно пишет маленькими блоками по 8 Кбайт. Чтобы записать этот небольшой кусочек, системе приходилось читать, править и заново сохранять 128-килобайтный блок. Получалось, что даже безобидная операция создавала избыточную нагрузку на диски, а в пиковые моменты это приводило к «пробке», очередь к диску росла, вызывая зависания.
Нехватка свободного места: Место на диске подходило к критическому минимуму. В таких условиях файловая система замедляется, потому что вынуждена тратить ресурсы на поиск свободных участков для записи.
Этап 2. Оптимизация работы сервера и диска
Совместно с системным администратором Заказчика проводились следующие действия:
- Изменили настройку ZFS со 128 Кб на 16 Кб, чтобы не перегружать диски лишней работой при обслуживании маленьких запросов 1С.
- Увеличили объём дискового пространства с 40 до 80 ГБ, чтобы уйти от критической нехватки места, когда система тратит время на поиски свободного пространства.
- Перенесли базы данных на скоростной диск, повысив скорость принимаемой информации.
Этап 3. Диагностика на уровне платформы 1С
Чтобы исключить проблему внутри программы, был проведен анализ платформы с помощью Технологического журнала, который записывает действия системы: какие операции выполнялись, сколько длились запросы к базе и возникали ли скрытые ошибки. Это позволило понять, чем занималась программа во время зависаний.
Что было обнаружено и исправлено:
- «Тяжелые» запросы при поиске: Пользователи применяли стандартный поиск (Ctrl+F) в больших списках: он искал по всем полям и генерировал тяжёлые запросы, нагружая систему.
Отображение поиска через Ctrl+F (нажмите, чтобы увеличить)
Решение: Обучили персонал точечному поиску (Alt+F) и настраиваемым отборам. Теперь вместо «просмотреть весь склад» программа ищет только в нужной колонке, нагрузка упала.
- Лишние фоновые процессы: В «1С:Управлении торговлей» была активна функция электронной почты, хотя компания ей не пользовалась. Программа регулярно пыталась отправить данные, каждый раз формируя тяжёлые запросы и повторяя эту процедуру раз за разом без пользы.
Выписка из технологического журнала 1С:
37:59.595003-8070003,SDBL,3,p:processName=trade_w,t:computerName=onec,t:connectID=10924,Usr=DefUser,Context=' ОбщийМодуль.УправлениеЭлектроннойПочтой.Модуль : 73 : Взаимодействия.ЗаполнитьКонтактыМассиваВзаимодействий(ПолученныеПисьма.ВсеПолученныеПисьма); ОбщийМодуль.Взаимодействия.Модуль : 7947 : РезультатЗапроса = Запрос.Выполнить();'
Решение: Отключили неиспользуемый функционал электронной почты.
- Избыточный мониторинг: В «1С:Бухгалтерии» была включена подсистема оценки производительности, которая непрерывно собирала метрики работы системы. Эти данные никто не анализировал, сбор был бесполезен и только расходовал ресурсы.
Решение: Подсистема отключена.
Результаты
Стабильность: Полностью устранены ежедневные «зависания» системы.
Скорость диска: Скорость записи увеличилась со 166 до 226 МБ/сек рост на 36%.
Комфорт работы: Время проведения документов сократилось до нормативных показателей. Отклик интерфейса увеличился.
Эффективность сотрудников: За счет обучения правильным методам поиска в 1С снизилась вероятность повторного возникновения очередей к базе данных.
Хотите, чтобы ваша 1С работала быстрее?
Часто причина медленной работы кроется не в «слабом железе», а в тонких настройках взаимодействия системы и сервера. Мы знаем, куда смотреть и что исправлять.
Что сделано


