Куперс

Бухучет и анализ

Зачем SQL для 1С

Содержание

Windows server 2012R2 и 1С 8.3 медленная работа

Предисловие:

Началось, всё с того, что потребовалось закинуть 3 бухгалтеров на один терминальный сервер. В будущем планировалось подключать удаленные точки, поэтому выбрал именно этот вариант с терминалом. Одна база 1С, весом в 1Гб, 3 пользователя работающие по локальной сети, что может быть проще. А не тут то было, связка 1C Бухгалтерия 8.3 и windows server 2012 R2 тормозила так, что бухгалтера отказывались работать.

Начну по порядку:

Виртуальный сервер с windows server 2012 R2.

Процессор Intel core i7, 3.6 Ghz

Памяти 10Gb.

Обычный жесткий диск — WD Caviar Black 500Gb.

Да, полноценным сервером назвать это трудно, проще скачать самозбор, но кто не хочет сэкономить в наше время?!

Установил 2012R2, настроил службу удаленных рабочих столов, создал пользователей, поставил 1C, закинул базу. Запускаю… и понимаю, что не может программа грузиться 20 секунд, когда на обычном компе с core i3 грузится в трое быстрее.

— Первым что испробовал, перенес всю виртуальную машину на SSD диск (и базу соответственно, тоже) скорость загрузки от этого не улучшилась.

— По многочисленным советам на форумах пробовал отключать в 1С Бухгалтерия регламентные задания и полнотекстовый поиск. Результат ни как не повлиял на скорость работы и загрузки.

— Начал грешить на тонкости самой виртуальной машины Hyper-V, установил 1С на физический сервер, перекинул лицензию на клиента. Запускаю и все тормоза 1с 8.3 остаются на прежнем месте.

После проделывания вышеперечисленных записей, понимаю что server 2012 R2 сам тормозит работу 1С и чтобы окончательно убедиться в этом, установил 1с 8.3 на windows server 2008R2 (благо имеется такой на стороне). Запускается в миг, база летает, всё как надо.

На выходных запасаюсь образом 2008R2, чаем и терпением. Пока пил чай и читал новинки операционной системы 2012 R2, натыкаюсь на удивительную вещицу: DFSS. ​​

Dynamic Fair Share Scheduling — позволяет балансировать и распределять ресурсы CPU между пользователями.

Решение:

Открываем PowerShell и запускаем команду:

(gwmi win32_terminalservicesetting -N «root\cimv2\terminalservices»).enabledfss

1 — включено, 0 — выключено.

После чего открываем реестр windows (regedit) и меняем в следующих ветках некоторые значения:

В данной статье рассказано о средствах Windows, помогающих установить причину почему тормозит сервер. В статье рассмотрена операционная система Windows Server 2012 R2 — одна из самых популярных у VDS / VPS хостинг провайдеров.
При поиске причины тормозов сервера очень важно найти непосредственно процесс который создает наибольшую нагрузку на систему. В этом может оказать неоценимую помощь приложение perfmon которое входит в состав ОС Windows. Наибольший интерес для новичков будет представлять окно Resource Monitor.

Запуск Resource Monitor под Windows Server

Наиболее простой способ запуска это в окне Run (команда Win + R) набрать комманду perfmon /res.

Альтернативный вариант — в окне Task Manager (открывается комбинацией клавиш Ctrl-Shift-Esc) перейти на вкладку Peformance и внизу вкладки нажать на ссылку Open Resource Monitor.

Вкладка Performance дает общую информацию о системе, которая может быть также полезна. Можно понять загрузка какого ресурса близка к 100%: памяти, CPU или локальной сети.

Использование Resource Monitor для поиска причины почему тормозит сервер.

Очень часто поиск причины тормозов сервера начинают с проверки загруженности дисковой системы. Ниже представлено окно Resource Monitor на вкладе Disk.

На вкладке Disk Activity показана загруженность в процентах. Если загрузка, близка к 100%, то скорее всего дисковая система является причиной низкой производительности системы. Щелкая по заголовку Total (B / Sec) можно отсортировать файлы с которыми в данный момент роботает система по объему чтетния и записи на диск. Наиболее загруженный файл и будет причиной тормозов системы. Зная какой файл создает высокую нагрузку гораздо легче понять, какой процесс нагружает систему. Если это какой-то системный файл начинающийся с C:/Windows, то есть смысл воспользоваться поисковой системой, чтобы понять, какой системной службе принадлежит данный файл.

