Ускорение 1С:Предприятие 7.7 Ключевые слова: Тормозит 1С, медленно работает, дикие тормоза, долго загружается, падение производительности, как ускорить, тормозит база, Тормоза в сети
100% загрузка процессора при ожидании транзакции
Когда один пользователь проводит документ, а другой - тоже пытается проводить документ, то этот второй пользователь загружает сервер непрерывным опросом блокировки. Проблема характерна для 1С:Предприятие 7.7 (DBF и SQL) и файл-серверной версии 8.0. Подробнее:
Книга знаний: Исправление ошибки 1С:Предприятие 7.7/8.0 - 100% загрузка процессора при ожидании блокировки
Потеря производительности при подключении второго пользователя
При подключении второго (и последующего) пользователя к сетевой (не SQL!) базе 1С резко возрастает "торможение" 1С:Предприятие 7.7 при работе по сети. Причем, при отключении второго пользователя торможение сохраняется, до перезагрузки сервера.
Это особенность Windows NT/2000 - система не умеет кэшировать (сохранять в памяти) файлы при совместной многопользовательской работе по сети. Проблема описана в статье на диске ИТС (от фирмы 1С).
Способы задействовать файловый кэш:
- Установить сеть NetWare (где кэш работает нормально)
- Установить программу SuperCache (для некоторых конфигураций обещается ускорение в несколько десятков раз)
- Использовать жесткий диск со встроенным кэш-буфером и повышенной пропускной способностью (обычно – относительно дорогие модели SCSI)
Другие варианты действий:
- SQL-вариант 1С:Предприятие (при работе с базой SQL). Идеологически это самый правильный подход, однако, на практике он наталкивается на относительную дороговизну легальной установки, а также на ряд особенностей реализации по сравнению с DBF-вариантом 1С:Предприятие.
- Сервер терминалов (по сети передается только изображение экрана, клавиатура и мышь).
- http://infostart.ru/projects/?id=513 - DBEng32 - клиент/серверное использование DBFной версии 1С:Предприятие 7.7 (перенос на сервер CodeBase).
Долго стартует 1С
Проблема может быть связана с включенным антивирусом Касперского, который (в старых версиях) стремится проверить файл конфигурации (MD) 1С:Предприятие 7.7, причем, делает это несколько минут. Имеет смысл отключить проверку антивирусом файлов с расширениями MD, DD, DDS, DBF, CDX, LST, TMP.
Другой вариант – долго ищет ключ защиты. Нужно изменить файл NetHasp.ini, чтобы обращение шло к конкретному IP-адресу строго по протоколу TCP.
http://1c.alterplast.ru/faq/start.html
У Гения 1С был случай, когда 1С стартовала 2 минуты, потому что глобальный модуль был вынесен в текстовый файл и загружался через "#ЗагрузитьИзФайла".
Отключить сохранение времени последнего доступа к файлам
В NT это делается в параметрах устройства, в Windows 2000 – надо править реестр, а именно ключ
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem
Значение NtfsDisableLastAccessUpdate нужно определить (его по умолчанию нет), тип DWord, установка в единицу (1) запрещает сохранение.
http://www.mista.ru/articles1c/hare/article.45.html
Кеширование при записи
В проводнике выбрать диск -> Properties -> Hardware -> Properties ->Policies установить галку Enable write caching on the disk
Только если есть UPS!
Временная папка пользователя на локальном диске
Промежуточные результаты запросов 1С сохраняет в виде файлов DBF во временной папке пользователя (которая указана в настройках пользователя в Конфигураторе 1С).
Достаточно указать c:\temp или аналогичную папку, а не папку на сетевом ресурсе, чтобы промежуточные результаты сохранялись и использовались быстрее.
Отключение QoS
Утверждается, что таким образом можно выключить резервирование 20% пропускной способности сети. Однако, ссылка утверждает, что резервирования нет, если приложения его не запрашивают.
http://msk.nestor.minsk.by/kg/2004/01/kg40117.html
Сетевая карта Realtek
См. поиск на этом форуме по ключевому слову Realtek. Дефектная или неполноценная сетевая карта на сервере может резко влиять на производительность сети.
http://www.forum.mista.ru/find.php
Pit советует: «На сетевухах - попробуй согласованно поиграться с режимом Full Duplex - Half Duplex...»
Сетевая 7.7. Тормоза при нескольких пользователях
Оптимизация распределения памяти Windows
Существует, как минимум, две стратегии распределения памяти и процессорного времени: на серверных машинах память и процессор отдаются под сетевые службы, а на клиентских машинах память и процессор отдаются визуальным пользовательским приложениям. Если машина работает одновременно и как клиент, и как сервер (что не рекомендуется!), имеет смысл произвести ее более тонкую настройку, например, при помощи утилиты ConfigNT.
http://1c.alterplast.ru/faq/saved.html
http://confignt.ixbt.com/
Дополнительные действия в XP
Необходимо выключать индексирование и Автовосстановление диска с базой 1С.
http://www.sinor.ru/~my1c/knowhow/XP&1C.htm
Удаление 1cv7.cfg
При разрастании этого файла до нескольких мегабайт наблюдается торможение при работе пользователей в 1С.
Что в файл 1Cv7.CFG в 7.7 записывается?
Использование терминального режима
Если узкое место системы - сеть, то использование терминального режима - на машине пользователей стоят только терминальные клиенты, вся работа происходит на сервере. Ходят слухи, что для имеет смысл делать терминалку только для файлового варианта DBF, не SQL.
(Замечание от romix'a: Не рекомендуют смешивать на одном физическом сервере SQL и терминал. Если же сервера разные, то очень даже можно. Единственная проблема - 100% загрузка процессора при ожидании блокировки - успешно решается патчем [2] и, возможно, будет исправлена в релизах 1С 7.7 выше 25-го.)
Аналогично, если требуется запустить серьезную обработку (перепроведение, переиндексация), лучше это делать на сервере - будет работать быстрее.
Использование компоненты TURBOBL
Ускоряет работы модулей 1С (ускоряет именно внутренний язык 1С), автор Orefkov.
http://1c.proclub.ru/modules/mydownloads/personal.php?cid=5&lid=2419
Снижение транзакционной нагрузки
Некоторым образом можно снизить транзакционную нагрузку, если рассчитывать все движения документа и сохранять их в списке значений (каждому элементу соответствует таблица значений с движениями) в момент, когда пользователь нажимает кнопку ОК или Провести в форме. А при проведении документа брать движения из этой таблицы и записывать их в базу. Можно предусмотреть такую фичу и в программном проведении документа, не только в интерактивном.
Достоинства: снижается длина транзакции.
Недостатки: на время расчета не блокируется база, что может повлечь за собой неточности в движениях, например спишется один и тот же резерв.
См. также:
[1] Книга знаний: Перепроведение документов в 1С:Предприятие без блокировки других пользователей
[2] Книга знаний: Исправление ошибки 1С:Предприятие 7.7/8.0 - 100% загрузка процессора при ожидании блокировки |