Как ускорить 1С: Топ-10 способов для эффективной работы

Многих владельцев бизнеса и сотрудников компаний волнует и даже бесит вопрос: почему 1С медленно работает, глючит и постоянно зависает? Рассказываем об основных причинах этих проблем и способах их решения.

Как ускорить 1С: Топ-10 способов для эффективной работы

Друзья, всем привет! На связи снова генеральный директор компании ALP ITSM Дмитрий Бессольцев. Сегодня обсудим наболевшую тему по работе сервиса 1С вместе с основателем компании «Компьютерные Технологии» Юрием Красовским.

Почему 1С медленно работает и зависает

Проблема медленной работы 1С касается всех видов бизнеса: малого, среднего и крупного. Чаще всего с ней сталкиваются компании, которые уже автоматизировали много процессов: не только бухгалтерию, но также складской и кадровый учет, управление торговлей и т.д.

Когда количество данных и пользователей в системе растет, компания начинает ощущать ее недостаточную производительность. Это проявляется в медленном отклике 1С, блокировке транзакций, недоступности учетной системы и прочих малоприятных моментах. Со временем они накапливаются и мешают работе разных подразделений компании.

Казалось бы, IT-служба должна успешно решать такие проблемы, но она их не решает, потому что не может этого сделать, и приходится привлекать внешнюю компетенцию. Почему так происходит?

Во-первых, многие компании кастомизируют базы 1С под себя. И проблемы с производительностью чаще кроются именно в кастомизации, чем в основном коде конфигурации. Айтишников не хватает, поэтому не каждая компания способна найти senior-специалиста, способного грамотно писать код, оптимальный с точки зрения производительности сервиса.

Другая причина в том, что 1С – сложный многокомпонентный сервис. В самом низу находится оборудование и сеть, а на самом верху – конфигурация 1С, веб-публикации и интеграции с разными системами. Между ними располагается операционная система, система виртуализации и SQL. А ведь еще есть и специфика конфигурации серверов, настройки и параметры сети.

На стыке этих компонентов существует потенциальное поле для сложнодиагностируемых проблем. Решить их оперативно зачастую не удается, особенно среднему и крупному бизнесу с большим количеством сотрудников, конфигураций и данных. А когда 1С медленно работает и тормозит бизнес-процессы компании, то она может понести крупные убытки.

Пример из жизни. В одном из медцентров пришлось долго стоять в очереди на кассу (шесть человек проходили примерно за полчаса). Как удалось выяснить, причина была в сбое компьютера на кассе – во время поиска он «подвисал» на несколько минут из-за плохой работы 1С. Как следствие – не только недовольные посетители клиники, но и, вероятно, потеря прибыли компании.

Так часто бывает, что собственник экономит на зарплате IT-специалиста «полтинник», а в итоге теряет сотни тысяч в месяц из-за недополученной прибыли. Среди айтишников даже есть поговорка: «За правильных 1С-специалистов нужно платить, а за неправильных – расплачиваться».

Как ускорить 1С: Топ-10 способов для эффективной работы

Почему 1С работает медленно: основные причины

Сервисы 1С могут работать медленно из-за устаревшего «железа» компьютера, антивируса, журнала регистрации, фантомных данных, большого количества пользователей в базе, фоновых операций в 1С и т.д.

Но эти причины скорее характерны для малого бизнеса, когда 1С работает в файловом режиме, к примеру, на пяти компьютерах. Если компания масштабируется, то ставит уже клиент-серверную архитектуру, и вышеперечисленные факторы становятся неактуальными.

В средних и крупных компаниях другие проблемы:

  • неоптимальные запросы и структура данных;
  • блокировки и параллельность работы;
  • невыполнение регламентных операций на стороне СУБД;
  • неверно подобранное оборудование;
  • ошибки в настройке общего системного ПО;
  • некорректная работа IT-инфраструктуры и сети;
  • неверно выбранная архитектура сервиса 1С;
  • неверно написанный код.

Поговорим о способах решения этих проблем.

Как ускорить 1С: варианты решения проблемы

1С – многослойный пирог, каждый слой которого важно рассматривать отдельно. Если 1С медленно работает, то начать нужно с аудита. Без него сложно понять, в какую сторону лучше «копать».

Хорошая новость: придется проводить аудит не всей IT-инфраструктуры компании, а только сервиса 1С. Во время аудита анализируются все компоненты сервиса, начиная с сети. Далее специалисты изучают работу серверов, дисков, памяти, процессоров, операционной системы, баз данных и т.д.