Следущей причиной может стать Сетевая нагрузка. Особенно это актуально для VPS серверов. В случае если вы подключаетесь по RDP то сетевый задержки могут ощущаться как тормоза сервера. Переходим на вкладку Network:

В первую очередь обращаем внимание на общую нагрузку сети. Если она близка к 100% процентам, то скорее всего проблема в сети. На вкладке Processes with Network Activity и TCP Connections мы можем найти название процесса, который нагружает сеть. К сожалению, системные и серверный службы запускаются при помощи системного файла svchost.exe, и часто непонятно какая именно служба загружает сеть. Но если, вы видите, что причина в svchost.exe, то причину нужно искать в службах Windows.

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

Самый простой случаей это загрузка CPU. Ее можно посмотреть на вкладке как на вкладке CPU так и в обычном Task Manager:

Таким образом, Resource Monitor предоставляет нам мощное средство для анализа текущей загруженности системы. Технической описание Resource Monitor на сайте https://msdn.microsoft.com/ru-ru/library/windows/desktop/aa372266(v=vs.85).aspx

Установка и настройка MS SQL Server для 1С

Рассмотрим вопросы инсталляции и конфигурации MS SQL Server для 1С.

В первую очередь стоит отметить, что способ инсталляции MS SQL Server по большей части зависит от того, какая предполагается нагрузка на 1С.

Отталкиваясь от этого можно выделить такие варианты:

  • Первый вариант. Организация, с 500 и более операций в сутки;
  • Второй вариант. Организация, с 500 и более преимущественно не интерактивных операций в сутки (загрузка платежей из банк-клиента и интернета, заказов из интернет-магазина, формирование транспортных и складских операций и т.п.);
  • Третий вариант. Организация, с числом ежедневных операций от 500 и более, подавляющее число которые интерактивны (инициация и оформление со стороны пользователя).

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

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

При инсталляции на отдельный сервер:

Процессор

  • Первый вариант. Не менее 1.8 ГГц (желательно с двумя ядрами)
  • Второй вариант. Не менее 2 ГГц с количеством ядер от двух и более
  • Третий вариант. Не менее 3 ГГц с количеством ядер от четырех и более

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

  • Первый вариант. От 8 ГБ и более
  • Второй вариант. От 32 ГБ и более
  • Третий вариант. От 128 ГБ и более

Накопитель

  • Первый вариант. SAS от 120 ГБ
  • Второй вариант. SAS от 500 ГБ (рекомендуется SSD)
  • Третий вариант. SAS от 1 ТБ (желательно SSD)

Скорость сетевого подключения

  • Первый вариант. Минимум 1 Гб/сек
  • Второй вариант. Минимум 1 Гб/сек (лучше всего использовать оптику)
  • Третий вариант. Минимум 1 Гб/сек (оптика)

При совместной инсталляции с сервером 1С Предприятия требования будут следующими:

Процессор

  • Первый вариант. Как минимум 2 ГГц с количеством ядер от двух и более
  • Второй вариант. Как минимум 3 ГГц с количеством ядер от четырех и более
  • Вариант 3. Категорически не рекомендуется

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

  • Первый вариант. Минимум 32 ГБ
  • Второй вариант. Минимум 128 ГБ
  • Третий вариант. Категорически не рекомендуется

Накопитель

  • Первый вариант. SAS от 500 ГБ (рекомендуется SSD)
  • Второй вариант. SSD от 1 ТБ
  • Третий вариант. Категорически не рекомендуется

Скорость сетевого подключения

  • Первый вариант. 1 Гб/сек
  • Второй вариант. 1 Гб/сек
  • Третий вариант. Категорически не рекомендуется

Стоит учитывать, что указанные выше значения являются минимальными требованиями для комфортного рабочего процесса. Более конкретные параметры подбираются в индивидуальном порядке в зависимости от ситуации, берутся в расчет ключевые потребностями MS SQL Server в дисковой подсистеме и объеме ОЗУ.

Теперь стоит рассмотреть непосредственно сам процесс инсталляции MS SQL Server для 1С в варианте MS SQL Server 2014 на ОС MS Windows Server 2012

Первым делом потребуется перенос дистрибутива инсталляции программы на локальный жесткий диск сервера.

В появившемся окне на правой панели выбирается пункт «Установка».

После этого начнется установка, в процессе которой вам нужно будет ввести ключ и прочесть условия лицензирования, а затем определиться с ролью сервера, выбрав «Установка компонентов MS SQL Server».

