Наилучшее сочетание для 1с 8.3 сервера. Цены и порядок поставки. Правильный выбор: домашнее или серверное «железо»

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

Для определенности, рассмотрим платформу «1С:Предприятие 8.2» в ее популярных базовых конфигурациях «Бухгалтерский учет», «Торговля и склад», «Зарплата и Управление Персоналом», «Управление Торговым Предприятием» и, отчасти, «Управление Производственным Предприятием». Исходим из того, что для предприятий с 10 и более сотрудниками, работающими в 1С, используется «1С:Предприятие 8.2. Сервер приложений». Учтем вариант работы в режиме удаленного рабочего стола (Remote Desktop), с количеством одновременных пользователей базы данных до 100-150. Рекомендации будут применимы и для более «тяжелых» БД 1С, но «тяжелые случаи» всегда требуют индивидуального подхода.

Процессоры и оперативная память

Если компания совсем маленькая (2-7 пользователей в системе), база невелика (до 1GB), а «1С:Предприятие 8.2» работает в файловом режиме на пользовательском компьютере, то мы получаем классическую реализацию файл-сервера. С такой задачей по нагрузке на CPU справится даже Intel Core i3, тем более Intel Xeon E3-12xx. Объем необходимой оперативной памяти (RAM) считается совсем просто: 2GB под операционную систему и 2GB под системный файловый кеш.

Если в компании 5-25 пользователей 1С, размер базы данных до 4GB, то приложению «1С:Предприятие 8.2» должно хватить 4-х ядерного Intel Xeon E3-12xx либо AMD Opteron 4ххх. Кроме 2GB оперативной памяти под ОС, необходимо выделить 1-4GB под «1С:Предприятие 8.2. Сервер приложений» и еще столько же под MS SQL Server в качестве кеша - итого 8-12GB RAM. Для небольших БД желательно кешировать в оперативной памяти не менее 30% БД, а лучше все 100%.

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

В компаниях побольше пользователи 1С обычно работают через удаленный доступ к приложению (Remote Desktop) - то есть в терминальном режиме. Как правило, при10-100 пользователях 1С с базой данных от 1GB и выше, «1С:Предприятие 8.2. Сервер приложений» и пользовательское приложение «1С:Предприятие 8.2» запускается на одном и том же сервере.

Для определения необходимых процессорных ресурсов исходят из того, что одно физическое ядро может эффективно обрабатывать не более 8 пользовательских потоков - это связано с внутренней архитектурой процессоров. Как показывает практика, под задачи 1С + Remote Desktop не стоит брать серверные процессоры младших линеек с низкими частотами расчетных ядер и урезанной архитектурой. Если пользователей немного (до 15-20), хватит одного процессора из высокочастотных Intel Xeon E3-12xx. При этом минимум одно его физическое ядро (2 потока) уйдет под нужды SQL Server, еще одно (2 потока) - под «1С:Предприятие 8.2. Сервер приложений», а оставшиеся 2 физических ядра (4 потока) - под ОС и терминальных пользователей. При количестве пользователей 1С более 20 или при объемах БД более 4GB пора переходить к 2-х процессорным системам на Intel Xeon E5-26xx или AMD Opteron 62xx.

Расчет нужного объема оперативной памяти относительно прост: 2GB надо отдать ОС, 2GB и больше - MS SQL Server в качестве кеша (не менее 30% БД) , 1-4GB - под «1С:Предприятие 8.2. Сервер приложений», остальной памяти сервера должно хватать под терминальные сессии. Один терминальный пользователь, в зависимости от конфигурации, потребляет в приложениях «Бухгалтерский учет», «Торговля и склад» - 100-120MB, «Зарплата и Управление Персоналом», «Управление Торговым Предприятием» - 120-160MB, «Управление Производственным Предприятием» - 180-240MB. Если пользователь запускает дополнительно на сервере MS Word, MS Excel, MS Outlook, то на каждое приложение надо выделить еще порядка 100MB. Как правило, минимум для сервера терминалов - 12GB RAM.

