1с низкая скорость соединения что это
- Бухгалтерский учет для государственных учреждений Казахстана, редакция 4.0;
- Бухгалтерский учет для государственных предприятий Казахстана, редакция 2.0;
- Бухгалтерия для Казахстана, редакция 3.0;
- Розница для Казахстана, редакция 2.0;
- Управление торговлей для Казахстана, редакция 3.0;
- Управление нашей фирмой для Казахстана;
- Зарплата и управление персоналом для Казахстана, редакция 3.0;
- и другие.
В большинстве небольших организаций используется файловая информационная база, причем в качестве сервера работает общая сетевая папка, расположенная на одном из пользовательских компьютеров. Общепринятым мнением является, что для «ускорения «1С» нужно либо использование терминального сервера, либо клиент-серверного режима. Все это — довольно дорогие лицензии, и для небольшой организации не всегда приемлемы. Поэтому, рассмотрим несколько рекомендаций и советов по оптимизации файловой «1С» при работе через локальную сеть.
Совет 1. Регулярное тестирование и исправление информационной базы поможет ускорить 1С
Информационная база «1С» — специфичная, но полноценная СУБД. Она, как и любая другая СУБД, требует регулярного обслуживания.
Внимание! Всегда, при любых необратимых действиях с базой «1С» необходимо провести процедуру резервного копирования.
Шаг 1. Копирование базы
Под пользователем с правом «Администратор», в режиме «1С:Предприятие» открыть: Администрирование – Обслуживание. Раскрыть блок «Резервное копирование и восстановление» и перейти по ссылке «Создание резервной копии». Далее, выбрать каталог для сохранения резервной копии и нажать кнопку «Сохранить резервную копию». Имя файла присваивается автоматически с указанием даты и времени создания копии, файл имеет расширение .zip.
Скопировать информационную базу можно и другим способом: закрыть «1С» на всех компьютерах и скопировать файл 1Cv8.1CD из каталога с информационной базы в каталог с архивным копиями.
Следует помнить! Выгрузка информационной базы в режиме «Конфигуратор» в DT-файл является механизмом для получения образа информационной базы независимо от способа хранения данных. Не стоит делать копию базы «1С» выгрузкой в DT-файл, потому что, если в базе данных есть нарушения, то некоторая информация может быть не выгружена. Подробнее о средствах копирования
Шаг 2. Тестирование и исправление информационной базы
Открыть базу в режиме «Конфигуратор» на «главном» компьютере. Меню «Администрирование» — «Тестирование и исправление». Проставить флаги в «Проверки и режимы»:
- Реиндексация таблиц информационной базы;
- Проверка логической целостности информационной базы;
- Проверка ссылочной целостности информационной базы;
- Пересчет итогов;
- Реструктуризация таблиц информационной базы.
Выбрать режим «Тестирование и исправление».
При наличии ссылок на несуществующие объекты: очищать ссылки.
При частичной потере данных объектов: удалять объект.
Частота выполнения: один раз в 2-4 недели.
Совет 2. Улучшение аппаратных компонентов компьютера
Конфигурации новых редакций на основе управляемого приложения более требовательны к ресурсам компьютера. Ресурсы компьютера, оказывающие первоочередное влияние на производительность «1С»:
- количество оперативной памяти;
- пропускная способность локальной сети;
- производительность дисковой подсистемы.
Оперативная память (ОЗУ)
Конфигурациям «1С» без управляемых форм было достаточно 120-250 Мб оперативной памяти, новым редакциям уже требуется не менее 500 Мб (на каждую открытую ИБ). Это стоит учитывать при планировании ресурсов для работы с «1С».
При недостатке оперативной памяти часть данных может быть выгружена в дисковый кэш. Но, ведь потребность в данных не изменилась, и выгруженная часть рано или поздно потребуется. В этот момент «1С» придется обращаться к медленному файлу подкачки и загружать эти данные уже в ОЗУ, выгружая временно ненужные.
В таких ситуациях значительно увеличивается нагрузка на дисковую подсистему, а работа пользователя в программе «1С» становится крайне некомфортной.
Минимальный объем ОЗУ на компьютере для работы с «1С»: 2 Гб. Но, следует помнить, что помимо «1С» на компьютере наверняка будет открыт браузер, какие-либо офисные документы, антивирусные программы и другое.
Локальная сеть
При работе с файловыми информационными базами «1С» важнейшим фактором быстродействия является пропускная способность локальной сети и ее стабильность, ведь приходится перемещать значительные объемы данных. У большинства небольших организаций локальная сеть построена на базе дешевого и устаревшего оборудования, обеспечивающего теоретическую скорость в 100 Мбит/с.
Как происходит запуск «1С» через локальную сеть? Клиентский компьютер закачивает во временную папку довольной большой объем информации. Причем, первый в первый запуск требует большего количества, чем последующие (при последующих запусках часть данных сохраняется в кэше). Логично, что в итоге «1С» упрется в пропускную способность канала.
«1С» через Wi-Fi — плохо!
Не использовать нестабильное беспроводное соединение Wi-Fi, особенно при плохом уровне сигнала. В большинстве случаем Wi-Fi сеть не обеспечивает должной пропускной способности и стабильности.
Нужна стабильная сеть
Проверить стабильность соединения до основного компьютера: простейшая команда ping (ip-адрес-основного-компьютера) -t покажет общую картину.
Сетевой канал может резко терять стабильность на больших пакетах. Если обычная команда ping не выявляет потерь, то есть смысл проверить так:
ping server -n 100 -l 50000
Если, при просмотре результатов, обнаружены потерянные пакеты, или время ответа растет, достигая достаточно больших значений, это значит, что в сети есть ошибки.
Пример «плохой» локальной сети
ping server -t
Обмен пакетами с server [192.168.1.101] с 32 байтами данных:
Ответ от 192.168.1.101: число байт=32 время=1мс TTL=128
Ответ от 192.168.1.101: число байт=32 время=1мс TTL=128
Ответ от 192.168.1.101: число байт=32 время=2мс TTL=128
Ответ от 192.168.1.101: число байт=32 время=2мс TTL=128
Ответ от 192.168.1.101: число байт=32 время=19мс TTL=128
Ответ от 192.168.1.101: число байт=32 время=8мс TTL=128
Ответ от 192.168.1.101: число байт=32 время=1мс TTL=128
Ответ от 192.168.1.101: число байт=32 время=1мс TTL=128
Ответ от 192.168.1.101: число байт=32 время=2мс TTL=128
Ответ от 192.168.1.101: число байт=32 время=5мс TTL=128
Ответ от 192.168.1.101: число байт=32 время=8мс TTL=128
Ответ от 192.168.1.101: число байт=32 время=5мс TTL=128
Ответ от 192.168.1.101: число байт=32 время=10мс TTL=128
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Ответ от 192.168.1.101: число байт=32 время=1мс TTL=128
Ответ от 192.168.1.101: число байт=32 время=2мс TTL=128
Ответ от 192.168.1.101: число байт=32 время=4мс TTL=128
Ответ от 192.168.1.101: число байт=32 время=19мс TTL=128
Ответ от 192.168.1.101: число байт=32 время=3мс TTL=128
Пример «хорошей» локальной сети
ping server -t
Обмен пакетами с server [192.168.1.101] с 32 байтами данных:
Ответ от 192.168.1.101: число байт=32 время Ответ от 192.168.1.101: число байт=32 время Ответ от 192.168.1.101: число байт=32 время Ответ от 192.168.1.101: число байт=32 время Ответ от 192.168.1.101: число байт=32 время Ответ от 192.168.1.101: число байт=32 время Ответ от 192.168.1.101: число байт=32 время Ответ от 192.168.1.101: число байт=32 время Ответ от 192.168.1.101: число байт=32 время Ответ от 192.168.1.101: число байт=32 время Ответ от 192.168.1.101: число байт=32 время Ответ от 192.168.1.101: число байт=32 время Ответ от 192.168.1.101: число байт=32 время Ответ от 192.168.1.101: число байт=32 время Ответ от 192.168.1.101: число байт=32 время Ответ от 192.168.1.101: число байт=32 время Ответ от 192.168.1.101: число байт=32 время Ответ от 192.168.1.101: число байт=32 время Ответ от 192.168.1.101: число байт=32 время Ответ от 192.168.1.101: число байт=32 время Ответ от 192.168.1.101: число байт=32 время
Работать через «тонкий клиент»
С конфигурациями на основе управляемого приложения можно и нужно работать через тонкий клиент.
«Тонким» клиент называется потому, что умеет исполнять ограниченный набор функциональности встроенного языка. В частности на тонком клиенте недоступны все прикладные типы данных. Вместо этого тонкий клиент оперирует ограниченным набором типов встроенного языка, предназначенным лишь для отображения и изменения данных в памяти. Вся работа с базой данных, объектными данными, исполнение запросов – выполняется на стороне сервера. Тонкий клиент только получает готовые данные, подготовленные для отображения.
Пропускная способность 1 Гбит/с
Новые конфигурации «1С» запускаются при работе в локальной сети с пропускной способностью 1 Гбит/с в 3-4 раза быстрее. Даже при достаточно большой нагрузке (например, групповое перепроведение) прирост в скорости работы сохраняется.
Дисковая подсистема
Существует миф, что если расположить информационную базу на твердотельном быстром SSD-диске, то даже у сетевых пользователей комфорт от работы улучшится. Однако, это не так. Дело в том, что производительность для сетевых пользователей упрется в пропускную способность сети и «железо» клиентских компьютеров, SSD-диск ускорит работу только на основном компьютере. Медленный диск способен замедлить некоторые операции, но сам по себе являться причиной «торможения» программы не может.
«Лайфхак» по ускорению выполнения задач, зависящих от процессора
Возможно это будет открытием, но операционная система Windows старается по максимуму экономить потребление электроэнергии уменьшая тактовую частоту процессорных ядер. Эта «экономия» в некоторых ресурсотребовательных задачах может приводить довольно к большим задержкам, а экономия малозначительна.
Панель управления — Все элементы управления — Электропитание — поставить флаг «Высокая производительность» — ОК. Так же имеет смысл пройти по ссылке «Настройка схемы электропитания» — «Изменить дополнительные параметры питания» — «Отключать жесткий диск через: 0»; «Управление питанием процессора» — «Минимальное состояние процессора: 100%».
Совет 3. Настроить работу в связке 1С+веб-сервер
Работа с файловой базой данных через веб-сервер возможна с помощью тонкого клиента или веб-клиента. Но, лучше использовать тонкий клиент. Он быстрее чем браузер примерно на 20%, а также может использовать локальные лицензии. Веб-клиент может использовать только клиентские лицензии сервера.
При работе с «1С» через веб-сервер нагрузка на локальную сеть снижается в разы и перестает быть «узким местом». Однако, повышаются требования к «железу» сервера, ведь модуль веб-сервера большую часть работы по обслуживанию клиентских подключений берет на себя (в среднем, веб-сервер Apache при работе с одной ИБ и 3-5 пользователей использует 1 Гб оперативной памяти).
Установка веб-сервера Apache 2.4 для «1С»
Следующим шагом необходимо добавить в системную переменную Path путь к каталогу с веб-сервером. Для этого необходимо зайти: Панель управления — Все элементы панели управления — Система — Дополнительные параметры системы — кнопка «Переменные среды». В поле «Системные переменные» найти переменную Path, выделить ее, и нажать кнопку «Изменить». Добавить в конец строки разделитель значений ; и путь к веб-серверу D:\www\Apache24\bin .
Чтобы завершить установку веб-сервера Apache необходимо установить его службой в операционную систему: запустить командную строку cmd с правами администратора и выполнить следующую команду:
Публикация базы «1С» на веб-сервере
Первое, необходимо установить компонент «Модули расширения веб-сервера», если это не сделано заранее. Для этого отметить соответсвующий пункт в окне выбора компонентов при установке/изменении технологической платформы «1С:Предприятие».
Второе, запустить «1С» от имени «Администратора», открыть базу в режиме «Конфигуратор» — Администрирование — Публикация на веб-сервере.
Заполнить несколько полей:
- Имя — необходимо заполнять только латиницей. Никаких кириллических символов, а так же пробелов быть не должно. Допускается символ нижнего подчеркивания _ . В нашем примере имя будет buh1 ;
- Каталог — путь к каталогу публикации, в нашем примере можно использовать подкаталог в D:\www\pub1 . Так же запрещено использовать кириллические символы в наименованиях каталогов.
Третье, нажать кнопку «Опубликовать». После успешной публикации необходимо вручную перезапустить службу Apache2.4, т.к. платформе «1С:Предприятие» не всегда корректно удается перезапустить веб-сервер.
Важно! Для публикации нескольких информационных баз «1С» необходимо давать уникальные имена и каталоги. Публикация в один каталог будет затирать предыдущую.
Доступ к опубликованной базе с других компьютеров
Статический ip-адрес
У сервера должен быть статический ip-адрес. Ведь, если главному компьютеру будет назначен другой ip-адрес, то клиентские компьютеры не смогут получить доступ к информационной базе.
Блокировка порта веб-сервера
По умолчанию, в настройках брандмауэра Защитника Windows (и других антивирусных продуктов со встроенным фаерволом) запрещен доступ к порту 80. Что бы «1С» смогла подключиться к веб-серверу главного компьютера необходимо добавить правило входящего подключения к порту веб-сервера: Панель управления — Все элементы панели управления — Брандмауэр Защитника Windows — Дополнительные параметры — Правила для входящих подключений — Создать правило. Указать следующие параметры: Для порта, Протокол: TCP, Определенные локальные порты: 80 Разрешить подключение, для всех профилей локальной сети (доменный, частный, публичный). Указать понятное имя для правила, например «1C Apache 80».
Выводы
Все описанные выше рекомендации способны в разы улучшить стабильность и комфорт при работе с файловыми базами «1С» по локальной сети. Но для настройки того же веб-сервера требуются технические навыки и понимание работы компонентов компьютера и локальной сети. Не всегда в штате небольшой организации есть квалифицированный технический персонал. Поэтому, если вам необходима помощь в решении подобных проблем заполните заявку ниже, и мы постараемся вам помочь.
В поле «дополнительная информация» пожалуйста укажите регистрационный номер программного продукта «1С», используемого в вашей компании и постарайтесь подробно описать вашу проблему.
В приложениях "1С:Предприятие 8" предусмотрена возможность оптимизации работы при использовании медленных каналов связи, в том числе, при подключении к Интернету через сотовую сеть.
Ускорение работы приложений достигается за счет применения комплекса мер, снижающих объем передаваемых данных и, одновременно с этим, уменьшающих количество обращений к серверу.
Если вы используете низкоскоростные каналы связи, то для ускорения работы рекомендуем вам включить режим оптимизации. Для этого выполните несколько простых шагов:
- Запустите рабочее приложение;
- Раскройте Главное меню 1С и выберите команду Сервис / Параметры.
- В открывшемся диалоговом окне Параметры установите флажок Устанавливать режим низкой скорости соединения при запуске и нажмите кнопку ОК.
- Закройте приложение, а затем вновь запустите его.
При повторном запуске, приложение начнет работать в режиме низкой скорости соединения, при котором скорость работы и объем трафика будут оптимизированы за счет уменьшения количества обращений к серверу и отказа от пересылки избыточной информации.
Внешне установка режима низкой скорости соединения проявляется заменой картинок на пиктограмму на панели разделов.
При запуске приложения будут показываться команды рабочего стола и пустая рабочая область, на которой содержится гиперссылка Показать рабочий стол. Если вам потребуется работа с формами рабочего стола, нужно открыть его по этой ссылке. Кроме того, при выборе из списков в поле ввода и при вводе по строке данные будут считываться из базы данных не каждый раз, а, по возможности, доставляться из ранее полученной информации (которая хранится в кэше).
Следует помнить о том, что, если в приложении появляются новые данные, они будут отображаться в списках не сразу. Поэтому, для просмотра необходимо принудительно обновить список при помощи команды Обновить или нажатием клавиши F5 в форме списка выбора.
Также, если вы привыкли выбирать данные из списков путем ввода первых букв искомого объекта, то надо иметь в виду, что варианты выбора автоматически не предлагаются. Чтобы открыть список вариантов, следует нажать клавишу Стрелка вниз.
1С запускается по две минуты? Журнал документов открывается по 40 секунд? Документ проводится почти минуту?
Знакомая ситуация, если вы используете файловую версию с сетевым доступом. Самый распространенный совет - ставить сервер, и забыть про тормоза.
Но как быть, если в 1С у вас всего работает 2-3 человека, и тратить деньги на покупку серверных лицензий - явно невыгодно?
В данной статье рассмотрены несколько практических шагов, которые были предприняты у клиента для ускорения работы файловой базы.
Платформа 1С 8.3, управляемые формы, тонкий клиент, база - Управление Торговлей 11.
Симптомы пациента и анамнез:
Работа нескольких пользователей по сети с одним и тем же файлом (базой данных) включает механизм сетевой блокировки. Это заставляет систему тратить драгоценное время на выявление открытых сессий записи, и соответственно разрешение конфликтов.
- быстрая работа пользователя с базой по сети в монопольном режиме и крайне медленная - при одновременной работе нескольких пользователей
- быстрая работа пользователя с локальной базой на сервере и медленная - по сети
- процессор на сервере почти не занят
- загрузка гигабитной сетевой карты меньше 5%
- обращения к файловой системе чуть менее 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) Производительность компьютеров растет. Увеличивается частота процессора, память. Сейчас на компьютерах не редкость 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.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 - твики реестра.
В файлах ряд параметров дублируется.
Долго гадал, почему из трех практически идентичных компьютеров Core I7 одного и того же поколения 1С на двух работает быстро, а на третьем существенно медленнее.
Так как там серверная БД, пришлось серьезно вникать в анализ производительности БД, купил даже курс
"Ускорение и оптимизация систем на 1С:Предприятие 8.3" и кстати не сочтите за рекламу - очень доволен остался. Парни просто профи в вопросе и умении излагать материал.
По советам из этого курса внедрил подсистему, фиксирующую время выполнения операций и стал изучать на 3х секундном процессе открытия определенной формы сколько тратится на запрос БД /процессорную обработку / Передачу данных на клиент.
Начал анализировать, у каких пользователей, в какое время, с какого сервера/клиента получается быстро или медленно.
Конечно же, поменял сервера местами, снова измерил время работы и выяснил что одинаковые сервера с чрезвычайно похожими сетапами дают разное время открытия формы. Хоть тресни.
Пошел к бородатому и чрезвычайно толковому сисадмину, рассказал про этот парадокс и он дал ответ, от которого во мне что-то перевернулось.
А я говорит, в одном сервере на днях в настройках электропитания поставил режим "Высокой производительности". Ну или в дополнительных параметрах питания, нашел раздел "Управление питанием процессора" - "Минимальное состояние процессора" - и поставил настройку 100%
Каково же было мое удивление, когда я замерил скорость открытия формы.
Я думаю, пояснять этот график не надо.
Конечно, грамотный айтишник скажет, что еще в БИОС надо выставлять максимальную производительность процессора, что бы в Windows уже не требовалось за этим следить. Но для сервера лезть в БИОС это целая история, причем ночная. А изменить сделать предложенную настройку настолько просто и очевидно - что стало стыдно за то, что потребовалось так много лет, что бы дойти до этой простой истины.
Ну и на всякий случай перечислю другие рекомендации, что записал для себя как обязательные..
- Использование скоростного SSD (можно SATA3, можно M.2)
- Запас оперативной памяти
- Windows тоже ставить на SSD или же обязательно переносить на SSD диск
- файл подкачки
- КЭШ сервера 1С (в реестре отредактировать команду запуска сервера)
- Терминальных пользователей вынес в отдельную виртуальную машину (тоже на SSD)
- Если используем решения на "обычных формах" - то никакой PostgreSQL - только MS SQL (Реагирую на гневный комментарий. - дело, конечно не в формах, а в технологии запросов, которые применялись в старых конфигурациях, когда допускалось соединение виртуальных таблиц без их предварительной записи во временную таблицу).
- Если решение на управляемых формах, то используем Web сервер для доставки приложения. Особенно заметно на файловых базах - ускорение получается даже на том компьютере, где лежит эта база (что казалось бы парадокс). А у сетевых клиентов - просто космос.
- Регулярное тестирование БД с пересчетом итогов.
- Если SQL - не забываем про регламентное обслуживание SQL базы.
Специальные предложения
SerVer1C; papami; vadimlp77; Дмитрий74Чел; mirco; sevushka; WellMaster; user921389; kuzyara; 24rus; dandykry; akimych; starik-2005; + 13 – Ответить
Кэп, кэп, кэп. Про это уже написано, рассказано. много много.
Перепечатка курса?
Про pg vs ms хрень полная. Автор выставляет себя дилетантом. И как можно путать формы, режим приложения и режим блокировок?
Про Postgre vs MS не хрень. Выполнение запросов в старых конфигурациях, где не используют временные таблицы, а делают сразу объединение виртуальных таблиц на postgre делается неэффективно и по времени в 3-5 раз медленнее. Это зафиксировано в официальной документации и хорошо видно при формировании прайс листа в УТ 10 в двух разных sql.
(4) Попробую угадать. Вам не понравилось упоминание о неэффективности использования PostGre на приложениях с обычными формами. Что ж. Это понятно. Здесь, вероятно, надо было указать длинную цепочку событий:
Обычные формы -> это старые конфигурации -> 1С в старых конфах использовала старую методологию в запросах -> В таких конфигурациях не редкость объединение виртуальных таблиц без их предварительного выделения во временные -> PostGre медленно работает, если использовалась эта "старая" методология. -> в старых конфах PostGre не эффективен.
(5) только наверно не объединение, а соединение)
Я за точность высказываний. Чтобы человек, не понимающий темы не делал смысловой привязки к формам. Потому что этим человеком может оказаться заказчик, который увидит ОФ и сделает абсолютно идиотский вывод плохой работе ПГ.
Спасибо за исправление. Извините за резкость и "гневность")))
Я рад, что у вас глубокие знания и опыт. Но нужна ответственность перед более неопытными коллегами за каждое свое слово. Поэтому давайте не оставлять за кадром такие важные моменты, тем более в статье.
Справедливости ради замечу, что такой сильной корреляции между формами и качеством запросов я не замечал. Наверно потому что в УФ ПГ тоже часто отказывается работать. Соединения со срезами, по два полных соединения в запросе и т.д. Последние конфигурации для РФ вроде хороши, но локализованные решения или сильно отстают, или сделаны некачественно. Поэтому для меня нет такой аналоги с формами и не будет никогда.
Делается уже на автомате, когда в плане энергосбережения ставишь Высокая производительность, чтобы компьютер не засыпал.
(8) Я только ЗА.
Если кто-нибудь напишет утилиту или скрипт позволяющий делать подобные настройки на этапе установке сервера 1С в автоматическом режиме, было бы замечательно.
(9) Если кто-нибудь напишет утилиту. Остальные будут бояться ее запускать. Особенно в эпоху вирусов-шифровальщиков.
Капитан очевидность, приветствую тебя
Надо было для начала стартовать 1С с дискеты, тогда в заголовке можно было написать - Элементарный способ ускорить вашу 1С в миллион раз!
Спасибо автору, наткнулся на публикацию буквально в тот момент, когда у меня выполнялась ресурсозатратная операция. Настроил сервер - сэкономил время.
Может конечно и очевидные вещи. И уже об этом говорилось ранее.
Но я пробовал изменял параметры энергосбережения и не могу сказать, дало мне это изменение какой-то эффект или нет.
Автор провел практическую работу, сделал замеры и говорит, что есть положительный эффект.
Поэтому публикация однозначно +.
Бородатый админ - маст хэв!
Вообще, про режим высокой производительности я пишу в комментариях примерно раз в неделю - до сих пор, оказывается, есть народ, который не знает, почему это 1С (и не только) начинает работать быстрее раза этак в два. Автор, ты-то хоть знаешь, почему?
(18)А на файловых базах поможет? Часто для скорости приходится что-то тестировать до того, как на сервер обновления загружат.
Поможет, если алгоритм написан неоптимально. Т.е. процесс обработки данных сменяется процессом получения данных из хранилища. Если такое поведение в алгоритме частое (пример - запрос в цикле), то даже на файловой системе данная операция повысит производительность (хоть и не в два раза). Если же сначала все данные выбираются, потом обрабатываются, потом записываются в систему, то изменения будут не такими большими, но тоже будут - интерфейс начнет реагировать быстрее на действия пользователя.
Интересная и полезная статья. Новый, достаточно сложный материал изложен грамотно и доходчиво! Автор, огромное спасибо.
. Читая автора сложилось впечатление, что курс только куплен, но не пройден (с домашними заданиями), т.к. в данном курсе о данной настройке так же говориться.
PS Я, про "Этот курс" . Спасибо за курс Андрею и всей команде портала за его доступность, как в денежной, так и в интеллектуальной составляющей.
А сколько Алексея ждет открытий когда он научится план запроса анализировать, да виртуалку настраивать.
Спасибо за статью! В жизни всегда так - пока сам не разберешься, никто помочь не может, а как разберешься так сразу баян! Никого не слушай, особенно тех кто про баяны поет. Правильно сделал, что статью написал.
Мастерство заголовка, блин.
"Где можно натупить с настройкой сервера и просесть в производительности в два-три раза" - было бы ближе к телу.
На всякий случай. M2 это форм-фактор диска(даже семейство форм-факторов), а sata - протокол. Есть, и не мало, ssd в форм-факторе m2, которые работают по протоколу sata.
Более быстрый протокол называется NVM.
В принципе все очевидно, но напомнить никогда не мешает. Статья кратенько так написана, в самый раз чтобы вспомнить. Автору плюс. По PG vs MS можно подробнее, где и что написано, кто проводил замеры?
Замеры проводил я лично. А где написано - искать надо. Год назад это очень внимательно изучал. Теорию уже не найду, а практику - очень легко воспроизвести самому.
(40) Это значит, что в реестре нужно найти ветку [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.1 Server Agent] в которой лежит команда запуска сервера ImagePath = "C:\Program Files (x86)\1cv8\8.3.13.1644\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files (x86)\1cv8\srvinfo" -debug
Кстати именно в ней мы ставим флаг -debug.
Посмотрев внимательно на эту строку увидим такой поддекст: -d "C:\Program Files (x86)\1cv8\srvinfo". В этом каталоге вы как раз и найдете "серверный" кэш всех использовавшихся вами баз.
(41) обычно debug я ставлю в такой последовательности, и отладка работает: "C:\Program Files\1cv8\8.3.13.1644\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -debug -d "C:\Program Files\1cv8\srvinfo"
Имеется ввиду что кэш можно перенести на другой диск ускорив тем самым работу сервера?
(42) Сам по себе перенос кэша имеет смысл только если системный диск перегружен, а диск на который переносите - способен работать в разы быстрее.. Что касается порядка команд - это едва ли имеет значение.
Когда я работал серваком ИТС в давние, но, не очень, времена, у одного клиента комплексная автоматизация 1.1 на ноутбуке(впарили чуваку на одно рабочее место, а, он кроме накладных в ней ничего и не делал, что, впрочем, на время обновления не влияло, поскольку, ноутбук был не из дорогих и быстрых), обновлялась около часа
Ну, обновлялась бы и обновлялась, у клиента положено быть не больше часа, пить кофе и болтать, так что укладывался во время. Но, райончик был "густонаселенным" клиентами, а, работа сдельная, сколько оббежишь столько и твое. И, вот, как в сабже, от нечего делать, копался винде во время зависшего процесса обновления и в диспетчере случайно обнаружил что двухгигагерцевый процессер работает на частоте 0,9 ГГц. мне это не понравилось и, малость нагуглив, узнал что это из - за экономичного плана питания. Недолго думая, залез и выставил наилучшую производительность, подняв вышеупомянутый параметр состояния процессора до 100%
Частота тут же подпрыгнула к 2ГГц как положено, а, зависший процесс обновления отвис буквально через несколько минут(перешел к следующему действу"обновить конфигурацию базы данных?"), а, еще минут через пять с конфигурацией базы данных благополучно справился и предложил принять изменения. ну, клиенту не сказал ничего про эту находку, а, повесил лапшу что новые обновления теперь ставятся быстрей чем раньше
Ну и после обновления питание вернул на место, чтобы, на всякий случай клиент не офигел от быстрого разряда батареи)))
Так короче и делал, приходил, включал перформанс, уходил - выключал
И не только у этого клиента
(44) Спасибо, может пригодится. Но я бы рекомендовал таки оставлять "100% перфоманс". Клиент, уверен, будет только в выигрыше.
спасибо полезная статья."тошнотики" и "умники" как всегда отличились.У кого корона шире так и не поняли,за то все умные учителя-"дилетант","капитан очевидность",прочие задросткие выражения ботаников самоучек.
Автор спасибо за статейку!
А вот, кстати, додавил переход на Linux у нас в конторе для отдельного чудо-"сервера" (машинка с 64-мя гигами на райзене 3600-м с памятью 3333). Сегодня коллега протестил - в Гилеве 120. Ладно, думаю, протестирую на клиент-сервере (режим сбалансированной производительности) - 45! (это постгрес + убунту сервер последний + xRDP и авторизация в домене).
До этого машина работала под вендой эссенциал, пускала, соответственно, двух юзеров всего. В Гилеве из-за старого ядра винды проц не аиделся толком и показывал в файловой 74 в Гилеве (у меня дома 1600-й показывал 89). Кароче, народ, крайне рекомендую новые райзены (ZEN+) в качестве "недосерверов". Надо будет завтра включить режим высокой производительности - должен серверный под 60 попугаев скакнуть.
Кстати, вот протестил несколько раз Гилевским тестом:
1. Снял режим совместимости - 104-110.
2. Оставил режим совместимости - 120.
А вот тут притесался Хеон Голд за дохрена денег с дохрена памяти, но, увы, всего 60 в файловой ))) У меня RYZEN 3600 за 12к с воздушным обдувалом. И это все в режиме ONDEMAND, т.е. "сбалансированная производительность", на SQL 44 попугая. Даже не представляю, сколько будет, если включу PERFORMANCE! )))
не слушайте глупого дядю, что вам скажет выставлять минимальное состояние процессора 100% - перегреваться будет процессор очень сильно, и сервак будет аварийно вырубаться. а поставить более мощьное охлаждение вам влетит в копейку, и не на все матери его можно прикрутить нормально. процессор сам нагрузится как ему нужно и во время простоя будет охлаждаться.
(51) Игорь, вероятно, вы очень трепетно относитесь к своей технике и не позволяете ей работать "сверхмеры". Это очень трогательно. Уверен, ваш ноутбук вас боготворит!
Тема хорошая и дискуссия тоже, автору плюс.
Включил режим высокой производительности на сервере с файловыми базами, опубликовал базы на IIS, завтра буду пользователей запускать, надеюсь поможет )
Читайте также: