Сегодняшняя тема может показаться скучной и неинтересной, но она очень важна, потому что из-за такой вроде мелочи, как не вовремя зависшая 1С, бизнес может потерять очень серьезные деньги.
За примером далеко ходить не нужно: у одного из наших клиентов сеть магазинов верхней одежды. Бизнес сезонный: в обычное время покупателей не так много, но дважды в год в магазинах наплыв покупателей и очереди стоят, даже когда работают все кассы. Если в этот момент зависнет 1С, на которую завязаны все сканеры и кассовое оборудование — продажи встанут в прямом смысле слова. Если все оперативно не восстановится — люди просто уйдут, и вся сеть потеряет выручку.
Меня зовут Алексей Садовенко, я больше 17 лет занимаюсь системным администрированием, десять из которых — руковожу собственной компанией. И в этой статье я расскажу, как этого избежать и что делать, если ваша 1С-ка тоже виснет или работает непозволительно медленно.
Когда зависает 1С
Начать стоит с того, что сценариев, когда 1С начинает тормозить, а пользователи сталкиваются с проблемами в работе программы, довольно много. Каждый из них создает неудобства для работы и замедляет бизнес-процессы:
-
Проблемы при запуске: 1С либо медленно открывается, либо не запускается вовсе.
-
Программа зависает при попытке выгрузить отчет.
-
Зависает 1С при обновлении.
-
Все виснет и тормозит при работе с документами 1С.
-
Фоновые задания перестают выполняться.
Все это не просто раздражает пользователей, но и снижает производительность, а в конечном счете ведет к потерям для компании. Причин, из-за которых возникают такие проблемы, тоже может быть достаточно много.
Почему 1С зависает: разбор основных причин
Условно все причины зависания 1С (как и нестабильной работы всей ИТ-инфраструктуры компании, впрочем), можно разделить на две группы: технические и человеческие.
Возможные технические проблемы:
-
Тормозит сервер. Запросы на обработку и обмен данными могут занимать длительное время. Это замедляет все рабочие процессы и становится невозможно оперативно получить информацию о товарах или сгенерировать отчет.
-
Зависает 1С Сервер. В этом случае база 1С может быть недоступна вообще, или сотрудники не смогут работать в программе.
-
Нестабильная сеть. Даже если сервер и база 1С работают нормально, то проблемы с сетью, либо некорректная настройка сетевого оборудования могут помешать корректной работе программы.
-
Устаревшая инфраструктура. Компании достаточно часто продолжают использовать старое оборудование, не обновляя его в соответствии с растущими потребностями. Например, многие до сих пор хранят данные в папках вместо использования современных баз данных, а 1С может работать на обычном офисном компьютере в углу кабинета, который давно не справляется с нагрузкой.
-
Некорректная конфигурация серверов. Специфика 1С такая, что даже дорогие и мощные сервера могут быть неэффективны, если они неправильно настроены или собраны. Например, процессоры с низкой частотой и HDD-диски могут значительно замедлять работу программ, несмотря на космическую стоимость оборудования.
-
Нелицензионное ПО. Использование пиратский версий 1С и другого софта может привести к серьезным проблемам. Например, в ноябре 2022 года , многие компании, использовавшие нелицензионную 1С, столкнулись с массовыми сбоями в ходе работы программы и ее обновления, что повлекло за собой длительные (дни и даже недели) простои в работе и огромные финансовые потери.
Конечно, все это происходит не само по себе. Когда к нам обращается новый клиент, мы всегда стартуем с аудита инфраструктуры и очень часто видим, что первопричина всех технических проблем лежит именно в человеческой плоскости:
-
В компании нет сисадмина или обслуживающей компании (типично для небольшого бизнеса), и все работает без изменений с того самого времени, когда в самом начале пришли 1С-ники и запустили систему. Поддержки или нет совсем, или она ситуативная.
-
В компании есть сисадмин, но он не обладает достаточным количеством знаний и опыта в администрировании серверной инфраструктуры для 1С.
-
В компании есть сисадмин, который понимает, что и как нужно делать, чтобы обеспечить стабильную работу 1С, но руководство не готово выделять средства на обновление и поддержку инфраструктуры.
-
Интеграторы нередко отмахиваются от клиентов фразами вроде: «Тормозит? Просто купите сервер помощнее», — и оставляют компании один на один с их проблемами.
Казалось бы, интеграторы 1С и айтишники должны быть в одной лодке, но в реальности они чаще всего спихивают ответственность за зависания, медленную работу и лаги друг на друга — и ситуация может оставаться неизменной очень и очень долго. Страдают от этого, конечно, в первую очередь обычные пользователи и бизнес, который в конечном итоге теряет из-за этого деньги. Иногда — очень серьезные.
Как с этим бороться
Если оставить вариант с ситуативным тушением пожаров и затыканием дыр за скобками, то правильный ответ всего один — выстроить ИТ-инфраструктуру в компании таким образом, чтобы она обеспечивала стабильность, безопасность, надежность, высокую скорость работы оборудования и программ, и при этом при необходимости могла безболезненно масштабироваться в соответствии с растущими потребностями бизнеса.
К этому можно прийти, построив систему с нуля или пересобрав то, что уже есть в компании. В обоих сценариях можно сделать так, чтобы все работало, как нужно: 1С не зависала, а бизнес — не терял деньги.
Как это сделать, я покажу на реальном проекте одного из наших клиентов — сети магазинов верхней одежды, которого я уже упоминал в начале.
Этот пример интересен как раз тем, что мы вместе прошли путь от нескольких сотрудников и одного офиса, когда 1С работала в папках, до сети магазинов, где на 1С завязаны все сканеры, кассовая техника, терминалы оплаты, терминалы сбора данных (ТСД) и системы маркировки товаров — и все это должно работать безупречно.
Схематично структуру бизнеса можно представить следующим образом:
10 магазинов и 3 офиса (в составе которых в том числе производства и склады) — масштаб крепкого среднего бизнеса, который уже перерос стартовые решения.
Для бизнеса такого размера критически важно, чтобы ИТ-инфраструктура обеспечивала стабильную и надежную работу сейчас, плюс легко масштабировалась при необходимости.
Для этого нужно:
-
Клиент-серверный вариант 1С, который лучше всего подходит для работы с высокой нагрузкой.
-
Защищенный VPN-туннель, который объединяет сеть всех объектов организации: и офисов, и точек продаж.
-
Возможность подключения удаленных сотрудников к корпоративным ресурсам.
-
Система резервного копирования как на локальное хранилище для возможности быстрого восстановления, так и на удаленное хранилище, чтобы иметь возможность восстановить данные в том числе в случае шифрования.
Архитектура ИТ-инфраструктуры в этом случае должна выглядеть примерно так:
Почему именно так и как такая архитектура влияет на работу 1С и помогает предотвратить зависание, я сейчас расскажу, но перед этим важно проговорить важный момент.
Как сама архитектура, так и подходы к ее построению — основаны на нашем опыте. Очевидно, такой вариант не является единственным верным, и у кого-то может быть другой опыт организации всего как на верхнем уровне, так и на уровне используемого оборудования: буду рад обсудить ваши подходы и решения в комментариях.
Серверная инфраструктура
Чтобы обеспечить высокую скорость работы 1С и предотвратить ее зависания, в этом случае мы выстроили архитектуру на основе трех серверов по следующей схеме:
Сервер 1:
-
виртуальный gate для доступа к WAN,
-
службы удаленных рабочий столов,
-
файловый сервер,
-
домен-контроллер.
Сервер 2:
-
SQL-сервер,
-
домен-контроллер,
-
vpn-сервер.
Сервер 3:
-
кластер серверов 1С,
-
сервер резервного копирования,
-
сервер мониторинга.
Со стороны дата-центра сервера объединили в локальную сеть.
Если у бизнеса нет потребности в таком объеме мощностей, такую же логику можно реализовать и на одном физическом сервере при помощи виртуальных машин.
Для стабильной и быстрой работы 1С важно не количество ядер процессоров на серверах, а их тактовая частота и наличие быстрых SSD-дисков, желательно с использованием RAID. Благодаря этому можно значительно сэкономить, так как для этих нужд достаточно процессоров Ryzen 7/9, и нет необходимости переплачивать за более дорогое оборудование.
Сетевая инфраструктура, удаленный доступ, VPN
Для маршрутизации и гибкой настройки фильтрации трафика мы используем комплекс из оборудования Mikrotik и виртуальных шлюзов Mikrotik CHR. Используем именно его, так как Mikrotik:
-
дает возможность легко масштабировать и адаптировать систему под текущие потребности и задачи,
-
предоставляет оптимальный набор функций: VPN, маршрутизацию, QoS, маркировку трафика и другие,
-
удобное сочетание физического оборудования и виртуальных сред.
По нашему опыту, Mikrotik является оптимальным решением благодаря сочетанию цены, качества и функционала. Но мы также часто используем оборудование других вендоров в сочетании с PfSense или с нуля настроенными виртуальными машинами на Linux.
По требованиям безопасности все внешние доступы к серверным ресурсам должны обязательно шифроваться через VPN, чтобы защитить передаваемую информацию от перехвата и несанкционированного доступа.
Между дата-центрами и офисами мы обычно настраиваем протоколы L2TP+IPSec и SSTP. Также используем Wireguard для быстрого переключения на случай блокировок VPN-сервисов, которые в сегодняшней реальности, увы, не редкость.
Такое решение обеспечивает нужную гибкость, необходимый уровень шифрования и стабильно работает в любых корпоративных сетях.
К слову, так как работать через VPN должны удаленные сотрудники, то конечно же, именно они максимально сопротивляются этому нововведению. Но ничего не поделаешь: безопасность есть безопасность, и с этим небольшим неудобством придется смириться.
Базы данных
Для управления базами данных SQL мы используем MS SQL Server и PostgresPro. При этом PostgresPro является более оптимальным решением на сегодняшний день с точки зрения скорости работы, функционала и стоимости обслуживания.
Кластер серверов 1С чаще всего выстроен на базе Windows Server, поскольку 1С изначально разрабатывалась для этой системы, и она более привычна для обслуживания. Однако учитывая текущую ситуацию с импортозамещением, мы все чаще используем Linux и, в целом, не испытываем особых трудностей.
Резервное копирование
Как я уже писал, чтобы иметь возможность быстро восстановить систему в случае любых форс-мажоров, нам нужны локальные и удаленные копии.
Важно делать:
-
копии дампов баз SQL,
-
резервные копии серверов/виртуальных машин.
В этом примере для пущей уверенности мы настроили копирование не только на локальные и удаленные хранилища с дальнейшей репликацией, но и дублировали их на сетевом хранилище в головном офисе. Возможно, это избыточно, но всем так спокойнее.
Мониторинг
Мониторинг необходим для своевременной диагностики проблем и их устранения до того, как система 1С зависнет в самый неподходящий момент.
У нас все работает на Zabbix, который автоматически создает заявки в HelpDesk при проблемах, а также дополнительно уведомляет о них через Telegram.
Как только что-то не так с резервными копиями, производительностью, доступностью оборудования, мы сразу получаем заявку и уведомление — и тут же начинаем работу над исправлением проблемы.
Скорость реакции и решение проблемы — ключевые параметры с точки зрения бизнеса, так как даже небольшое промедление здесь может стоить больших денег.
Если рассматривать наш пример, то даже небольшое подвисание системы в сезон, когда в магазинах очереди, будет стоить компании сотни тысяч и даже миллионы рублей потерянной выручки.
Такого, как вы понимаете, допускать никак нельзя.
Несколько выводов в завершение
В этой статье я сознательно сконцентрировался на ИТ-инфраструктуре и ее роли в решении проблем с работой 1С, и не писал про отдельные лайфхаки по их устранению.
-
Во-первых, о затыкании дыр, тушении пожаров и тех костылях, которые для этого можно применить, можно написать даже не отдельную статью, а целую книгу.
-
Во-вторых, я убежден (и это убеждение только подтверждается опытом), что на долгой дистанции работает именно описанный подход: правильная, стабильная, надежная инфраструктура, которая обеспечивает бесперебойную работу как 1С, так и всей ИТ-системы бизнеса в целом.
-
В-третьих, на долгой дистанции такой подход намного выгоднее, так как дает возможность не только не терять деньги из-за сбоев системы, но и экономить на техподдержке и обслуживании.
Автор: AlexSadovenko