К примеру, для сервера 1С со всем пакетом ПО, 50 терминальными пользователями в конфигурации «Управление Торговым Предприятием», и базой данных в 8GB оптимальной будет вычислительная мощность двух процессоров Intel Xeon E5-2650 (8 ядер, 16 потоков, 2.0 GHz). Оперативной памяти понадобится минимум 2 (ОС) + 4(SQL) + 4(1C-сервер) + 8 (160 «УТП» * 50 пользователей) = 18GB, а лучше 24-32GB(6-8 каналов DIMM по 4GB).

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

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

У 1С есть 5 потоков данных для дисковой подсистемы, с которыми она работает:

  • таблицы баз данных;
  • индексные файлы;
  • временные файлы tempDB;
  • log-файл SQL;
  • log-файл пользовательских приложений 1С.

Структура данных в 1С - объектно-ориентированная, со множеством объектов и связей между ними. Для работы с таблицами данных чрезвычайно важно количество операций чтения и записи, которые способна проделать дисковая подсистема за промежуток времени (Input Output Operation per Second, IOPS). При этом ее способность выдать высокую потоковую скорость передачи данных (в MBp/s) куда менее важна. Очень скромная база объемом 200-300MB с 3-5 пользователями может генерировать в пиках до 400-600 IOPS. База на 10-15 пользователей и объёмом в 400-800MB способна выдать 1500-2500 IOPS, 40-50 пользователей БД 2-4GB порождают5000-7500 IOPS, а базы под 80-100 пользователей легко достигают 12000-18000 IOPS.

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

Современные диски в операциях чтения и записи со случайным доступом (Random Read/Write) в одиночку справляются с такими нагрузками:

Intel 910 400 GB

2400 – 8600 IOPS

Хорошо видно, что:

  • узким местом и для HDD, и для SSD является запись;
  • традиционные HDD - не конкуренты SSD по скорости чтения в IOPS даже теоретически, разница превышает два порядка;
  • даже не самый современный десктопный SSD в 3-40 раз (в зависимости от конфигурирования) превосходит по скорости записи в IOPS любой HDD, серверный SSD - в 12-40 раз быстрее HDD;
  • максимальную производительность в IOPS дают PCIe SSD класса Intel 910 или LSI WarpDrive.

Одиночные диски в серверах БД не используются, только RAID-массивы. Для дальнейшего расчета реальной производительности дисковой подсистемы нужно учесть затраты («штраф») на запись в IOPS, которые несет дисковая группа в RAID:

Если собрать 6 дисков в RAID 10, то на каждую запись в 1 IOPS данных будет потрачено 2 IOPS физических дисков, а если в RAID 6 - то 6 IOPS дисков. Таким образом, при расчете нагрузочных возможностей дисковой группы на запись нужно вначале сложить IOPS всех дисков RAID-группы, а затем разделить их на «штраф».

Пример 1: 2 HDD SATA 7200 в RAID 1 обеспечат на запись: (100 IOPS *2) / 2 = 100 IOPS.

Пример 2: 4 SATA 7200 в RAID 5 обеспечат на запись: (100 IOPS *4) / 4 = 100 IOPS.

Пример 3: 4 SATA 7200 в RAID 10 обеспечат на запись: (100 IOPS *4) / 2 = 200 IOPS.

Примеры 2 и 3 наглядно демонстрируют, почему для хранения баз данных, у которых типовое распределение чтение/запись составляет 68/32, предпочтителен RAID 10.

Из данных трех таблиц понятно, по какой причине производительности типового «джентльменского набора» 2 HDD SATA 7200 в RAID 1 серверу недостаточно: при пиковых нагрузках растет очередь обращений к диску, пользователи ожидают ответа системы, иногда по многу часов.

Как увеличить производительность дисковой подсистемы на запись? Наращивают количество дисков в RAID-группе, переходят к дискам с большей скоростью вращения, выбирают уровень RAID c меньшим штрафом на запись. Хорошо помогает кеширование RAID-контроллером с включенным режимом отложенной записи Write back. Данные пишутся не напрямую на диски (как в режиме Write Through), а в кеш контроллера, и только затем, в пакетном режиме и упорядоченном виде - на диски. В зависимости от специфики задачи, производительность записи удается поднять на 30-100%.

