1с 8 сетевая. Схема работы в файловом варианте

Породил несколько вопросов о режимах работы 1С.

Режимы работы с информационной базой:
Файловый вариант работы
Клиент — серверный вариант работы

Файловый режим работы

Файловый вариант работы рассчитан на персональную работу одного пользователя, но также доступна и многопользовательская работа по сети. Параллельное проведение документов в этом режиме невозможно. В среднем, в файловом режиме одновременно могут работать около 10-ти пользователей.
Покупка серверных ключей не требуется.
При файловом режиме работы вся информационная база (база данных, конфигурация) хранится в файле 1Cv8.1CD .

1Cv8.1CD — это Файловая база данных

Файловой базой данных (файлом 1Cv8.1CD) управляет Файловая СУБД (File DBMS) , которая является частью платформы 1С:Предприятия.
При файловом режим работы происходит имитация клиент-серверного режима работы, поэтому всё равно нужно придерживаться клиент-серверного механизма разработки.

Если файл 1Cv8.1CD превышает 4 Гб. Самый раз задуматься о переходе на клиент-серверный вариант работы.

Большой минус файлового режима работы это низкая информационная безопасность.

Схема работы в файловом варианте

Приложение толстый клиент напрямую обращается к информационной базе и получает ответ. Тонкий клиент так же обращается напрямую к БД по собственному протоколу. Web клиент обращается к информационной базе с помощью Web сервера.

Для перехода с файлового режима на клиент-серверный достаточно выгрузить информационную базу в формате dt и далее загрузить в информационную базу созданную на сервере.

Клиент-серверный вариант работы

Клиент-серверный вариант подходит для работы с информационной базой большого числа пользователей. Надежность базы данных гарантируется СУБД, которая содержит механизмы автоматического архивирования, восстановления. Скорость работы с данными выше чем в файловом режиме работы.

Клиент-серверный вариант работает по трехзвенной архитектуре:
Пользователь
Сервер приложений(кластер серверов)
СУБД

Клиенты обращаются к менеджеру кластера, который переадресует запрос пользователя к какому либо рабочему серверу (запрос может быть переадресован на более свободный сервер). Далее сервер обращается к СУБД за получением необходимых данных.
СУБД обрабатывает запрос и возвращает массив данных серверу, который возвращает обработанные данные клиенту. В кластере серверов существует возможность настройки резервных серверов, на которые переносятся процессы в случае падения рабочего сервера. Тем самым повышается надежность.

Web клиент взаимодействует (по протоколу http) c web-сервером, который обращается к кластеру серверов. Так же возможна работа тонкого клиента по протоколу http (по точно такой же схеме)

Текущий режим работы можно посмотреть в конфигураторе и в пользовательском режиме, открыв Справка -> О программе (строка «режим»)

Обычное приложение всегда работает в режиме толстого клиента. Управляемое приложение может запускаться как в толстом, так и в тонком клиенте. Функционал тонкого клиента сильно ограничен.

Статья об обычном и управляемом приложений, обычных и управляемых формах «1С:Предприятия», находится здесь .

Пожалуйста оставляйте свой комментарий, мне дорого ваше мнение.

P.S. Чарли Брукер — Ящик желаний

Установка 1С: Предприятие - задача не столь сложная, как это может показаться на первый взгляд. Если вы никогда не делали этого раньше и принципиально не желаете читать официальное "Руководство по установке и запуску", то, возможно, вам поможет данный материал. Людям, имеющим опыт установки 1C, может пригодиться раздел "советы" в конце статьи - возможно, найдете что-то новое и полезное для себя. Хочется также обратить ваше внимание на то, что в данной статье вы не найдете ничего про установку SQL версии 1С.

Основные шаги

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

1. Установка платформы (системы) 1С: Предприятие.
2. Установка конфигураций.
3. Установка электронного ключа защиты.
4. Настройка сетевых подключений (для сетевых версий).

Для того чтобы было более понятно, о чем идет речь, представим с помощью трех обозначений систему программ 1С: Предприятие:

Платформа - "движок" и "компоненты" устанавливаются одной программой установки, а конфигурации - отдельными установочными программами.

1. Установка платформы (системы) 1С: Предприятие

Прежде чем приступить к установке, убедитесь в том, что 1С: Предприятие еще не инсталлировано на данном компьютере. Возможно, та платформа, которая уже настроена, годится для запуска необходимой вам конфигурации, поэтому смело переходите к пункту 2 "Установка конфигураций". Вы ничем не рискуете, поскольку совершенно неважно, в какой последовательности устанавливать конфигурации и платформы. Если после установки конфигурации программа все же не заработала, и вы не уверены в собственных силах, то лучший выход - обратиться к специалистам для переустановки платформы 1С: Предприятие.

