Советы по автоматизации. Советы по автоматизации Медленно работает 1с 8.3 по сети
Зачастую пользователи жалуются на то, что «1С 8.3 тормозит»: медленно открываются формы документов, долго проводятся документы, запускается программа, долго формируются отчеты и так далее.
Причем такие «глюки» могут встречаться в разных программах:
Причины могут быть разные. Это не восстановлена проведения документов, слабый компьютер или сервер, неправильно сконфигурирован сервер 1С.
В этой статье я хочу рассмотреть одну из самых простых и распространенных причин медленной работы программы – . Данная инструкция будет актуальна для пользователей файловых баз на 1-2 пользователя, где нет конкуренции за ресурсы.
Если Вас интересует более серьезная оптимизация клиент-серверного варианты работы системы, посетите раздел сайта .
Где в 1С 8.3 регламентные задания
Не успел я загрузить программу, как в 1С выполнилось множество фоновых заданий. Посмотреть их можно, зайдя в меню «Администрирование», далее -«Поддержка и обслуживание»:
Получите 267 видеоуроков по 1С бесплатно:
Вот так выглядит окно с выполненными задачами:
А так полный список всех регламентных заданий, которые запускаются:
Среди этих задач видны такие, как « «, загрузка различных классификаторов, проверка актуальности версии программы и так далее. Например, мне ни к чему почти все эти задачи. Я не веду валютный учет, версии контролирую сам, классификаторы загружаю по необходимости.
Соответственно, в моих (и в большинстве случаев в Ваших) интересах отключить ненужные задачи.
Отключение регламентных и фоновых заданий в 1С 8.3
Система 1С занимает доминирующее положение на рынке автоматизации малого и среднего бизнеса. Если компания выбрала учетную систему 1С, то обычно в ней работают практически все сотрудники, начиная от рядовых специалистов и заканчивая руководством. Соответственно, от скорости работы 1С зависит скорость бизнес-процессов компании. Если 1С работает с неудовлетворительной скоростью, то это напрямую сказывается на работе всей компании и на получении прибыли.
Фактически существует три метода ускорения 1С:
- Увеличение аппаратных мощностей.
- Оптимизация настроек операционной системы и СУБД.
- Оптимизация кода и алгоритмов в 1С.
Первый метод требует покупки оборудования и лицензий, третий - больших трудозатрат программистов и, как следствие, оба пути выливаются в значительные финансовые затраты. В первую очередь нужно обратить внимание на программный код, так как никаким увеличением мощностей сервера невозможно компенсировать неверный код. Любой программист знает, что с помощью всего нескольких строчек кода возможно создать процесс, который полностью загрузит ресурсы любого сервера.
В случае, если компания уверена в оптимальности кода программы, а она по-прежнему работает медленно, обычно руководство принимает решение увеличить серверные мощности. В этот момент возникает логичный вопрос: чего не хватает, сколько и что необходимо в итоге добавить.
Компания 1С на вопрос о том, сколько нужно ресурсов, дает достаточно расплывчатый ответ, о нем мы писали ранее в наших постах. И поэтому приходится самостоятельно проводить эксперименты и разбираться, от чего же зависит производительность 1С. Ниже описаны эксперименты с производительностью программы в компании EFSOL.
При работе с 1С 8.2, особенно с конфигурациями, которые используют управляемые формы, был замечен странный факт: 1С работает быстрее на рабочей станции нежели на мощном сервере. Причем все характеристики рабочей станции хуже, чем у сервера.
Таблица 1 - Конфигурации, на которых проводилось первоначальное тестирование
Рабочая станция показывает производительность на 155% больше, чем сервер 1С с превышающими характеристиками. Мы начали разбираться, в чем дело и сужать круг поисков.
Рисунок 1 – Замеры производительности на рабочей стации тестом Гилева
Первое подозрение было, что тест Гилева неадекватен. Замеры открытия форм, проведения документов, формирования отчетов и т.д инструментами КИП показали, что тест Гилева выдает оценку пропорциональную реальной скорости работы в 1С.
Количество и частота ОЗУ
Анализ доступной в интернете информации показал, что многие пишут о зависимости производительности 1С от частоты памяти. Именно от частоты, а не от объема. Решили проверить эту гипотезу, так как у нас на сервере частота ОЗУ 1066 Mhz против 1333 Mhz на рабочей станции, а объем ОЗУ на сервере и так значительно выше. Решили поставить сразу не 1066 Mhz, а 800 Mhz для того, чтобы эффект зависимости производительности от частоты памяти был нагляднее. Результат – производительность упала на 12% и составила 39,37 единиц. На сервер поставили память с частотой 1333 Mhz вместо 1066 Mhz и получили незначительный прирост производительности – около 11%. Производительность составила 19,53 единицы. Соответственно, дело не в памяти, хотя ее частота дает небольшой прирост.
Рисунок 2 – Замеры производительности на рабочей станции после понижения частоты ОЗУ
Рисунок 3 – Замеры производительности на сервере после повышения частоты ОЗУ
Дисковая подсистема
Следующая гипотеза была связана с дисковой подсистемой. Сразу возникло два предположения:
- SSD лучше, чем SAS диски, пусть даже они в 10 рейде.
- iSCSI работает медленно или некорректно.
Поэтому в рабочую станцию поставили обычный SATA-диск вместо SSD, то же самое сделали и с сервером – базу разместили на локальном SATA-диске. В результате, замеры производительности никак не изменились. Скорее всего, это происходит, поскольку есть достаточное количество ОЗУ и диски практически никак не задействованы при выполнении теста.
Процессор
Процессоры на сервере, конечно, мощнее и их два, но частота немного ниже, чем на рабочей станции. Решили проверить влияние частоты процессора на быстродействие: для сервера процессоров с большей частотой под рукой не оказалось, поэтому снизили частоту процессора на рабочей станции. Снизили сразу до 1,6, чтобы корреляция проявлялась ярче. Тест показал, что производительность упала значительно, но даже с процессором 1,6 рабочая станция выдавала почти 28 единиц, что практически в 1,5 раза больше чем на сервере.
Рисунок 4 – Замеры производительности на рабочей стации с процессором 1,6 Ghz
Видеокарта
В интернете встречается информация о том, что на производительность 1С может влиять видеокарта. Мы пробовали использовать интегрированное видео рабочей станции, профессиональный адаптер Nvidia NVIDIA® Quadro® 4000 2 Gb DDR5, старую видеокарту GeForce 16MbSDR. Во время проведения теста Гилева какой-либо значительной разницы не заметили. Возможно, видеокарта все-таки влияет, но в реальных условиях, когда нужно открывать управляемые формы и т.д.
В данный момент существует два подозрения, почему рабочая станция работает быстрее даже с заметно худшими характеристиками:
- Процессор. Тип процессора на рабочей станции лучше подходит 1С.
- Чипсет. При прочих равных условиях наша рабочая станция имеет более новый чипсет, возможно, дело в нем.
Мы планируем закупить необходимые комплектующие и продолжить тесты, чтобы окончательно выяснить, от чего же в большей степени зависит производительность 1С. Пока идет процесс согласования и закупки, мы решили выполнить оптимизацию, тем более, что это ничего не стоит. Были выделены следующие этапы:
Этап 1. Настройка системы
Для начала выполним следующие настройки в BIOS и операционной системе:
- В BIOS сервера отключаем все настройки по экономии электропитания процессора.
- Выбираем в операционной системе план «Максимальная производительность».
- Процессор также настраиваем на максимальную производительность. Это можно сделать с помощью утилиты PowerSchemeEd.
Этап 2. Настройка SQL сервера и сервера 1С:Предприятия
Вносим следующие изменения в настройки сервера СУБД и 1С:Предприятия.
- Настройка протокола Shared Memory:
- Shared Memory включится только на платформе начиная с 1С 8.2.17, на более ранних релизах включится Named Pipe – несколько уступающий в скорости работы. Данная технология работает только если службы 1С и MSSQL установлены на одном физическом или виртуальном сервере.
- Рекомендуется перевести службу 1С в режим отладки, как не парадоксально это дает прирост производительности. По умолчанию отладка на сервере выключена.
- Настройка SQL сервера:
- Нам нужен только сервер, остальные службы, которые к нему относятся и, возможно, кто-то ими пользуется, только тормозят работу. Останавливаем и отключаем такие службы как: FullText Search (у 1С собственный механизм полнотекстового поиска), Integration Services и т.д.
- Устанавливаем максимально отведенное серверу количество памяти. Это необходимо для того, чтобы sql-сервер рассчитывал на этот объем и чистил память заблаговременно.
- Устанавливаем максимальное количество потоков (Maximum worker threads) и выставляем повышенный приоритет сервера (Boost priority).
Этап 3. Настройка рабочей базы данных
После того, как сервер СУБД и 1С:Предприятия оптимизированы, переходим к настройкам баз. Если база еще не развернута из.dt файла, и вы знаете примерный ее размер, то первичному файлу размер инициализации лучше сразу указать «>=» размера базы, но это дело вкуса, он все равно вырастет при развертке. А вот Автоувеличение размера надо обязательно указать: примерно по 200 МБ на базу и по 50 МБ на лог, т.к. значения по умолчанию – рост по 1МБ и по 10% очень сильно тормозят работу сервера, когда ему при каждой 3й транзакции надо файл увеличивать. Также хранение файла базы и файла лога лучше указать на разных физических дисках или RAID группах, если используется RAID массив, и ограничить разрастание лога. Рекомендуется выносить файл Tempdb на высокоскоростной массив, так как СУБД к нему довольно часто обращается.
Этап 4. Настройка регламентных заданий
Регламентные задания создаются довольно просто с помощью Maintenance Plan в разделе Management, используя графические инструменты, поэтому подробно описывать, как это делается не будем. Остановимся на том, какие операции необходимо выполнять для повышения производительности.
- Дефрагментацию индексов и обновление статистики нужно производить ежедневно, т.к. если фрагментированность индексов > 25%, это резко снижает производительность сервера.
- Дефрагментация и обновление статистики - делается быстро и не требует отключения пользователей. Также рекомендуется делать ежедневно.
- Полная реиндексация – делается с блокировкой БД, рекомендуется делать хотя бы раз в неделю. Естественно, после полной переиндексации сразу же делается дефрагментация индексов и обновление статистики.
В итоге, с помощью тонких настроек системы, SQL сервера и рабочей базы, нам удалось повысить производительность на 46%. Замеры были проведены с помощью инструмента 1С КИП и с помощью теста Гилева. Последний показал 25,6 единиц против 17,53 которые были изначально.
Краткий вывод
- Производительность 1С не сильно зависит от частоты ОЗУ. При достижении достаточного ее объема дальнейшее наращивание памяти не имеет смысла, так как не приводит к увеличению производительности.
- Производительность 1С не зависит от видеокарты.
- Производительность 1С не зависит от дисковой подсистемы при условии, что не происходит превышения очереди чтения или записи дисков. Если установлены SATA диски и у них не превышена очередь, то установка SSD не приведет к повышению производительности.
- Производительность довольно сильно зависит от частоты процессора.
- При грамотной настройке операционной системы и MSSQL-сервера возможно добиться увеличения производительности 1С на 40-50% без каких-либо материальных затрат.
ВНИМАНИЕ! Очень важный момент! Все замеры были выполнены на тестовой базе с использованием теста Гилева и инструментов 1С КИП. Поведение реальной базы с реальными пользователями может отличаться от полученных результатов. Например, в тестовой базе мы не обнаружили зависимости производительности от видеокарты и объема ОЗУ. Данные выводы достаточно сомнительны и в реальных условиях эти факторы могут оказывать существенное влияние на производительность. При работе с конфигурациями, использующими управляемые формы, видеокарта важна и мощный графический процессор ускоряет работу с точки зрения прорисовки интерфейса программы, визуально это проявляется в более быстрой работе 1С.
Ваша 1С работает медленно? Закажите ИТ-обслуживание компьютеров и серверов специалистами компании EFSOL с многолетним стажем или перенесите свою 1С на мощный и отказоустойчивый виртуальный сервер 1С .
Системная интеграция. Консалтинг
Симптомы пациента и анамнез:
Работа нескольких пользователей по сети с одним и тем же файлом (базой данных) включает механизм сетевой блокировки. Это заставляет систему тратить драгоценное время на выявление открытых сессий записи, и соответственно разрешение конфликтов.
Основные признаки работы блокировок:
- быстрая работа пользователя с базой по сети в монопольном режиме и крайне медленная - при одновременной работе нескольких пользователей
- быстрая работа пользователя с локальной базой на сервере и медленная - по сети
- обращения к файловой системе чуть менее 10 мбайт/сек
Итак, мне досталась задача - сделать так, чтобы в 1С могли одновременно работать целых три пользователя! Смешно, не так ли?
Все шуточки я забыл, когда увидел, с чем предстоит иметь дело: "сервер" в лице обычного офисного компьютера и два ноутбука.
Счастье было бы неполным, если бы не замечательные операционные системы - на компьютере и на одном ноутбуке Windows 7, на другом - Windows 8.
При попытке одновременно провести документы на ноутбуках один тупил около минуты, а второй вылетел из 1С с текстом ошибки "не удалось заблокировать таблицу...".
Запуск 1С на ноутбуке - это отдельное шоу, длившееся порядка 3 минут!
На многих ресурсах сталкивался с советом перейти на работу в терминальном доступе. К сожалению, Windows 7 не позволяет штатными средствами превратиться в сервер терминалов - максимум одно активное подключение. При этом остальные сеансы не прекращаются, можно переподключиться под другим пользователем - "выкинув" при этом предыдущего пользователя, но не завершив его сеанс. Поэтому следует перенести 1С на серверную ОС, где таких ограничений нет. Клиент на свой страх и риск решил проблему вместо этого с помощью сторонней утилиты Windows7_SP1_RDPhack.
Но на этом приключения не закончились. Даже в терминальном подключении остались значительные тормоза. Вновь меня выручили всемогущие поисковики. Ниже даны советы по ускорению файловой 1С, которым я последовал:
1. Отключить использование протокола сети IPv6 , настроить адресацию на "старом" IPv4.
2. Добавить процессы 1С в исключения брандмауэра Windows, а также в исключения антивируса, либо отключить их вовсе (более рискованно, но простой тест показал увеличение скорости перепроведения документов при отключенном антивирусе Avast в разы !)
3. Запустить индексацию полнотекстового поиска в 1С либо выключить его вовсе
4. Запустить Тестирование и исправление базы, проверку утилитой ChDbfl
5. Запустить в конфигурации пункт Проверка конфигурации (если конфигурация не типовая, это может быть полезным). По результатам проверки конфигурации она волшебным образом уменьшилась в размерах почти на треть. Что уж и как до меня обновляли приходящие программисты - особо не вникал, но факт налицо.
6. Отключить ненужные функциональные опции.
7. Настроить права пользователям. (Этот и предыдущий советы показались глупостью, до тех пор, пока я не понаблюдал за отрисовкой управляемых форм при открытии списка документов. Чем меньше лишнего в управляемом интерфейсе - тем, как правило, быстрее он работает)
8. Запустить пересчет итогов и восстановление последовательности (значительный прирост может быть только в случае, если долгое время итоги не восстанавливались)
9. Указать "Скорость соединения - низкая" в настройках списка баз (это особого результата не дало, разве что отключились картинки у подсистем:))
После выполнения всех этих шагов файловая база 1С заработала на порядок шустрее. Запускаться стала максимум секунд за 10, а скорость перепроведения документов увеличилась в среднем в 12 раз.
Возможно, эта небольшая статья пригодится и вам, если вдруг понадобится ускорить файловую базу 1С.
P.S: А запустить файловую 1С, используя сетевой доступ к общей папке - все же нереально, т.к. даше самый шустрый твердотельный диск, оперативная память и процессор уткнутся в сетевые блокировки, и работа более одного пользователя будет фактически невозможна. Речь идет конкретно о конфигурации УТ 11.1. Самописные небольшие конфигурации вполне могут работать весьма быстро даже в файловом варианте.
Дополнения из комментариев к публикации:
Дефрагментация диска с файловой базой
Свертка базы (может оказаться полезной, если база большого объема, например, за несколько лет). У клиента база была достаточно молодая, поэтому свертка была нецелесообразна.
Модернизация аппаратной части - более быстрый винчестер, новый свитч, процессор, и т.д.
Установить на веб-сервер , доступ с помощью тонкого клиента. Тут мнения разделились. Кто-то говорит, в разы быстрее, кто-то - что ускорения не отмечено.
После перехода с «1С: Бухгалтерии 2.0» на редакцию 3.0 скорость работы новой версии становится ниже. Эту проблему мы рассмотрим в данной статье и предоставим пошаговую инструкцию действий в программе «1С:Бухгалтерии 3.0», которая поможет сделать ее работу быстрее.
Как правило, причина в замедленной работе программы кроется в том, что в системе запущены регламентные и фоновые задания. В серверном варианте работы конфигурации версии 3.0 они позволяют автоматизировать многие операции по обслуживанию программы в не рабочее время. Но при файловом режиме работы запуск фоновых заданий происходит во время работы пользователя, в связи с чем работа системы замедляется.
Чтобы ускорить работу в файловом режиме «1С: Бухгалтерии 3.0», рекомендуется отключить фоновые задания. Чтобы это сделать, нам нужно обратиться к разделу Администрирование . В этом разделе в панели навигации находим Поддержка и обслуживание.
Открываем раздел Регламентные операции
и затем нажимаем на ссылку Регламентные и фоновые задания
.
Перед Вами появится список, в котором галочками отмечены активные (включенные) задания.
Для отключения задания, нужно его открыть и снять галочку с параметра «Включено»
, затем нажать кнопку Записать и закрыть
.
При работе в файловом варианте программы мы рекомендуем отключить все регламентные задания, присутствующие в списке. Еще одна возможная причина низкой скорости работы системы — включенный механизм Полнотекстового поиска
. Так как в программе 1С: Бухгалтерии 3.0 данный механизм является не обязательным, его можно отключить
. Чтобы это сделать, нужно в разделе Регламентные операции
убрать галочку Полнотекстовый поиск данных.
Как ускорить работу в 1С:Бухгалтерия 8.3 (редакция 3.0) или отключаем регламентные и фоновые задания
2019-01-15T13:28:19+00:00Те из вас, кто уже успел перейти на новую редакцию 1С:Бухгалтерия 8.3 (редакция 3.0) успели заметить, что работать она стала медленнее, чем двойка. Какие-то непонятные подтормаживания, бесконечные фоновые задачи по нескольку раз в день, которые её никто не просил выполнять без нашего ведома.
Мне мои бухгалтеры сразу после перехода так и заявили, что новая редакция 1С:Бухгалтерия 3.0 в сравнении с предыдущими откровенно тормозит! И работать просто невозможно.
Я начал разбираться и очень скоро выяснил, что основной причиной подвисаний и следовавшего недовольства пользователей являются регламентные и фоновые задания, многие из которых по умолчанию включены, хотя для абсолютного большинства бухгалтеров в них нет никакой необходимости.
Ну, например, зачем нам по сто раз в день запускать задачу "Извлечение текста", если мы не осуществляем полнотекстовый (бухгалтеры, не пугайтесь) поиск по всем объектам нашей базы.
Или зачем постоянно загружать курсы валют, если у нас нет валютных операций или мы делаем их изредка (и перед этим и сами можем нажать кнопку загрузить курсы).
То же касается и постоянной попытки 1С подключиться к сайту и проверить и обновить классификаторы банков. Зачем? Я и сам нажму кнопку обновить классификаторы, если не найду нужного банка по его БИК.
О том как это сделать по пунктам ниже.
1. Зайдите в раздел "Администрирование" и в панели действий выберите пункт "Обслуживание" ():
2. В открывшемся окне найдите и выберите пункт "Регламентные и фоновые задания":
3. Откройте каждое задание, у которого в колонке "Вкл." стоит галка.
4. Снимите отметку с пункта "Включено" и нажмите кнопку "Записать и закрыть".
5. Проделайте это с каждым из включенных заданий и наслаждайтесь новой редакцией. В целом, на мой взгляд, она гораздо лучше двойки.
При этом некоторые из отключенных вами регламентных заданий платформа всё-равно включит обратно.