Если система мониторинга не внедрена или внедрена базово, можно поставить расширенные счетчики производительности, чтобы снимать параметры 1С в процессе работы сервиса. К тому же у самой 1С есть средства мониторинга, о них поговорим отдельно.

Проблемы медленной сети

Искать проблему нужно с самого низа, то есть с сети. С точки зрения производительности хорошо, когда сервис 1С размещен на одном быстром сервере (хоть это и не отказоустойчиво). Все компоненты находятся на одном сервере и не общаются по сети. Обмен между компонентами сервиса 1С происходит через оперативную память, а это быстро.

Часто (а при определенном размере компании – вынужденно) айтишники идут по традиционному пути – разносят SQL-сервер 1С на разные серверные хосты. Между серверами может быть медленная сеть: гигабит в час – уже не очень быстро, а 100 мегабит – совсем медленно. Из-за этого происходят огромные потери производительности.

Поэтому первая рекомендация – небольшим и средним компаниям при возможности нужно размещать все компоненты на достаточно производительном сервере. А если все же 1С и SQL разнесены по разным серверам – обеспечить быструю сеть между ними (10-25 гигабит в секунду).

Проблемы с серверным оборудованием и СХД

Второй момент – серверное оборудование и система хранения данных. К серверному оборудованию у 1С есть вполне официальные требования. Например, важно не количество ядер в процессоре, а их тактовая частота. Это фундаментальная основа, которую нельзя игнорировать.

Если не знать о такой особенности работы 1С, то при обращении к поставщику с просьбой подобрать сервер вам могут спихнуть оборудование, которое просто залежалось на складе. Даже если сервер будет мощным, с большим количеством ядер и памяти, 1С может работать медленно из-за недостаточной тактовой частоты процессора. Она должна быть не ниже 3 ГГц для комфортной работы.

Чтобы ускорить 1С, можно апгрейдить дисковую подсистему. RAID-массив из нескольких дисков распознается системой как единое хранение данных. При этом сами массивы могут быть разными: затратными и экономичными, быстрыми и медленными.

Оптимальный вариант для 1С – система RAID 10 (зеркалированный массив, где данные записываются последовательно на несколько носителей). Более экономичный вариант, который мы часто используем – RAID 6.

Конечно же, использовать нужно не медленные HDD, а SSD-диски, а лучше – более современные NVMe-диски. Простые HDD можно использовать для бэкапов, архивных файлов и т.д. Для баз – не имеет смысла.

Как ускорить 1С: Топ-10 способов для эффективной работы

Мало памяти? У вас будут проблемы с базами данных

Чем больше оперативной памяти, тем лучше. Идеально, когда вся база 1С помещается в оперативную память, но на практике это возможно только для небольших компаний. А у средних и крупных организаций базы настолько велики, что использовать огромное количество оперативной памяти экономически нецелесообразно.

Отметим, что не вся база активно используется. Например, из базы на терабайт используется только 100 гигабайт. И если такой объем будет помещаться в оперативке, то уже неплохо. А если в память поместится 30-40% базы – вообще отлично.

Чтобы понять, сколько процентов от всей базы активно используется, нужно провести дополнительное исследование. При этом важно не забыть про остальные компоненты. Для приложений, операционной системы и других ресурсов тоже нужна память. Для ускорения 1С грамотный айтишник должен позаботиться о том, чтобы памяти хватало и она была грамотно распределена.

Проблемы с системой виртуализации

Следующий пункт – потенциальный отказ от системы виртуализации. Это больше касается крупных инсталляций 1С. Бывает так, что те самые 5-7% производительности, которые съедает система виртуализации, становятся критичными, и их больше неоткуда взять.

В данном случае борьба за проценты – это отказ от системы виртуализации. Хоть это и снижает гибкость в управлении, но дает возможность получить дополнительный прирост производительности.

Например, очень крупный проект сделали наши коллеги для одного ФГУП, где в 1С было порядка 30 тысяч рабочих мест – просто огромное количество пользователей. В таких крупных инсталляциях для хорошей работы 1С приходится выжимать все ресурсы из оборудования. Поэтому пришлось отказаться от системы виртуализации.

В целом у разработчиков 1С существуют рекомендации к оборудованию, которых мы настоятельно рекомендуем придерживаться. Если что-то не работает должным образом, то при наличии компетенций можно поэкспериментировать и «пофиксить» проблемы, но лучше обратиться за помощью к экспертам.