Итак, перед вами дистрибутив 1С - как правило, большой набор дискет, или компакт-диск с установочной программой 1С. Счастливым обладателям компакт-диска достаточно установить его CD-DRIVE и дождаться автоматического запуска установочного меню. В нем необходимо выбрать пункт, под названием "1С: Предприятие 7.7 ". Если автоматического старта дождаться так и не удалось, придется самостоятельно запустить программу "SETUP.EXE" с диска.

Например, это можно сделать так - в меню "Пуск" выбрать пункт "Выполнить", а затем набрать команду "D:\SETUP.EXE" в диалоговом окне и нажать кнопку "OK". Далее нужно смело соглашаться с предложением установки "по умолчанию". Когда программа спросит у вас про "Имя" и "Организацию", не пугайтесь - пишите, что хотите, это никак не скажется на дальнейшей работе программы.

Если ваш дистрибутив 1С располагается на дискетах, то придется немного попотеть. Сначала необходимо отсортировать кучу дискет по двум стопкам - "дистрибутив платформы 1С: Предприятие" и "дистрибутив конфигурации". Далее, нужно вставить в дисковод дискету с номером один из дистрибутива платформы и запустить программу "SETUP.EXE". В процессе установки программа станет назойливо требовать вставлять попеременно в дисковод соответствующие дискеты.

2. Установка конфигураций

Для дистрибутива на компакт-диске установка конфигураций запускается из установочного меню выбором соответствующего пункта, например, "1С: Бухгалтерия 7.7 Типовая конфигурация". Если же у вас дискеты, то потребуется вставить дискету №1, на этот раз из стопки "конфигурация", и запустить программу "SETUP.EXE". Вас ждет неприятная процедура попеременной переустановки дискет в дисковод по запросу программы.

После запуска программа установки конфигурации задает пользователю следующие вопросы:

"Выбор варианта установки" - новая или обновленная конфигурация? Ответ выбирается исходя из ситуации. По умолчанию рассматриваем новую установку.
"Выбор каталога установки" - рекомендуем не соглашаться с любезно предлагаемым каталогом "по умолчанию", а выбрать более простой путь, например "c:\1С Базы".

3. Установка электронного ключа защиты

Как правило, программные продукты 1С защищены от незаконного тиражирования электронными ключами HASP. Данный ключ необходимо вставить при выключенном компьютере в разъем параллельного порта. При наличии принтера, кабель от него надо вставить в соответствующий разъем ключа защиты, подключенного к параллельному порту. После чего смело включайте компьютер и выбирайте "Установка драйвера защиты" из меню 1С: Предприятие ("Пуск" - "Программы" - "1С: Предприятие").

Все, установка для пользователей локальных версий закончена. Можно запускать 1С: Предприятие ("Пуск" - "Программы" - "1С: Предприятие" - "1С: Предприятие"). В окне запуска выбираете информационную базу, к которой вы в данный момент хотите подключиться, и нажимаете кнопку "ОК". Внимание! Во время первого запуска информационной базы происходит процесс построения вспомогательных индексных файлов и 1С стартует несколько дольше, чем обычно. Также обратите внимание на то, что если у вас установлена сетевая версия 1С: Предприятие, то при первом запуске должен быть установлен флажок "монопольно".

Если для информационной базы существует некий список пользователей, которым разрешена работа с ней, то перед запуском программы появится диалог "Авторизация доступа". Выбирайте пользователя, вводите пароль (если он назначен), и нажимайте кнопку "ОК". Не пугайтесь! При запуске демонстрационных баз у всех пользователей пароль отсутствует - просто выберите пользователя и нажмите "ОК".

4. Настройка сетевых подключений (для сетевых версий)

Настройка сетевой версии 1C потребует от вас ряда по порядку перечисленных ниже действий.

Выбор операционной системы

Сетевые версии 1С лучше ставить на серверные операционные системы. Если предполагаемое количество пользователей больше трех, то устанавливать 1С рекомендуется на сетевую операционную систему (Novell Netware или Windows 2000 Server).

Конфигурации, информационные базы

Конфигурации и информационные базы необходимо расположить в папке на сервере с открытым доступом. Желательно подключить данную папку для пользователей как сетевой диск (разумеется, буква, обозначающая сетевой диск, для всех пользователей должна быть одна и та же).

Видимость ключа защиты

Чтобы электронный ключ защиты был "виден" для остальных пользователей сети, на компьютере, где он установлен, надо запустить "Сервер защиты" (Пуск - Программы - 1С: Предприятие - Сервер защиты)