Под слабо нагруженные или относительно небольшие БД (до 20GB) подойдет недорогой способ «добычи IOPS» - гибридный RAID из SSD/HDD . Большего и не нужно филиальной БД на 3-15 пользователей в распределённой структуре вроде сети кафе или СТО.

Для объемных (200GB и более) БД с длинным историческим шлейфом данных, либо для обслуживания нескольких объемных БД эффективным может оказаться SSD-кеширование (технологии LSI CacheCade 2.0 или Adaptec MaxCache 3.0). По опыту эксплуатации таких систем, именно в задачах 1С с их помощью можно относительно недорого и без существенных изменений в инфраструктуре хранения ускорить дисковые операции на 20-50%.

Чемпионом по быстродействию в IOPS предсказуемо являются RAID-массивы на серверных SSD - как традиционные, с использованием SAS RAID-контроллера, так и PCIe SSD. Мешают их популярности два ограничителя: технологический (производительность RAID- контроллеров или необходимость радикально ломать структуру хранения) и цена реализации.

Отдельно следует сказать о хранении индексных файлов и TempDB. Индексные файлы обновляются очень редко (обычно 1 раз в сутки), зато читаются очень и очень часто (IOPS). Таким данным просто необходимо храниться на SSD, c их показателями по чтению! TempDB, используемые для хранения временных данных, как правило, невелики по объему (1-4-12GB), зато очень требовательны к скорости записи. Индексные и временные файлы объединяет то, что их потеря не приводит к потере реальных данных. А значит, они могут размещаться на отдельном (еще лучше - на двух отдельных томах) SSD. Хотя бы и на бортовом контроллере SATA материнской платы. С точки зрения надежности и быстродействия, под TempDB желательно отдать зеркало (RAID1) из SSD, можно на бортовом контроллере, но с обязательным выключением всех кешей на запись. С этой ролью справятся и десктопные SSD - вроде Intel 520-серии, где аппаратная компрессия данных при записи в TempDB будет как раз уместной. Вынос этих задач с общей системы хранения на выделенную скоростную подсистему положительно сказывается на производительности системы в целом, особенно в моменты пиковых нагрузок.

В случаях, когда есть возможность обеспечить максимально быструю реакцию администраторов при сбоях, и когда имеются сложные расчетные задачи (складская или транспортная логистика, производство в УПП, объемные обмены в УРБД), TempDB выносят на RAMDrive. Такое решение позволяет выиграть иногда до 4-12% общей производительности системы. Некоторое неудобство возникает только в случае рестарта сервера: если автоматически RAMDrive не запустится, потребуется вмешательство администратора для ручного старта - иначе станет вся система.

Еще один важный компонент - log-файлы. Они имеют неприятную для любой дисковой подсистемы особенность - генерировать почти постоянный поток мелких обращений на запись. Это незаметно при средних нагрузках, но сильно ухудшает быстродействие сервера 1С при пиковых нагрузках. Разумно выносить log-файл (в особенности, log-файл SQL) на отдельный физический том, к которому нет высоких требований по IOPS, и на который будет идти практически линейная запись. Для спокойствия можно создать зеркало из недорогих и объемных SATA/NL SAS (для Full log), либо недорогих десктопных SSD все той же Intel 520-й серии (Simple log, или Full log, с ежедневным его Backup и очисткой).

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

Дисковая подсистема «идеального сервера под 1С» выглядит так:

1. Таблицы базы данных размещены на RAID 10 (или RAID 1 для малых БД) из надежных серверных SSD с обязательным аппаратным RAID-контроллером. При высоких требованиях по IOPS можно рассмотреть вариант PCIe SSD. Для БД большого объема эффективно SSD-кеширование массивов HDD. Если используемая конфигурация 1С и структура данных не слишком требовательны к IOPS, а количество пользователей невелико - хватит традиционного массива из HDD SAS 15K rpm.

2. Индексные файлы вынесены на быстрый и недорогой одиночный SSD, TempDB - на 1-2 (RAID 1) SSD или RAMDrive.

3. Под log-файлы SQL (а желательно и 1С) отведен выделенный том (одиночный физический диск или RAID-1) на SATA/NL SAS HDD или недорогих SSD, либо логический диск на RAID-массиве, на котором расположена операционная система сервера и пользовательские файлы/папки.