Дальше необходимо выбрать устанавливаемые компоненты. Как правило, они все выделяются, однако если это не так, нажимайте на «Выделить все».

В дальнейшем нужно подобрать наименование для экземпляра MS SQL Server. Во избежание вероятных проблем с производительностью рекомендуется оставить «экземпляр по умолчанию», а также не менять путь.

Изменять ничего не потребуется — просто выбирайте «Далее» до возникновения окна «Настройка компонента Database Engine», где на первой закладке потребуется указать пользователя «sa» и придумать пароль.

После просто жмите «Далее», ничего не меняя.

Теперь установка MS SQL Server для 1С завершена.

Для открытия нужно перейти в приложения и найти там SQL Server 2014 Management Studio.

В процессе запуске откроется окно для авторизации, где указывается «проверка подлинности SQL Server». В имени пользователя выбирается «sa», в то время как в поле для пароля – заданная при инсталляции комбинация.

Теперь выбираем «Безопасность» слева в дереве, а затем «Имена входа». После нажатия на правую кнопку мыши выбираем «Создать имя входа», а затем указываем имя и пароль пользователя, запоминая их.

В закладке «Роли сервера» проставляем галочки как на рисунке.

Теперь в закладке «Защищаемые объекты» выбираем право на соединение с SQL, по аналогии с рисунком.

Нажимаем на «Ок», после чего завершается установка и настройка.

Подключение базы 1С на сервере 1С

Сначала нужно открыть консоль администрирования серверов «1С:Предприятие».

Делаем всё, как на рисунке.

Открывшийся диалог заполняем как на рисунке. Там где <Имя базы на латинице> — имя базы. Там где <Имя компа MS SQL Server> — имя ПК, на который ранее устанавливался MS SQL Server.

Нажимаем «Ок». Теперь база подключена.

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

В таком случае требуется запуск диалога открытия баз 1С и нажатие на кнопку «Добавить».

В окне выберете «Создание новой информационной базы».

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

Затем потребуется задать имя базы и указать, что она будет на сервере «1С:Предприятие».

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

Выбирайте «Далее» и «Готово».

Теперь процесс оптимизации SQL под 1С окончен. Можно осуществлять запуск и приступать к работе.

Остались вопросы? Закажите бесплатную консультацию наших специалистов!

Micrsoft SQL Server для 1С

Почему 1C “тормозит” или что такое SQL сервер?
Введение
Данная статья поможет понять многим из разработчиков и пользователей, нужен ли им SQL-продукт или нет. И для чего собственно он нужен.
Итак, первое, что необходимо знать, понять и запомнить: SQL-системы не ускоряют выполнения выборок и печать отчетов. Если Вы рассчитываете, что после установки 1C-Торговли на SQL, Скорость работы системы врзрастет в разы, Вы глубоко заблуждаетесь. Быстрее она работать не станет. В связи с этим говорить о том, что “…SQL-Торговля — это тормозная система…” абсолютно не имеют смысла.

Теория

Несколько лет назад одно компьютерное издание провело сравнительный анализ (в частности и быстродействия) систем управления базами данных ( сокращенно СУБД), построенных на основе обычных файл серверов и с использованием клиент-серверных (SQL) систем. Естественно, условия испытаний по возможности были нивелированы, т.е. применялись одинаковые объемы баз данных, одинаковые их структуры, один и тот же компьютер в качестве сервера, одинаковое количество рабочих станций и т.д.

Если мне не изменяет память, из клиент-серверных систем были испытаны Oracle, Interbase, Informix, Gupta и самый дешевый в то время Watcom SQL Server. Во всех случаях, средняя скорость выполнения запросов в SQL-системах была ниже, чем у файл-серверной системы (сейчас об этом эффекте можно прочесть в любой серьезной книге по SQL ). Испытатели не были удивлены полученным эффектом, поскольку были людьми грамотными и понимали причину такого поведения SQL-систем при заданных условиях эксперимента. Ведь задачей эксперимента было сравнение быстродействия двух видов систем и поэтому были выбраны условия, позволяющие произвести это сравнение.

В частности для тестов использовались базы данных объемом 1.5 — 2 Гигабайта. Ведь если бы исследователи взялись проводить испытания, используя базы данных на порядок большего размера, то им просто не с чем было бы сравнивать SQL-варианты, поскольку обычная файл-серверная система на таких объемах информации просто заткнулась бы. Вот в этом то и состоит основное отличие и достоинство клиент-серверных систем: они будут работать со вполне приемлемой скоростью с базами данных такого объема, с которыми файл-серверная система работать просто не сможет (”не сможет” в том смысле, что ее функциональность, в том числе и быстродействие, станут неприемлемы для коммерческих приложений).

