Скорость работы 1С8 файловой по сети
База данных - HighLoad оптимизация
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Стал обращать внимание на следующие вещи.
1) Производительность компьютеров растет. Увеличивается частота процессора, память. Сейчас на компьютерах не редкость SSD. При этом растет скорость работы файловой 1С локально, а вот скорость работы по сети остается прежней. На старом и на новом железе загрузка сети в диспетчере примерно одинакова. И составляет 15%-20%.
2) Скорость работы 1С зависит от скорости сети:
У меня на ноуте при формировании отчета загрузку сети в диспетчере показывает: WiFi в районе 7Мбит/с, по витой паре - 15Мбит/с. Т.е. примерно теже 15% от 54 и 100 соответственно.
Приходилось работать с файловой базой по гигабитной сети. Ни каких цифр здесь не приведу, но ощущения от работы 1С намного лучше.
Из этих наблюдений ясно, что сеть - это узкое место.
Стал я пробовать оптимизировать сетевой стек netsh int tcp set global autotuninglevel=disabled и т.д.
Вносил изменения в реестр LargeSystemCache, DisablePagingExecutive, NtfsDisableLastAccessUpdate, NtfsDisable8dot3NameCreation, EnableOplocks, OplocksDisabled и т.д.
Пробовал работать через сетевую папку и сетевой диск.
Но особого увеличения производительности не было.
В результате поисков и экспериментов обнаружил, что формат базы 8.2.14 и размер страницы 4К.
Получить информацию о формате БД можно, запустив команду:
"C:\Program Files\1cv8\8.3.11.2867\bin\cnvdbfl.exe" -i D:\Base1S8\1Cv8.1CD
Изменил формат базы на 8.3.8 и размер страницы на 32К:
"C:\Program Files\1cv8\8.3.11.2867\bin\cnvdbfl.exe" -с -p 32K D:\Base1S8\1Cv8.1CD
Результат очень положительный. Отчет на ноуте формируется в 2-3 раза быстрее. Загрузка сети по WiFi - 32 Мбит/с, по витой паре более 50 Мбит/с.
Все замеры производились на толстом клиенте - конфигурации на обычных формах.
Мои наблюдения по управляемым формам:
Как минимум при переходе с 8.2.14 на 8.3.8-8К ничего не меняется. Как максимум может дать прирост производительности. У меня на веб-сервере перепроведение документов прошло на 20% быстрее. При этом процессор был более нагружен, чем при 8.2.14.
Дальнейшее увеличение размера страницы может дать отрицательный результат.
Про формат 8.3.8 можно почитать на ИТС:
https://its.1c.ru/db/metod8dev#content:5924:hdoc
Цитата:
"В новом формате (версии "8.3.8") появились следующие возможности:
- Уменьшен размер и оптимизирована структура заголовка с метаинформацией в файле 1Cv8.1CD. Это позволяет существенно снизить число операций чтения файла при открытии базы данных и, тем самым, заметно ускорить время старта и начала работы программы.
- Теперь можно настраивать размер внутренней страницы файла данных. Это размер порции данных, в которых хранится информация и которыми обменивается программа с файловой системой. Предыдущий формат файловой базы данных (версии "8.2.14") поддерживал единственный размер внутренней страницы файла – 4Кб. Новый формат по умолчанию использует размер страницы 8Кб, но позволяет его менять в диапазоне от 4Кб до 64Кб.
Наибольший эффект от использования нового формата файловых баз данных ожидается в следующих сценариях:
- "холодный" запуск программы,
- работа с файлами базы данных по локальной сети,
- работа с сильно фрагментированной базой данных,
- использование дисковых подсистем с невысокой производительностью.
При создании новых файловых баз данных рекомендуется использовать настройки формата базы по умолчанию (версия формата "8.3.8", размер страницы файла 8Кб). Если Вы используете базу данных, созданную в предыдущих версиях платформы, и наблюдаете недостаточно высокую производительность при старте и во время работы программы, то рекомендуется сконвертировать базу данных на новый формат файла."
Как видим из статьи, формат 8.3.8 дает нам весьма любопытные и интересные возможности.
P.S.
Перед любыми изменениями формата БД не забываем делать архивы.
Пробовать и экспериментировать лучше на копии.
Для тех кто хочет попробовать оптимизировать работу Windows прикрепил два файла:
win7net.cmd - сетевой стек, в Win10 запускать в PowerShell под админом.
Win7_1C.reg - твики реестра.
В файлах ряд параметров дублируется.
Ссылка на публикацию, где также затрагивается производительность 1С8:
//infostart.ru/public/964062/
Вступайте в нашу телеграмм-группу Инфостарт