Выбор варианта установки платформы 1С: Предприятие

В зависимости от комплекта поставки допускается несколько вариантов установки системы 1С:Предприятие:

Локальная установка - административная установка - сетевая установка

Локальная установка может быть выполнена для любого комплекта поставки и является единственно возможным вариантом для однопользовательских версий 1С: Предприятие. При выполнении локальной установки необходимо совершить все уже перечисленные выше действия.

Административная установка, строго говоря, является не установкой как таковой, а представляет собой подготовку к инсталляции. Суть ее состоит в том, что на сервере локальной сети создается каталог, в который из дистрибутива 1С: Предприятие переносятся все необходимые файлы для того, чтобы, запустив из этого каталога SETUP.EXE, можно было выполнить процедуру локальной или сетевой установки. При этом не производится никаких изменений в меню, системном каталоге и реестре Windows как для сервера, так и для компьютера, на котором запущена программа установки.

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

Так какой же из вариантов установки является предпочтительным? (Понятно, что данный вопрос применим только к сетевым вариантам 1С: Предприятие). Локальная установка является наиболее простым вариантом. В этом случае на каждом компьютере, на котором предполагается использовать 1С: Предприятие, необходимо выполнить процедуру локальной установки. В простейшем случае инсталляция выполняется непосредственно с дистрибутивного комплекта. Но локальная установка может быть выполнена также и из каталога на сервере, в который была предварительно произведена административная установка.

При локальной установке запуск 1С: Предприятие осуществляется быстрее всего, (программные файлы загружаются с локального диска компьютера, а не с удаленного диска сервера) и несколько меньше загружается сеть, но при этом на каждом из компьютеров пользователей расходуется дисковое пространство под одни и те же программные файлы 1С: Предприятие.

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

В случаях, когда в рамках одной локальной сети для работы с системой 1С: Предприятие используется значительное число компьютеров и сеть не слишком перегружена, рекомендуется использовать сетевую установку 1С. Как уже отмечалось, для выполнения сетевой установки 1С: Предприятие надо предварительно выполнить административную установку на диск сервера. И только затем процедура сетевой установки может быть выполнена на компьютерах пользователей. Это несколько усложняет процесс инсталляции в целом, но позволяет воспользоваться некоторыми преимуществами, основным из которых является упрощение процедуры обновления релизов 1С: Предприятие. В данном случае обновление релиза 1С: Предприятие, сводится к административной установке на сервер нового релиза 1С: Предприятие поверх уже имеющегося. Таким образом, на компьютерах пользователей будут запускаться обновленные варианты программных файлов 1С: Предприятие (в случае сетевой установки программные файлы запускаются с диска сервера).

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

Как установить на одном компьютере несколько компонентов 1С: Предприятие? Часто возникает ситуация, что на один компьютер надо установить два разных компонента 1С Предприятия (например, "Бухгалтерский учет, сетевая версия" и "Оперативный учет, 3 раб. места"). Если их поставить в разные каталоги, то пользователь будет путаться, из-под какой платформы и какую конфигурацию ему запускать. В целом, не экономно держать на одной машине две практически одинаковые версии системы 1С. Более рациональным вариантом установки является следующий: установить компонент "Бухгалтерский учет" (из разных вариантов - локальная, 3-х пользовательская, сетевая - выбирается более масштабная версия); в каталоге BIN, найти два файла с расширением PLS и переименовать в соответствии с их оригинальными именами ("оригинальное имя" хранится в свойствах файлов). В результате, вы установите все три компонента 1С: Предприятия. Теперь остается только поставить электронные ключи от тех компонентов, которые приобретены, и можно работать.

К нам часто приходят вопросы про то что тормозит 1с, особенно при переходе на версию 1с 8.3, благодоря нашим коллегам из ООО "Интерфейс", мы подробно рассказываем:

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

Небольшое исследование русскоязычных ресурсов по 1С показало, что данный вопрос старательно обходится стороной, в случае возникновения проблем обычно советуется переход к клиент-серверному или терминальному режиму. А также практически общепринятым стало мнение, что конфигурации на управляемом приложении работают значительно медленнее обычных. Как правило аргументы приводятся "железные": "вот Бухгалтерия 2.0 просто летала, а "тройка" еле шевелится", безусловно, для истины в этих словах есть, поэтому попробуем разобраться.

Потребление ресурсов, первый взгляд

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

Для тестирования мы взяли две виртуальные машины под управлением Windows Server 2012 R2 и Windows 8.1 соответственно, выделив им по 2 ядра хостового Core i5-4670 и 2 ГБ оперативной памяти, что соответствует примерно средней офисной машине. Сервер разместили на RAID 0 массиве из двух WD Se, а клиент на аналогичном массиве из дисков общего назначения.

В качестве подопытных баз мы выбрали несколько конфигураций Бухгалтерии 2.0, релиза 2.0.64.12 , которую затем обновили до 3.0.38.52 , все конфигурации запускались на платформе 8.3.5.1443 .

Первое, что обращает на себя внимание, это выросший размер информационной базы "тройки", причем существенно выросший, а также гораздо большие аппетиты к оперативной памяти:

Мы уже готовы услышать привычное: "да чего они там такого добавили в эту тройку", но давайте не будем спешить. В отличие от пользователей клиент-серверных версий, которые требуют наличия более-менее квалифицированного администратора, пользователи файловых версий крайне редко задумываются об обслуживании баз. Также редко об этом думают обслуживающие (читай - обновляющие) эти базы сотрудники специализированных фирм.

Между тем информационная база 1С - это полноценная СУБД своего формата, которая тоже требует обслуживания и для этого даже есть инструмент, который называется Тестирование и исправление информационной базы . Возможно злую шутку сыграло название, которое как-бы подразумевает, что это инструмент для устранения проблем, но низкая производительность - тоже проблема, а реструктуризация и реиндексация, вместе со сжатием таблиц - хорошо известные любому администратору СУБД средства оптимизации баз данных. Проверим?

После применения выбранных действий база резко "похудела", став даже меньше "двойки", которую тоже никто никогда не оптимизировал, также немного уменьшилось потребление ОЗУ.

В последствии, после загрузки новых классификаторов и справочников, создания индексов и т.п. размер базы вырастет, в целом базы "тройки" больше баз "двойки". Однако более важно не это, если вторая версия довольствовалась 150-200 МБ оперативной памяти, то новой редакции нужно уже полгигабайта и из этого значения следует исходить, планируя необходимые ресурсы для работы с программой.

Сеть

Пропускная способность сети - один наиболее важных параметров для сетевых приложений, особенно, как 1С в файловом режиме, перемещающих по сети значительные объемы данных. Большинство сетей небольших предприятий построены на базе недорогого 100 Мбит/с оборудования, поэтому мы начали тестирование именно со сравнения показателей производительности 1С в сетях 100 Мбит/с и 1 Гбит/с.

Что происходит при запуске файловой базы 1С по сети? Клиент скачивает во временные папки достаточно большое количество информации, особенно если это первый, "холодный", запуск. На 100 Мбит/с мы ожидаемо упремся в ширину канала и загрузка может занять значительное время, в нашем случае около 40 секунд (цена деления графика - 4 сек).

Второй запуск происходит быстрее, так как часть данных сохраняется в кэше и находится там до перезагрузки. Переход на гигабитную сеть способен значительно ускорить загрузку программы, как "холодный", так и "горячий", причем соотношение значений при этом соблюдается. Поэтому мы решили выразить результат в относительных значениях, взяв за 100% самое большое значение каждого замера:

Как можно заметить из графиков, Бухгалтерия 2.0 загружается при любой скорости сети вдвое быстрее, переход со 100 Мбит/с на 1 Гбит/с позволяет ускорить время загрузки в четыре раза. Разницы между оптимизированной и неоптимизированной базами "тройки" в данном режиме не наблюдается.

Также мы проверили влияние скорости сети на работу в тяжелых режимах, например, при групповом перепроведении. Результат также выражен в относительных значениях:

Здесь уже интереснее, оптимизированная база "тройки" в 100 Мбит/с сети работает с такой же скоростью, как и "двойка", а неоптимизированная показывает вдвое худший результат. На гигабите соотношения сохраняются, неоптимизированная "тройка" также вдвое медленнее "двойки", а оптимизированная отстает на треть. Также переход на 1 Гбит/с позволяет сократить время проведения в три раза для редакции 2.0 и в два раза для 3.0.

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

Собственно, для повседневных задач пропускная способность сети не является узким местом, неоптимизированная "тройка" всего лишь на 20% медленнее двойки, а после оптимизации оказывается примерно настолько же быстрее - сказываются преимущества работы в режиме тонкого клиента. Переход на 1 Гбит/с не дает оптимизированной базе никаких преимуществ, а неоптимизированная и двойка начинают работать быстрее, показывая небольшую разницу между собой.

Из проведенных тестов становится очевидно, что сеть не является узким местом для новых конфигураций, а управляемое приложение работает даже быстрее обычного. Также можно рекомендовать переход на 1 Гбит/с если для вас критичны тяжелые задачи и скорость загрузки баз, в остальных случаях новые конфигурации позволяют эффективно работать даже в медленных 100 Мбит/с сетях.

Так почему же 1С тормозит? Будем разбираться дальше.

Дисковая подсистема сервера и SSD

В прошлом материале мы добились увеличения производительности 1С разместив базы на SSD. Возможно недостаточно производительности дисковой подсистемы сервера? Мы сделали замеры производительности дисковой сервера во время группового проведения сразу в двух базах и получили довольно оптимистичный результат.

Несмотря на относительно большое количество операций ввода-вывода в секунду (IOPS) - 913, длина очереди не превысила 1,84, что для двухдискового массива очень хороший результат. Исходя из него можно сделать предположение, что зеркала из обычных дисков будет достаточно для нормальной работы 8-10 сетевых клиентов в тяжелых режимах.

Так нужен ли SSD на сервере? Лучше всего ответить на этот вопрос поможет тестирование, которое мы провели по аналогичной методике, сетевое подключение везде 1 Гбит/с, результат также выражен в относительных значениях.

Начнем со скорости загрузки базы.

Может быть кому-то и покажется удивительным, но на скорость загрузки базы SSD на сервере не влияет. Основной сдерживающий фактор здесь, как показал предыдущий тест, пропускная способность сети и производительность клиента.

Перейдем к перепроведению:

Выше мы уже отмечали, что производительности дисковой вполне достаточно даже для работы в тяжелых режимах, поэтому на скорость проведения SSD также не оказывает влияния, кроме неоптимизированной базы, которая на SSD догнала оптимизированную. Собственно, это еще раз подтверждает, что операции оптимизации упорядочивают информацию в базе данных, уменьшая количество случайных операций ввода вывода и повышая скорость доступа к ней.

На повседневных задачах картина аналогичная:

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

Дисковая подсистема клиента и SSD

Влияние SSD на скорость работы локально установленной 1С мы разбирали в предыдущем материале, многое из сказанного справедливо и для работы в сетевом режиме. Действительно, 1С достаточно активно использует дисковые ресурсы, в том числе и для фоновых и регламентных задач. На рисунке ниже можно видеть, как Бухгалтерия 3.0 довольно активно обращается к диску в течении порядка 40 секунд после загрузки.

Но при этом следует осознавать, что для рабочей станции где активная работа производится с одной - двумя информационными базами ресурсов производительности обычного HDD массовой серии вполне достаточно. Приобретение SSD способно ускорить некоторые процессы, но радикального ускорения в повседневной работе вы не заметите, так как, например, загрузка будет ограничиваться пропускной способностью сети.

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

Оперативная память

Несмотря на то, что оперативка сейчас неприлично дешева, многие рабочие станции продолжают работать с тем объемом памяти, который был установлен при покупке. Вот тут и подстерегают первые проблемы. Уже исходя из того, что в среднем "тройке" требуется около 500 МБ памяти можно предположить, что общего объема оперативной памяти в 1ГБ для работы с программой будет недостаточно.

Мы уменьшили память системы до 1 Гб и запустили две информационные базы.

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

К чему это приведет? Посмотрим, как используются ресурсы системы в тяжелых операциях, например, запустим групповое перепроведение сразу в двух базах. Сначала на системе с 2 ГБ оперативной памяти:

Как видим, система активно использует сеть, для получения данных и процессор для их обработки, дисковая активность незначительна, в процессе выполнения обработки она эпизодически вырастает, но не является сдерживающим фактором.

Теперь уменьшим память до 1 ГБ:

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

При этом даже субъективная работа с двумя открытыми базами на системе с 1 ГБ памяти оказалась крайне некомфортной, справочники и журналы открывались со значительной задержкой и активным обращением к диску. Например, открытие журнала Реализация товаров и услуг заняло около 20 секунд и сопровождалось все это время высокой дисковой активностью (выделено красной линией).

Чтобы объективно оценить влияние оперативной памяти на производительность конфигураций на основе управляемого приложения мы провели три замера: скорость загрузки первой базы, скорость загрузки второй базы и групповое перепроведение в одной из баз. Обе базы полностью идентичны и созданы копированием оптимизированной базы. Результат выражен в относительных единицах.

Результат говорит сам за себя, если время загрузки вырастает примерно на треть, что еще вполне терпимо, то время выполнения операций в базе вырастает в три раза, ни о какой комфортной работе в таких условиях говорить не приходится. Кстати, этот тот случай, когда покупка SSD способна улучшить ситуацию, но гораздо проще (и дешевле) бороться с причиной, а не с последствиями, и просто купить нужное количество оперативной памяти.

Недостаток оперативной памяти - основная причина по которой работа с новыми конфигурациями 1С оказывается некомфортной. Минимально подходящими следует считать конфигурации с 2 ГБ памяти на борту. При этом учитывайте, что в нашем случае были созданы "тепличные" условия: чистая система, запущены только 1С и диспетчер задач. В реальной жизни на рабочем компьютере как правило открыты браузер, офисный пакет, работает антивирус и т.д, и т.п., поэтому исходите из потребности 500 МБ на одну базу плюс некоторый запас, чтобы при тяжелых операциях вы не столкнулись с недостатком памяти и резким снижением производительности.

Процессор

Центральный процессор без преувеличения можно назвать сердцем компьютера, так как именно он, в конечном итоге, осуществляет обработку всех вычислений. Чтобы оценить его роль мы провели еще один набор тестов, такой же, как и для оперативной памяти, уменьшив количество доступных виртуальной машине ядер с двух до одного, при этом тест выполнялся два раза с объемами памяти в 1 ГБ и 2 ГБ.

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

Выводы

Итак, почему тормозит 1С? В первую очередь это недостаток оперативной памяти, основная нагрузка в этом случае ложится на жесткий диск и процессор. А если они не блистают производительностью, как это обычно бывает в офисных конфигурациях, то получаем ситуацию, описанную в начале статьи - "двойка" работала нормально, а "тройка" безбожно тормозит.

На второе место стоит вынести производительность сети, медленный 100 Мбит/с канал способен стать реальным бутылочным горлышком, но в тоже время режим тонкого клиента способен поддерживать довольно комфортный уровень работы даже на медленных каналах.

Затем следует обратить внимание на дисковую, покупка SSD вряд ли будет хорошим вложением денег, а вот заменить диск на более современный будет не лишним. Разницу между поколениями жестких дисков можно оценить по следующему материалу: Обзор двух недорогих дисков серии Western Digital Blue 500 ГБ и 1 ТБ.

И наконец процессор. Более быстрая модель конечно же не будет лишней, но большого смысла увеличивать его производительность нет, если только данный ПК не используется для тяжелых операций: групповых обработок, тяжелых отчетов, закрытия месяца и т.п.

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

Проблема

На форумах постоянно задается один и тот же вопрос: почему 1C+MSSQL медленнее обрабатывает запросы чем файловая?

Затем обычно идет «флуд» на несколько десятков страниц.

Есть два популярных «течения» в таких форумах — одни говорят что для клиент-серверного варианта это нормально, файловый вариант всегда должен работать быстрее, другие говорят что 1С плохо работает с субд.

В результате «баталий и выяснения отношений» на форумах люди расходятся при своих мнениях.

Мы предлагаем разбить вопрос на несколько:

1. Работает ли файловый вариант быстрее в операциях «монопольного характера», когда его деятельность не зависит от других пользователей в базе?

Под «монопольным характером» мы будем понимать одного активного (работающего) пользователя в информационной базе.

2. Работает ли файловый вариант быстрее в многопользовательском режиме, когда пользователи активно конкурируют за ресурсы (например при проведении реализации товаров обращаются массово к остаткам на складе)?

3. Насколько существенна разница в скорости между файловым вариантом и клиент-серверным с точки зрения бизнеса?

Что на самом деле

Таблица №1. Сравнение файлового и клиент-серверного варианата 1С

Файловая 1С Клиент-Серверная 1С
Максимальный размер одной таблицы 4 gb ~сотни терабайт
Размер на практике когда возникают «тормоза» в 1С при достижении объема базы данных ~16 G b ~500-1500 Gb
Количество пользователей с комфортной работой 1С 3-10 (далее мешают табличные блокировки) 300-700 человек (далее обычно нужно покупать более мощное железо и оптимзировать код еще раз)
Функции, отъедающие ресурсы, которые бы могли бы потрачены на лучшую производительность нет

транзакционная целостность данных, логирование операций для дальнейшего анализа, функции повышения параллельности работы пользователей

Дополнительные преимущества простота (так как мало функций) обслуживание данных (например резервное копирование) без остановки работы пользователей
Минимальная область блокировок На уровне таблиц (требуется меньше ресурсов) На уровне записей (требуется больше ресурсов)
Стоимость владения (условно) Маленькая Существенно больше чем файловая
Наличие промежуточного слоя между клиентом 1С и субд нет Сервер 1С

Ответ на первый вопрос: Работает ли файловый вариант быстрее в операциях «монопольного характера», когда его деятельность не зависит от других пользователей в базе — с вероятностью 99% файловый вариант работает быстрее (при условии его возможности не ограничиваются неудачным железом и не достигаются максимальные возможности файлового варианта)!.

Не верьте нам на слово — проверьте сами. Возьмите (подробное описание здесь ) и убедитесь сами (проверьте сначало в файловом варианте, затем клиент-серверном).

Если Вы не верите тесту, то протестируйте подходящую для проверки по вашему мнению операцию также в файловом и клиент-серверном варианте. Мы рекомендуем за основу взять например «закрытие месяца» на базах размером до 4х гигабайт (иначе на файловом варианте может достигнуто ограничение по размеру).

Понятно, если у Вас закрытие месяца в файловом варианте не возможно, то обсуждать преимущества файлового варианте для Вас нет смысла, Вы согласны?

Возникает еще один промежуточный вопрос:

А насколько файловый вариант быстрее клиент-серверного в цифрах?

Ответ на этот вопрос куда интересней и практичней. Наш тест и практика показывают:

  1. на среднестатитических операциях на соизмеримых объемах данных почти в 2 раза быстрее
  2. на среднестатитических операциях когда объемы данных начинают превышать объем доступной оперативной памяти и увеличивая интенсивность подкачи — до 3-4х раз быстрее — это как раз пример закрытия месяца

Однако важно понять что такое «среднестатистическая» операция. Оказывается, что операции, которые оперируют данными в оперативной памяти в клиент-серверном варианте не проигрывают, а иногда даже выигрывают у файлового варианта !

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

Причем даже безобидный отчет при построении тоже может писать данные, ну например в служебную базу данных tempdb в случаи использования MS SQL Server.

При выполнении запроса в файловом варианте нет посредника данных в виде Сервера 1С, т.е. на один сегмент прохождения запроса меньше. Логично, что если например выполнять «работу без посредников» она всегда быстрее «работы с посредниками».Кроме того, существенная часть функционала на стороне СУБД тоже фактически является «посредниками» — они нужны например не только выполнения запросов, но чтобы обеспечить лучшую параллельность для работы других запросов — например максимально скрупулезно наложить блокировки на используемые данные, чтобы не заблокировать «лишнего» как это делает файловый вариант. Наложить блокировку на всю таблицу проще, так как это одна запись с информацией о блокировке, а наложить блокировки на тысячи строк — это на порядке больше дополнительных записей, но что еще важнее это существенно больше затрачиваемых ресурсов (процессора, памяти, а иногда и места на диске).

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

Отсюда следствие — на одном и том же компьютере можно сделать В МОНОПОЛЬНОМ РЕЖИМЕ больше работы в файловом варианте, чем в клиент-серверном (в том же монопольном режиме) .

В итоге вроде как клиент-серверный вариант может сделать меньше работы, требует больше ресурсов, а где же «профит», почему он используется практически везде?

Поможет ответить нам второй вопрос нашей статьи: работает ли файловый вариант быстрее в многопользовательском режиме, когда пользователи активно конкурируют за ресурсы (например при проведении реализации товаров обращаются массово к остаткам на складе)?

В таблице номер №1 мы видим такие существенные недостатки файлового варианта как маленький размер баз данных — на большинстве предприятие базы данных 1С занимают десятки-сотни гигабайт. Но еще важнее, что файловый вариант накладывает избыточные блокировки (лишние), что существенно снижает возможность параллельной работы пользователей.

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

Мы получаем простую арифметику — 100 х 10 х 10 =10 000 строк вводится в информационную систему в течения дня.

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

В клиент-серверном варианте это сработает. Документы проведутся параллельно.

Зная избыточность блокировок файлового вариант давайте посчитаем, что будет если одновременно 100 пользователей в файловом варианте будут вводит в систему первый документ в этот день, но нажмут проведение кнопки одновременно.

Мы знаем что по умолчанию длительность таймаута блокировки 20 секунд. Теоретически можно предположить что кроме первого пользователи все последующие будут друг друга ждать по 20 секунд и затем проводить свои документы. Суммарное ожидание составит 100 пользователей х 1 документ х 20 секунд = 2000 секунд ожидания. Чувствуете — это полчаса простоя пользователей.

На практике все еще печальней, люди не роботы, они не видят когда система заблокирована или вероятность проведения документа будет высокой, поэтому они просто констатируют что вводить данные в систему не возможно из-за постоянных блокировок. Или проще, на практике в файловом режиме предприятие «встанет».

Но даже если представить что на предприятие пришел потрясающий программист и написал программу так, что попытки будут выполняться постоянно автоматически эти полчаса простоя никуда не денуться.

