AKERNEL1С
Блог / Серверы и железо / 1С тормозит: диагностика за 30 минут, прежде чем покупать новый сервер

1С тормозит: диагностика за 30 минут, прежде чем покупать новый сервер

10 сентября607 минАртем Кернель
1С тормозит: диагностика за 30 минут, прежде чем покупать новый сервер

Коллеги, привет!

Классический разговор: «У нас 1С тормозит, посоветуй сервер помощнее».

И вот тут я всегда торможу сам, потому что примерно в половине случаев железо ни при чём. Купит человек сервер за сто тысяч, перенесёт базу — и тормоза переедут вместе с ней. Знакомая история?

Поэтому предлагаю потратить полчаса на диагностику до того, как тратить деньги. Тридцать минут по этому алгоритму — и вы будете точно знать, куда упирается ваша 1С))

Почему не надо сразу бежать за железом

Тормоза в 1С бывают четырёх видов, и лечатся они принципиально по-разному:

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

Новый сервер лечит только первый пункт. Три остальных он не трогает вообще. А по моему опыту большинство обращений приходится как раз на второй и третий, которые чинятся бесплатно или почти бесплатно.

Так что порядок такой: сначала диагностика, потом покупка. Никак не наоборот.

Порядок диагностики: от бесплатного к дорогому, железо покупаем последним
Порядок диагностики: от бесплатного к дорогому, железо покупаем последним

Минута 0: три вопроса, которые экономят полдня

До того как что-то запускать, ответьте себе на три вопроса. Они сужают поиск вдвое.

Первый: тормозит у всех или у одного?
Если у одного — проблема на его машине или в его правах. Сервер тут ни при чём, идите смотреть его компьютер.

Второй: тормозит всегда или в определённое время?
Если каждый день в одно и то же время — почти наверняка регламентные задания или бэкап, который запускается в рабочие часы. Если в конце месяца — закрытие периода, это отдельная история.

Третий: тормозит вся программа или конкретная операция?
Если открывается всё нормально, а зависает только проведение одного документа или один отчёт — это код, а не железо. Никакой сервер не поможет.

Эти три ответа уже дают направление. Дальше проверяем по порядку.

Минуты 1-5: тест Гилева, цифра вместо ощущений

Первое, что надо сделать — получить объективное число. Потому что «медленно» у бухгалтера и «медленно» у программиста — это разные вещи.

Есть общепринятый бенчмарк — тест TPC-1C, он же тест Гилева. Бесплатная обработка, которая гоняет базу и выдаёт оценку в баллах.

Шкала для однопоточного теста:

БаллыОценка
около 10плохо
около 15удовлетворительно
около 35хорошо
60 и вышеотлично

Если у вас 8-10 баллов — да, у вас объективно медленно, и дальше есть что искать. Если 40 — проблема не в общей производительности, а в чём-то конкретном, и надо искать точечно.

Однопоточный тест хорош для файловых баз и небольшого числа пользователей. Для клиент-серверных есть отдельный многопоточный, он гоняет нагрузку через SQL.

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

Минуты 5-10: диспетчер задач, во что упираемся

Открываем диспетчер задач на сервере в тот момент, когда тормозит. Смотрим четыре вещи.

Процессор. Если загрузка стабильно под 90-100 процентов — упираемся в него. Но чаще бывает наоборот: процессор гуляет на 20 процентах, а всё равно медленно. Значит, дело не в нём.

Память. Смотрим, сколько свободно. Если система ушла в файл подкачки — это приговор производительности. Оперативка кончилась, всё стало упираться в диск.

Диск. Вот это самое интересное. Смотрите не на проценты, а на время отклика. Если активность диска висит на 100 процентах, а очередь растёт — вы нашли причину. Медленный диск — самая частая аппаратная проблема с 1С, гораздо чаще, чем нехватка процессора.

Сеть. Для файловых баз — критично. Для клиент-серверных обычно нет.

Правило простое: то, что уперлось в потолок, и есть ваше узкое место. Если ничего не уперлось, а тормозит — причина программная, и покупка железа денег не вернёт.

Минуты 10-15: антивирус, самая частая бесплатная причина

Дошли до моего фаворита.

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

Что надо сделать: добавить исключения для каталогов базы, для рабочих каталогов 1С, для временных файлов, для исполняемых файлов платформы и сервера. Для клиент-серверных — ещё и для файлов СУБД.

Проверить гипотезу можно за две минуты: отключите защиту в реальном времени на пару минут в нерабочее время и прогоните тест. Разница в два-три раза — обычное дело.

Только не оставляйте антивирус выключенным. Это проверка, а не решение. Решение — грамотные исключения.

Минуты 15-20: кеш, размер базы и регламентные задания

Три вещи из категории «состояние базы».

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

Размер базы. Посмотрите, сколько она весит. Если файловая база перевалила за 5 гигабайт — вы за границей комфортной работы, и никакие настройки этого не вылечат. Тут либо свёртка базы, либо переход на клиент-серверный вариант.

Регламентные задания. Загляните, что и когда у вас запускается. Классика жанра: обмен данными или пересчёт итогов настроены на рабочее время, и каждый день в 14:00 вся контора страдает. Переносится на ночь за пять минут.