Сетевой вариант 1С программы, файл-серверная база SQL

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

Быстродействие такой системы напрямую зависит от скорости жесткого диска диска сервера, скорости передачи данных по сети (канал локальной сети 10 или 100 мегабит), тактовой частоты процессора рабочей станции, размера кеша данного процессора, объема оперативной памяти, в общем всех «железных» факторов от которых зависит производительность компьютера. Центральный процессор сервера в таком случае, играет уже роль второстепенную и просто обеспечивает передачу потока данных с диска в сетевой канал и обратно. Суть в том что, практически вся база данных перегоняется по сети на рабочую станцию где она и обрабатывается.

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

Поскольку обработка данных ведется на уровне рабочих станций, а файл-сервер просто играет роль разделяемого дискового устройства, задачи синхронизации решаются в таких системах с помощью организации различных файлов блокировок хранящихся на диске файл-сервера, в эти файлы каждая рабочая станция записывает свои логи, информацию о данных, которые она получает, передает и изменяет в данный момент, при попытке считать данные проверяет не заняты ли эти данные другим запросом в данный момент. Несмотря на ряд недостатков, зависающие блокировки при аварийном выключении рабочих станций, возникновение тормозов в работе всей системы при изменении большого количества записей, этот способ вполне работоспособен.
Скорость работы системы файл-серверной базы, напрямую зависит от обрабатываемой базы данных. Заметное снижение скорости работы начинает проявляться, когда размер базы данных достигает 300 — 500 Мб, а за отметкой 1 Гигабайт работать уже практически невозможно. Цифры взяты приблизительные, и зависят от производительности рабочих станций, используемого программного обеспечения и формата базы данных. К примеру, при использовании формата таблиц базы данных Paradox замедление работы наступает значительно позже, чем при использовании формата DBase. Когда эти тормоза уже мешают нормально работать, пользователи системы идут на различные хитрости: закрывают старую базу и открывают новую каждый квартал, пытаются удалить старые данные (почистить базу) и прочее. Однако любой бухгалтер скажет Вам, что данные нужны ему не за квартал, а минимум за год и предпочтительно в динамике, а не в виде отдельных кусков. Ведь долги клиентов иногда тянутся годами.

Временным решением проблемы в такой ситуации может быть увеличение пропускной способности сети за счет установки 1 гигабитной сети вместо 100 мегабитной и интеллектуальных маршрутизаторов вместо тупых хабов. Однако, маршрутизаторы чрезвычайно дороги, а гигабитная сеть даст повышение пропускной способности лишь в 2.5 — 3 раза (а не в 10 раз, как этого бы хотелось). Да смысла увеличивать пропускную способность сети нет, когда жесткий диск сервера работает на пределе своей производительности?

Через пол-года Ваша база данных вырастет еще на 300-500Мб и система опять начнет задыхаться, пустив по ветру все вложенные в модернизацию денежки. Не следует забывать и еще об одной значительной детали. Это регулярное архивирование базы данных. Знаете ли вы, что за время пока будет архивироваться база данных объемом 1 — 1.5 Гб, пообедать, посмотреть кино и поругаться с начальником. А архивация должна производиться ежедневно. При этом во время архивирования базы, ни один из пользователей работать в программе не сможет. Как тут быть? Можно настроить резервирование по расписанию, средствами WIndows, или установить программу, которая будет делать архив по ночам, когда сервер простаивает, и в базе никто не работает. К примеру есть хорошая бесплатная программа архивации Cobian Backup.

Серверный вариант 1С базы (с использованием СУБД)

Теперь рассмотрим принцип работы с базой данных на SQL. Так называемую клиент-серверная систему. Если кто-то жалуется о том, что у него тормозит SQL, спросите какой у него сервер. Если он ответит, что-то вроде: Pentium 4.. то можете смело сказать ему, что он … мало знает о том как надо готовить SQL сервер…

Серверы для SQL-систем должны иметь высокие показатели производительности, и отказоустойчивотси. Pentium Core2Duo 2х ядерный, частотой от 2,5 Гигагерц, 4Гб ОЗУ, RAID массивом минимум из 2х жестких дисков SATA2 — это пожалуй минимум, на котором может НОРМАЛЬНО функционировать программное обеспечение MS SQL Server на 10-15 подключенных клиентов (пользователей базы данных).

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

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