Более того, при попытке 2,3 документы угубят картину и за день даже при идеальном коде файловый вариант «накопит» 100 пользователей х 10 документов х 20 секунд = 20000 секунд ~ 5 c половиной часов простоя.

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

Поскольку помимо избыточных блокировок еще есть необходимые блокировки, сформулируем понятие производительности заново.

С точки зрения бизнеса производительность — это количество работы за день сделанной всеми 100 пользователями, а не одним монопольно. Поэтому бизнесу важнее сколько в итоге будет введено данных в систему суммарно всеми пользователями. Оценивая производительность коллектиной работы — файловый вариант в десятки-сотни раз проигрывает клиент-серверному варианту .

И снова призываем не верить нам на слово. Возьмите 1С:Стандартный Нагрузочный Тест http://v8.1c.ru/expert/etp.htm или разработайте свой коллективный тест и убедитесь сами с достоверности наших утверждений.

Если у вас возникли вопросы по выполнению теста или его результатам, то можно обсудить их на форуме .

Возможно Вы также захотите приобрести 1С:КИП, обратите внимание на особенности .

Теперь ответим на третий вопрос:Насколько существенна разница в скорости между файловым вариантом и клиент-серверным с точки зрения бизнеса?

Файловый вариант несильно опережает клиент-серверный вариант в монопольном режиме и очень существенно проигрывает в многопользовательском режиме.

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

Файловый вариант не имеет механизмов контроля целостности данных. Например, если произойдет сбой в сети при передачи данных, или отключится свет, то в файловом варианте что то успеет записаться, а что нет. Целостность данных будет разрушена. В клиент-серверном варианте в подобных случаях просто произойдет откат незавершенной транзакции, и неполных данных в систему не попадет, целостность данных будет сохранена.

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

А теперь надо задать «правильный вопрос»:

4. Почему возник вопрос оценить разницу в скорости файлового и клиент-серверного варианта?

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

Но вместо изучения причин, которые спровоцировали проблему в клиент-серверном варианте, он обнаруживает что в файловом варианте такой проблемы нету. Его не беспокоит что проблема может быть в «посреднике», который отсутствует в файловом варианте.

Правильный ответ заключается в том что неважно насколько быстрее файловый или клиент-серверный вариант, а важно что именно вызывает замедления в каждом КОНКРЕТНОМ случае. Слово ПРОИЗВОДИТЕЛЬНОСТЬ опасное, так как на самом деле его надо расписывать в виде списка операций в системы, которые в совокупности и формируют это производительность. Надо рассматривать каждую операцию, начиная с той, которая создает наибольший вклад в замедления.

Вообщем то этим мы профессионально и занимаемся уже много лет успешно.

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

С ростом организации и с увеличением количества пользователей информационной базы 1С Предприятие в локальной компьютерной сети возрастает нагрузка на главное хранилище информационной базы - сервер. Поэтому рано или поздно перед руководителем и IT-специалистом компании может возникнуть вопрос: как обеспечить быструю, безопасную и работоспособную систему с наименьшими финансовыми затратами?

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

Файловый вариант работы 1С предназначен для работы одного или нескольких пользователей в локальной сети. При этом все данные информационной базы (конфигурация, база данных, административная информация) располагаются в одном файле - файловой базе данных, разработанный специально для прикладных решений 1С Предприятия 8.

Преимущества файлового режима работы

  • Оптимален для небольшого количества пользователей (до 5-ти)
  • Простота установки и эксплуатации системы
  • Для работы с информационной базой не требуются дополнительные программные средства кроме операционной системы и 1С Предприятие 8
  • Снижен риск нарушения целостности данных при сбоях компьютеров и локальной сети.
  • Простое создание резервных копий путем простого копирования файла информационной базы.

Работа в файловом варианте возможна как напрямую, непосредственно с файлом базы данных, так и через веб-сервер, если используются клиентские подключения по протоколу HTTP или HTTPS.

Клиент-серверный вариант работы 1С предназначен для использования в отделах, рабочих группах или в масштабе предприятия. Он реализован на основе трехуровневой архитектуры «клиент-сервер»:

Клиентское приложение - Кластер серверов 1С Предприятия - Сервер базы данных

В клиент-серверном варианте информационная база хранится в одной из поддерживаемых СУБД: Microsoft SQL Server, PostgreSQL, IBM DB2, Oracle Database. К ней по мере необходимости обращается клиентское приложение через кластер серверов 1С Предприятие.

В системе 1С Предприятие 8 существует три клиентских приложения или клиента (программа, работающая у пользователя) с различными возможностями: толстый клиент, тонкий клиент, веб-клиент.

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



2024 wisemotors.ru. Как это работает. Железо. Майнинг. Криптовалюта.