4. Операционная система и пользовательские данные хранятся на RAID 1 из HDD или SSD.

Если IT-инфраструктура виртуализирована, крайне желательно, чтобы SQL Server был установлен не как виртуальная машина, а непосредственно на физический сервер, на «голое железо». Цена вопроса - от 15 до 35% производительности дисковой подсистемы (в зависимости от оборудования, драйверов, средств виртуализации и способов подключения тома). В виртуализированной среде SQL-сервера подключение томов с таблицами БД, индексными файлами и TempDB к VM обязательно в монопольном режиме по Direct Access.

Сетевые интерфейсы

При построении систем 1С:Предприятие 8 для малых и средних предприятий (до 100-150 активных пользователей одновременно) следует минимизировать потери на сетевых операциях через интерфейс Ethernet. В идеале - обслуживать и SQL Server, и «1С:Предприятие 8 Сервер приложений х64», и пользовательские сессии 1С в Remote Desktop одним физическим сервером. Спорная с точки зрения обеспечения отказоустойчивости, такая рекомендация позволяет выжать максимум из оборудования и ПО, а за счет применения виртуализации дает определенный уровень безопасности и «повторяемость среды» на другом оборудовании.

Зачем исключать Ethernet из цепочки SQL-сервер -> Сервер приложений 1С:Предприятие 8 -> пользовательская сессия 1С:Предприятие 8? Сетевой интерфейс Ethernet, с его упаковкой данных в относительно небольшие блоки для передачи, всегда будет создавать дополнительные задержки: и при упаковке/распаковке трафика, и при самой передаче (высокая латентность). В 1С:Предприятие 8 довольно большие массивы данных передаются для обработки и отображения по всей цепочке, в некоторых ситуациях - в обе стороны. При прямой же передаче данных от одного процесса другому в рамках оперативной памяти сервера (на одном сервере без виртуализации), или же через виртуальный сетевой интерфейс (в рамках все того же одного физического сервера, при хороших серверных сетевых адаптерах с переносом блоков RAM между VM) задержки намного ниже. Современные двухпроцессорные серверы с большой оперативной памятью и дисковой подсистемой на SSD позволяют комфортно обслужить БД 1С на 100-150 активных пользователей.

Если для нагруженных БД использование нескольких физических хостов неизбежно, желательно связать все серверы по 10Gb Ethernet. Или, как минимум, 2-4агрегированными соединениями 1Gb Ethernet с аппаратным ускорением TCP/IP (TCP/IP Offloader) и аппаратной поддержкой виртуализации.

Больше всего от потерь производительности на портах Ethernet страдают бюджетные решения. Не секрет, что сетевые адаптеры 1Gb, распаиваемые на большинстве серверных материнских плат, не предназначены для обслуживания интенсивного сетевого трафика. Даже если на плате есть 2 или 3 порта GbE, они, как правило, реализованы на десктопных чипах. Достаточные для управления, они порождают дополнительные накладные расходы по обслуживанию сетевых обменов, особенно в виртуализированной среде. Весь процесс передачи данных через такой чип обеспечивается за счет ресурсов процессора, оперативной памяти и нагрузки на внутренние шины. Никакого ускорения передачи IP-трафика такие чипы не дают, каждый принимаемый и передаваемый Ethernet-пакет требует отдельного прерывания на процессор. В виртуализированой среде потери производительности сетевого интерфейса могут достигать 25-30%. Самое неприятное, что перегрузки именно сетевого интерфейса средствами мониторинга можно и не заметить. За него отдувается центральный процессор, а если не работает, то простаивает в ожидании ответа от сетевой карты. Порты на десктопных чипах желательно исключить из потока данных в виртуализированных средах, оставив их под задачи управления сервером. Под интенсивный сетевой трафик стоит добавить дискретную сетевую карту на серверном чипсете.

Отказоустойчивость или допустимое время простоя?

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