Как оценить и улучшить производительность кода 1С

С точки зрения работы 1С, производительность может быть:

  • неудовлетворительной – неприятные симптомы проявляются постоянно;
  • недостаточной – симптомы есть, но возникают редко либо время от времени;
  • удовлетворительной, когда пользователи системы не жалуются на проблемы с производительностью. При этом работу системы все равно можно проверить, особенно если предстоит масштабирование.

Есть целая методика оценки производительности – APDEX. Подробно на ней не будем останавливаться, но важно, что скорость 1С можно и нужно оценивать именно по ней.

Прежде всего нужно убедиться в своевременном выполнении регламентных операций. Например, для самой распространенной СУБД Microsoft SQL Server нужно регулярно обновлять статистику, очищать процедурный кэш, фрагментировать индексы, реиндексировать таблицы базы данных и т.д.

Так, 1С рекомендует выполнять обновление статистик и очищение процедурного кэша не реже одного раза в день, а при необходимости частоту можно увеличить. В целом нужно придерживаться рекомендаций фирмы 1С.

Далее проводится анализ загруженности оборудования с помощью корпоративного инструментального пакета (КИП), в который входит подсистема под названием «Центр управления производительностью» (ЦУП).

Используя ЦУП, можно как проанализировать нагрузку на оборудование, так и выявить конкретные проблемные куски кода, и с ними целенаправленно работать. Хорошо, если проблема будет в «самописном» коде – так обычно и есть, кстати, поскольку компетенции «частных» разработчиков 1С бывают очень разными. Такой код проще переписать на более оптимальный. Хуже, когда проблема в коде самой 1С «из коробки». Тут нужны крутые компетенции.

Если в результате анализа будет выявлена чрезмерная загрузка оборудования, то производительность системы должна быть повышена путем аппаратного апгрейда. Если стоимость апгрейда неподъемна для компании или обновление оборудования не дало прироста производительности, то можно заняться оптимизацией кода.

Но важно понимать, что если проблема в «фундаменте» (мало процессоров, дисков или памяти), то анализировать код нецелесообразно. Конечно, можно выполнить глобальную оптимизацию, но она будет долгой, дорогой и не даст гарантированного результата.

Нарастить «железо» часто дешевле, чем анализировать код. Но этот путь не бесконечен – наступит момент, когда никаким аппаратным увеличением «железа» уже не получится добиться оптимальной производительности.

Оптимизацией кода занимается специалист 1С – эксперт по технологическим вопросам. Компетенция редкая и дорогая, ее точно следует аутсорсить. Когда вопрос упирается в производительность, привлекают именно таких специалистов, которые разбираются во всех нюансах работы системы 1С.

Например, эксперты могут настраивать индексы – специальные служебные данные, которые хранятся в СУБД и позволяют быстрее выбирать информацию из баз. Индексы заточены под определенные запросы. Если они настроены не оптимально, то можно увеличить количество индексов. Конечно, СУБД станет больше, но тот неоптимальный запрос, который тормозил работу 1С, будет выполняться быстрее.

Кроме того, эксперт по технологическим вопросам может оптимизировать соединения, минимизировать объем обрабатываемых данных в запросах и выполнять прочие действия, которые станут очевидны после аудита работы системы.

КИП и ЦУП – платные инструменты. Но в саму 1С также встроены бесплатные утилиты для поиска проблем и оптимизации быстродействия, и если у вашего специалиста хватает экспертизы, то он может самостоятельно настроить работу сервиса. Если же нужных компетенций нет, то не нужно стесняться привлекать внешнюю экспертизу – этот вариант чаще всего наиболее оптимальный и финансово оправданный.

Как ускорить 1С: Топ-10 способов для эффективной работы

FAQ

Собрали в кучу наиболее частые вопросы от клиентов ALP ITSM и «Компьютерных Технологий» по работе сервиса 1С.

Зависает сервер 1С, с базой работают 2+ пользователей. Как исправить?

Для улучшения производительности сервера 1С, обслуживающего двух и более пользователей, рекомендуется увеличить ресурсы сервера (ЦП, ОЗУ), оптимизировать настройки сервера и базы данных, а также провести проверку на наличие конфликтующих процессов.

1С зависает вследствие сбоев в базе данных. Как ускорить базу 1С?

Чтобы ускорить базу 1С, необходимо провести оптимизацию базы данных, очистку от неиспользуемых объектов и архивирование устаревших данных.