Сюда же — бэкап. Если он делается в разгар рабочего дня и упирается в тот же диск, что и база, тормоза гарантированы.

Минуты 20-25: сеть и блокировки

Дальше развилка: смотрим разное в зависимости от варианта базы.

Для файловой базы главное — сеть. Файловая база по сети очень чувствительна к задержкам. Гигабитная сеть, нормальные коммутаторы, никаких Wi-Fi для рабочих мест. Через Wi-Fi файловая база работает отвратительно, и это не лечится ничем, кроме провода.

Проверьте заодно, не ходит ли кто-нибудь в базу через VPN на плохом канале — один такой пользователь может подтормаживать всех.

Для клиент-серверной главное — блокировки. Когда двое пытаются одновременно изменить одни и те же данные, один ждёт другого. Если ожидания копятся — работа встаёт.

Смотреть в журнале регистрации: события ожидания на блокировках и взаимоблокировки. Если их много — проблема не в железе, а в том, как написаны или настроены операции.

Минуты 25-30: замер производительности

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

В конфигураторе есть штатный Замер производительности. Запускаете его, выполняете медленную операцию, останавливаете. На выходе — список строк кода с временем выполнения каждой.

Дальше видно всё: если 90 процентов времени съедает один запрос в одной обработке, вопрос закрыт. Это не сервер, это код, и чинить надо код.

Для регулярного контроля есть APDEX — индекс удовлетворённости пользователей. Штука полезная, когда хочется не разово починить, а держать производительность под наблюдением: настраиваете ключевые операции и видите, как меняется время отклика неделя к неделе.

И более тяжёлый инструмент — технологический журнал. Он пишет подробности по каждому событию: длительность запросов, блокировки, транзакции. Штука мощная, но объёмная, включать её стоит уже прицельно, когда понятно, что искать.

Шпаргалка: симптом — причина — что делать

Собрал самое частое в одну таблицу.

СимптомВероятная причинаЧто делать
Тормозит у одного, у остальных нормальноМашина пользователя, кеш, праваСмотреть его компьютер, чистить кеш
Тормозит каждый день в одно времяРегламентные задания или бэкапПеренести на нерабочие часы
Медленно всё и всегда, диск на 100%Медленный дискПереезд на NVMe, разнести базу и бэкапы
Медленно всё, память кончиласьНе хватает оперативкиДобавить памяти или снять нагрузку
Ускорилось после отключения антивирусаНет исключенийНастроить исключения для 1С
Файловая база, тормозит по сетиСеть, Wi-Fi, VPNПровод, гигабит, убрать Wi-Fi
Тормозит одна операция, остальное летаетКод или запросЗамер производительности
Клиент-серверная, «зависает» на проведенииБлокировкиЖурнал регистрации, разбор ожиданий
Файловая база больше 5 ГБДостигнут потолок форматаСвёртка или переход на клиент-серверную

Когда железо действительно нужно

Раз обещал честно — вот случаи, когда сервер покупать таки надо.

Диск уперся, и это не бэкап. Если база живёт на обычном SATA-диске или, не дай бог, на HDD — переезд на NVMe даст разницу, которую видно сразу. Это самое выгодное вложение из всех возможных.

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

Выросло число пользователей. Было пять, стало пятнадцать — старое железо просто не рассчитано. Тут никакие настройки не помогут.

Файловая база перевалила за потолок. Переход на клиент-серверную обычно требует и более серьёзного сервера, потому что добавляется СУБД.

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

Чистите кеш своевременно - в этом вам поможет RuDesk Cleaner - программа для чистки ПК и сервера от лишнего мусора: временные файлы, кеш, браузерный мусор и т.д. Программа сама анализирует и удаляет по вашему хотению. Есть расписание чистки.

Если разбираться некогда

Как вы помните, я айти-специалист: собираю и настраиваю серверы, веду 1С для организаций.

Чем помогаем:

  • проводим диагностику и говорим прямо, в чём причина: железо, настройки, база или код. Без «вам нужен сервер подороже» в качестве универсального ответа;
  • чиним то, что чинится бесплатно — исключения антивируса, регламентные задания, кеш, сеть;
  • подбираем и разворачиваем сервер, если он действительно нужен, и переносим базу — это уже ИТ-поддержка организаций;
  • сопровождаем дальше, чтобы тормоза не возвращались через полгода.

Подробнее про сопровождение 1С: 1c.akernel.ru/services/podderzhka-1s

Прогоните тест Гилева и напишите результат — подскажу, куда копать, даже если чинить будете сами)


Читайте также: Какой сервер нужен под 1С: считаем ядра, память и диски — если по итогам диагностики выяснилось, что железо всё-таки надо менять.

11Дочитали
60Показы
Поделиться статьёй
0Telegram0ВКонтакте0Одноклассники0Поделиться в MAX
Ссылка скопирована

Комментарии

Комментариев пока нет. Будьте первым!

Оставить комментарий

Получить консультацию

Оставьте заявку и мы свяжемся с вами в течение 5 минут

Имя
Телефон
Email
Капча