Схема работы SQL серверной связки 1С

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

SQL-системы очень требовательны к ресурсам процессора, и сервера в целом, то есть нужен очень мощный и многоядерный процессор, достаточно высокий обьем оперативной памяти (по сравнению с другими серверами, или рабочими станциями, где можно отделаться 1-2 гигбайтами). В идеале для таких систем следует использовать компьютеры с RISC процессорами в многопроцессорном варианте (например как в продукции SUN Microsystems). SQL — системы имеют существенное преимущество: даже при использовании сервера стоимостью 4 — 5 тыс. $ будут работать вполне приемлемо, с позволяя добиться хорошей скорости при работе с базами данных такого объема, который обычная файл-серверная система просто перестанут работать.

Причем, на SQL варианте, объем БД может достигать в несколько десятков ГИГАБАЙТ. А скорость доступа к данным останется на прежнем уровне, ведь — они расположены, на диске сервера и не требуют передачи по сети для последующей обработки. Все запросы поступают к серверу, так что кроме обычного файлового кэширования есть огромные возможности по оптимизации выполнения запросов, их распараллеливанию. Все эти эти возможности изначально заложены в программном обеспечении пакета MS SQL Server, фирмой 1С разработан сервер предприятия, который работает в связке с СУБД MS SQL.

Также возможно применение различных ухищрений, например в виде серверов-репликаторов (для разделения групп пользователей на тех, кто пользуется только отчетами, т.е работает в режиме “только чтение”, и тех, кто активно изменяет документы) или разделение баз данных по разным дисковым массивам. При перегрузке дисковой системы она легко модернизируется, например с помощью RAID-массива (не забывайте однако, что SQL-система — это вообще иная ценовая категория как в отношении программного обеспечения, так и по стоимости серверного железа)

Преимущества SQL базы данных для 1С

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

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

В клиент-серверной системе этот механизм (который реализуется программным обеспечением SQL-сервера — в нашем случае MS SQL Server 2005) значительно более сложен. Он позволяет получить “слепок” базы данных на момент начала транзакции без блокировки базы данных. И слепков таких может достаточно большое количество: для каждой рабочей станции — он будет свой. И в случае “зависания” рабочей станции, открывшей транзакцию, она (транзакция) может быть просто откачена (т.е. база данных будет восстановлена в том виде, в каком она была до начала инициации транзакции). Откат осуществляется либо по запросу рабочей станции (при сохранении ее работоспособности), либо при перезагрузке рабочей станции, либо администратором SQL сервера.

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

В общем-то защищенность данных в значительной мере зависит от прикладной задачи, 1С Торговли или 1С Бухгалтерии, однако по сравнению с обычным вариантом, в котором любой начинающий хакер спокойно может срубить пароль, в клиент-серверном варианте защита данных опирается на средства, предоставляемые администрированием SQL сервера, что гораздо более надежно.
Гибкость применения СУБД

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

Теперь о недостатках. А их у SQL-систем много, крупных и мелких — тех же самых, которые присущи и файл-серверным системам. Однако есть два и весьма существенных.
Главный недостаток наглядно виден из прайса фирмы “1С” — это цена. Цена не только программного обеспечения, но и цена железа на котором оно может достойно функционировать и цена обслуживания. Ну, что же делать — SQL это продукт высоких технологий, но отличное решение для бизнеса, когда торговля, или производство напрямую зависят от всех расчетов бухгалтерии и финансовых операций. А продукт высоких технологий всегда на порядок выше, и эксплуатироваться должен грамотным, обученным персоналом, поэтому даже системный администратор, способный грамотно работать с SQL-системой обойдется дороже, чем аналогичный специалист для обычной файл-серверной системы.

Подведем некоторые итоги

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

Теги материала: SQL сервер для 1С,что такое SQL сервер,1С сервер, SQL сервер, 1С медленно работает, 1С тормозит, 1С зависает ,SQL для 1С

Как выбрать и настроить сервер для 1C Предприятие 8.3

Объектно-ориентированная система данных 1С использует пять потоков:

  • Таблицы баз данных
  • Индексные файлы.
  • Системная база для временных таблиц tempDB.
  • Лог-файл SQL.
  • Лог-файл приложений.

Определение нагрузки на дисковую подсистему сервера для 1С Предприятие 8.3

Параметр

Тип дисков

Desktop SATA 7200 rpm

Enterprise SATA \ SAS NL 7200 rpm