1C «тормозит» антивирус. Как исправить?

Для минимизации влияния антивируса на работу 1С следует настроить исключения для файлов и папок, используемых системой 1С, а также временно отключить сканирование в реальном времени.

1C зависает из-за журнала регистрации. Как ускорить 1С?

Для устранения зависания 1С из-за переполненного журнала регистрации необходимо регулярно очищать журнал, настроить его размер и периоды хранения данных.

1С зависает и тормозит на старых компьютерах и оборудовании. Что делать?

Чтобы предотвратить замедление работы 1С на старом оборудовании, важно рассмотреть возможность обновления компонентов компьютеров, таких как процессор, оперативная память и SSD.

1С зависает из-за забитого журнала регистрации или изменений в регламентных заданиях. Как ускорить 1С в таком случае?

В случае зависания 1С из-за забитого журнала регистрации или большого количества регламентных заданий рекомендуется периодически проводить аудит и очистку этого журнала, а также оптимизировать сам процесс регламентных заданий.

Топ-10 способов ускорить работу 1С

Вкратце обозначим основные методы ускорения 1С (некоторые мы не упоминали в статье, но они тоже существуют):

1. Оптимизация конфигурации

Проверьте настройки конфигурации и поправьте «кривой» код. Это может значительно улучшить производительность.

2. Обновление программного обеспечения

Банально, но обновите платформу 1С до последней версии. Обновления часто содержат оптимизации и исправления ошибок.

3. Аппаратное обеспечение

Проверьте характеристики сервера и рабочих станций. Увеличение оперативной памяти, использование SSD и более мощных процессоров (3+ Ггц) могут существенно увеличить скорость работы.

4. Настройка сети

Оптимизируйте сетевые соединения. Подумайте о проведении быстрой (10-25 Gbit) локальной сети и использовании проводных соединений вместо беспроводных.

5. Регулярное обслуживание базы данных

Периодически выполняйте дефрагментацию и очистку базы данных. Это поможет уменьшить размер файлов и ускорит доступ к данным.

6. Распараллеливание процессов

Если возможно, распределите нагрузку между несколькими серверами или используйте кластеризацию для увеличения мощности обработки данных.

7. Оптимизация отчетов и выборок

Перепишите сложные запросы или отчеты, сделайте их более эффективными, чтобы сократить время исполнения.

8. Кэширование данных

Используйте механизмы кэширования, если это возможно. Кэширование позволяет уменьшить количество обращений к базе данных.

9. Ограничение нагрузки

Измерьте и проанализируйте пользовательскую нагрузку на систему. Ограничьте количество одновременных подключений или запланируйте выполнение тяжелых процессов на время низкой активности.

10. Обучение пользователей

Обучите сотрудников правильному использованию системы. Иногда медлительность может быть вызвана неоптимальным использованием функционала программы.

Если после выполнения этих шагов проблема сохраняется, стоит обратиться к профессиональному консультанту по 1С для более глубокого анализа и диагностики.

Собрали для читателей пошаговый подход к оптимизации быстродействия 1С, а также клиентские кейсы.

И бонус для наших читателей, которые хотят больше узнать об оптимизации запросов и структуры данных, а также работе с блокировками и параллельностью 1С.

Как ускорить 1С: Топ-10 способов для эффективной работы
3030
88
22
11
11
11
11
11
78 комментариев

добавил еще 11 пункт - смена программиста или обслуживающей компании 1С. По моему опыту, иногда проблема в криворукости программиста 1С, который не знает как правильно писать запросы.

3
1

Да, как раз проблематика Юрия, соавтора. Сошлись с ним во мнении, что без наведения порядка в фундаменте (инфраструктуре) в код лезть рано и дорого.

3

Да, у нас есть несколько кейсов, когда компания пока была небольшой не уделяла внимания архитектуре и оптимальному коду в 1С. Потом подросли и в полной мере столкнулись с проблемами производительности. 1С становится узким местом в росте бизнеса. Приходится дорого платить за построение инфраструктуры с нуля. Хорошо сразу обращаться к профессионалам.

2

Сталкивались с тем, что 1С тормозит? Как решали?

2

Сам начинал свою ИТ-карьеру с франчайзинга 1С: сначала проходил обучение на Селезневской, потом сдавал экзамены получал сертификаты…
Прямо навеяло)))

2

Переходили в облачную инфраструктуру :)

1

Вот, и проснулся интерес…
к 1С!

2