Разумеется, для предприятий с относительно большим количеством одновременно подключенных пользователей (25-150) и размещением всех приложений на одном сервере обязательно применение источников бесперебойного энергоснабжения, избыточных блоков питания самих серверов, корзин горячей замены дисков и RAID-массивов с горячим резервированием. Но никакие аппаратные средства не заменят планового резервирования самих данных. Имея ежедневный (точнее, еженощный) backup и оперативный файл с Full SQL log, можно полностью восстановить БД 1С за относительно короткий промежуток.

Допустимое время простоя центральной системы 1С для малых и средних предприятий - 1-2 аварии в месяц, продолжительностью 1-4 часа. На самом деле, это огромный запас времени - если к восстановлению быть готовыми заранее. Необходимым условием быстрого рестарта является наличие образов всех виртуальных и физических серверов в виде VM на отдельном хранилище/томе - для восстановления самой инфраструктурной части на резервном сервере. Обязателен ежедневный backup (а также еженедельный и по закрытию периода) на другое физическое устройство и Full SQL log для случаев, когда потеря данных «с начала рабочего дня» критична и трудно восстановима вручную. При наличии подменного оборудования можно уложиться в 1-2 часа для восстановления работоспособности в целом, пусть и с меньшей производительностью. Ну а там, где требуется непрерывность работы 24×7, первоочередными задачами будут выбор соответствующей архитектуры, оборудования с минимальным количеством точек отказа и полноценных технологий кластеризации. Но это уже совсем другая история.

Оригинал статьи: http://ko.com.ua/proektirovanie_servera_pod_1s_66779

С разрешения редактора журнала "Компьютерное обозрение"

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

Итак, сервер 1С на 10 пользователей должен обладать следующим:

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

    Для базы данных хорошо подходит SSD с интерфейсом SAS, он обеспечит возможность параллельной и быстрой обработки операций. Подойдет и обычный HDD, но интерфейс опять-таки лучше SAS, SATA подходит только для последовательных запросов.

    Хорошая сетевая карта обеспечит нормальную локальную сеть.

    Оперативная память. Желательно DDR 4, но и DDR3 хватит за глаза. Ее объем должен равняться размеру БД либо превышать.

    Отказоустойчивость. Хороший блок питания, ИБП, хранилище для резервных копий.

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

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

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

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

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

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

Толстый клиент

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

Тонкий клиент

Его можно назвать основным видом клиентского приложения для платформы 8.2, в теории, на практике не все так гладко и мы еще к этому вернемся. Схема его работы кардинально иная: клиент запрашивает данные у сервера 1С, тот получает их из БД, обрабатывает и отдает клиенту результат вычислений. Основная вычислительная нагрузка при этом ложится на сервер, поэтому особых требований к клиентским ПК и каналу от клиента к серверу не предъявляется.

Также тонкий клиент может работать как по протоколу TCP/IP в локальной сети, так и через HTTP через интернет. Для этого требуется еще один посредник - веб-сервер, который передает запросы клиента серверу 1С, никакой обработки данных на веб-сервере не производится, он используется исключительно как транспорт. Преимущества тонкого клиента понятны, он позволяет, при наличии мощного сервера, значительно ускорить работу с программой, также значительно снижается сетевой трафик, что весьма актуально для офисных сетей.

Веб-клиент

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

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

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

На сегодня в режиме управляемого приложения работает лишь часть типовых конфигураций, такие как: Управление небольшой фирмой, Управление торговлей 11, Розница 2 и Зарплата и управление персоналом. Эти решения могут использовать все преимущества новой платформы. Бухгалтерия предприятия 2.0 не использует режим управляемого приложения и в тонком и веб-клиентах работать не будет, это же относится и ко многим сторонним решениям, таким как "Камин" и т.п.

Выводы

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

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

Кластер серверов 1С

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

Также система не накладывает никаких требований к платформам. Вы можете совместно использовать как Windows так и Linux сервера, в качестве веб-сервера можно использовать Apache и IIS, из СУБД поддерживаются PostgreSQL, MS SQL Server, IBM DB2 и Oracle. Поэтому никто не мешает вам создать схему, в которой сервер 1С работающий на платформе Linux будет работать совместно с сервером БД под управлением Windows Server и IIS и наоборот. Кроме того вы можете использовать несколько серверов СУБД (как и веб-серверов) располагая разные базы на разных серверах.

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

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

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

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

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

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

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

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