Enterprise SAS 15 000 rpm
(10 000 rpm)

Enterprise SATA SSD

Latency (время отклика диска на чтение/запись), микросекунды

4 160

4 160

2 000

Disk Reads/sec (количество операций чтения в секунду), IOPS

90 000

Disk Writes/sec (количество операций записи в секунду), IOPS

30 000

Таким образом, для всех дисков скорость записи уступает скорости чтения. При этом даже начальные модели SSD в несколько десятков раз превосходят по всем параметрам HHD.

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

RAID 0

RAID 1 (or 10)

RAID 5

RAID 6

«Пенальти» на чтение

«Пенальти» на запись

Например, для RIID 5 из четырех дисков SATA со скоростью 7200 оборотов в минуту продуктивность рассчитывается так: (4*100 IOPS) / 4 = 100 IOPS. А для четырех таких же дисков в RAID 10, производительность будет равна 200 IOPS ((100 IOPS *4) / 2).

Таким образом, можно сделать вывод, что двух объединенных в RAID 1 HDD SATA 7200 серверу, скорее всего, не хватит. Для надежной работы и хранения базы данных оптимальным будет RAID 10.

Столь любимые ранее RAID 5 и 6 не имеют экономического смысла на небольших (до 10Тб) объёмах. С точки зрения надёжности многодневный ребилд RAID 5 и 6 не выдерживает вообще никакой критики.

Оптимизация нагрузки сервера 1С 8.3

Чтобы усилить возможности записи дисковой подсистемы на 30-90%, можно увеличить количество дисков в RAID, выполнить кеширование в режиме отложенной записи, использовать диски с более высокой скоростью и низким «пенальти».

Самыми высокоскоростными считаются RAID массивы из SSD на базе SAS контроллеров или PCIe. У них есть лишь два минуса – технологические ограничения совместимости и относительно высокая стоимость. А бесспорными плюсами SSD являются возможность организации многоуровневого хранения данных.
Современное отношение цена-объём у SSD таковы, что экономически выгодно использовать пару SSD объёмом до 1Тб в RAID1 для размещения нескольких логических разделов: системного, логов, кэша и баз 1С.

Оптимальное размещение компонентов 1С на дисковой подсистеме будет примерно таким:

Таблицы БД

RAID 1 для малых БД
RAID 10 для средних БД
Серверные SSD с аппаратным RAID-контроллером;
PCIe SSD для систем, требующих высочайших показателей IOPS;

Временные файлы TempDB

Один или два (RAID 1) SSD

Log-файлы

Отдельный физический диск/RAID 1 либо логический диск на RAID-массиве с ОС

ОС

RAID 1 SSD.

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

RAID 1 HDD.

N.B. Для виртуализированной инфраструктуры сервер базы данных должен быть установлен на физический носитель. Таблицы, индексные и временные файлы должны быть подключены к виртуальной машине в монопольном режиме через Direct Access. Это позволит выиграть до 35% общей производительности системы.

Выбор сетевого интерфейса

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

Описанная выше архитектура (исключающая Ethernet-цепочку SQL-сервер —> Сервер приложений 1С —> пользовательская сессия 1С) является оптимальной потому, что минимизирует временные затраты на упаковку/распаковку трафика. В системе 1С значительные объемы информации передаются по всей цепочке в обе стороны. Естественно, что прямая передача через оперативную память или виртуальный сетевой интерфейс существенно быстрее.

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

Небольшие базы, построенные на экономичных сетевых адаптерах 1 Gb, значительно теряют производительность на Ethernet-портах. Как правило, в таких решениях два или три встроенных порта GbE основаны на десктопных чипах. Передача данных через них задействует ресурсы процессора, RAM и внутренних шин. Если таким образом построена виртуализированная система, производительность ее сетевого трафика может быть снижена на треть.

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

Настройка Windows

В настройках электропитания операционной системы выберите и активируйте план «Высокая производительность», и далее:

  • Изменить дополнительные параметры плана → Управление питанием процессора → Минимальное состояние процессора → 100%.

Согласно тестам, эта простая настройка дает существенный прирост производительности и значительно ускоряет выполнение процессов в 1С, например, время открытия форм сокращается почти вдвое.

Способы повышения отказоустойчивости системы

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

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

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

Нередко сервер 1С приходится ставить в помещении, где работают сотрудники. Для таких условий мы рекомендуем специальные корпуса-башни с пониженным шумом.

Петр Чикорский, ведущий технический специалист компании Larga

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Наверх