Выбор сервера для 1С

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

Требования к серверу 1С

В аппаратной структуре 1С сервера для нас будут важны характеристики процессора, оперативной памяти, дисковой подсистемы и сетевые интерфейсы.

Необходимо, чтобы они обеспечивали стабильную и достаточно производительную работу следующих компонентов:

  • операционная система;
  • сервер баз данных (чаще всего это );
  • серверная часть 1С (не для всех случаев, так как маленькая компания на 2-10 пользователей может работать с 1С в файловом режиме);
  • работа пользователей в режиме Remote Desktop;
  • работа удаленных пользователей через тонкий клиент или веб-клиент.

Выбор процессора для сервера 1С

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

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

Сколько памяти нужно серверу 1С

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

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

  • 2 Гб потребуется под работу операционной системы
  • минимум 2 Гб под работу кэша MS SQL Server, а лучше чтобы эта величина составляла 20-30% реального объема базы данных – это обеспечит комфортную работу пользователей с ней
  • 1 – 4 Гб для сервера приложений 1С
  • 100 – 250 Мб потребует одна пользовательская терминальная сессия, в зависимости от набора функций сервера 1С, используемой конфигурации

Приведем свои ориентировочные расчеты параметров сервера 1С 8.3:

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

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

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

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

  • Неважно, какой сервер для 1С вы создаете, мы ни в каком случае не советуем использовать одиночные диски в серверах – желательно организовывать их в RAID-массивы (RAID 10 для больших или RAID 1 для небольших баз данных), где будут находиться таблицы БД.
  • Файлы индексов рекомендуем выносить на отдельный SSD для более быстрого доступа к ним
  • TempDB - на 1-2 (RAID 1) SSD.
  • ОС и данные пользователей помещайте на RAID 1 из SSD/HDD.
  • Под log-файлы отведите отдельный логический диск из массива или физический диск SSD.
  • По возможности используйте аппаратный контроллер – нам приходилось видеть ситуации, когда мощный и дорогой сервер тормозил из-за недостаточной производительности контроллера.

Подбор сервера для 1С

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

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

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

Эта статья содержит информацию о процедуре установки 1С в клиент-серверном варианте.

Установка платформы 1С описана в другой нашей статье – “Администрирование 1С”, в разделе “Установка 1С”. Установка на сервер почти полностью совпадает с установкой на локальный компьютер, с одной лишь разницей. В серверном варианте при выборе устанавливаемых компонент необходимо выбрать “Сервер 1С:Предприятия” и “Администрирование сервера 1С:Предприятия”.

Установить 1С на клиентских компьютерах, с которых будет осуществляться подключение к серверу.

Установка на клиентских компьютерах ничем не отличается от способа, описанного ранее в статье “Администрирование 1С”.

Создать информационную базу в SQL.

Создание информационной базы в SQL тоже очень похоже на создание базы в файловом варианте. Разница заключается в том, что на этапе выбора типа расположения информационной базы необходимо выбрать “На сервере 1С:Предприятия”.

В пункте “Кластер серверов” укажите имя (а лучше IP-адрес) сервера, на который устанавливали SQL.

В пункте “Имя информационной базы” укажите любое имя, которое хотите дать базе.

Тип СУБД – SQL.

Пользователь базы данных и его пароль – тот самый суперпользователь, о котором говорилось выше, на этапе установки MS SQL.

Смещение дат оставьте по умолчанию.

Необходимо отметить пункт “Создать базу данных в случае ее отсутствия” и нажать “Далее”.

Теперь база успешно создана на сервере SQL и добавлена в список доступных баз. Внизу на картинке можно увидеть результат проделанной работы.

Стоить отметить, что созданная база пока еще пустая. Это каркас, место, выделенное в SQL под вашу информационную базу. Для того, чтобы загрузить свою базу в этот каркас – необходимо воспользоваться средствами Выгрузки/Загрузки информационной базы. Процедура Выгрузки/Загрузки также описана в другой нашей статье “Администрирование 1С”.

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

Понравилась статья? Поделиться с друзьями: