Использование сервера для 1с предприятия. Решения. Настройка брандмауэра windows для работы субд

Сервер для 1С

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

Начиная с какого количества пользователей нужен сервер для 1С?

Бесплатный PostgreSQL для 1С появился уже давно. А сравнительно недавно появилась такая замечательная позиция в прайсе 1С:

Мы уверенно рекомендуем использовать 1С в клиент-серверном режиме начиная с 3-5 пользователей. Файловый вариант остается для совсем небольших баз и если нет потребности работать в базе из дома, командировок, других офисов, если остаться без 1С в случае сбоя на пару дней совсем не страшно. Мы также считаем работу в RDP устаревшей технологией, которая годится только тогда, когда по каким-то причинам используется платформа старая (8.0 или 8.1) или платформа древняя, так и тянет написать "древнерусская" (7.7). Поэтому все, что написано ниже, относится к варианту "на сервере 1С установлена СУБД и сервер приложений 1С:Предприятие, работа ведется в тонком клиенте 8.2".

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

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

  • больше 15 пользователей
  • нет собственного суперсисадмина, знающего вообще все "про компьютеры"
  • бизнес приносит достаточно денег для того, чтобы их жалеть в случае остановки работы 1С

Небольшое уточнение. Под "брендом" мы понимаем IBM, HP и подобные им марки. Любые местные "интеграторы", собирающие силами вчерашних студентов компьютеры на базе серверной платформы Intel "под заказ", с конфигурацией, записанной со слов клиента, брендами не являются. Даже если этот сервер собран в корпусе для установки в стойку. Даже если ему на лицевую панель налепили красивую этикетку. Это самосбор, и у нас есть множество примеров, когда, скажем так, при подборе компонентов сборщики делают ошибки. Например, мы видели, как в серьезном сервере за более чем 300 000 рублей аппаратный RAID-контроллер конфликтовал с материнской платой, и выдавал 15% от заявленной пропускной способности. Видели мы и конфигурации с огромными перекосами, например машину с четырьмя Xeon и единственным дисковым массивом из двух дисков. Обращайтесь за покупкой сервера под 1С к тем, кто понимает, каким он должен быть.

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

Операционная система


Не устраивая священных войн, рекомендуем использовать Windows Server 2012. Это надежная, проверенная платформа для сервера 1С. Другие решения имеют право на жизнь, но, скажем, если вы решили поставить Ubuntu Server, рекомендации вам вряд ли нужны. Да и вряд ли помогут. Linux для 1С каждый раз уникален и общих рекомендаций дать невозможно.

Для серверов начального уровня вполне можно использовать десктопную Windows, например, Windows 7/8. Если вам не нужны Active Directory, RDS, и в качестве СУБД вы не будете использовать MS SQL Server. Нужно только иметь ввиду, что по умолчанию в Windows 7 Professional количество одновременных подключений по TCP не может превышать 20. В Windows 8 это ограничение сняли.

Память

Памяти должно хватать. Если поставить памяти больше, чем нужно, роста производительности не будет. Если поставить меньше, чем нужно, работа пользователей превратится в пытку. Расчет такой: минимум 2Гб под нужды операционки, от 2Гб под СУБД, от 4Гб под сервер 1С:Предприятия. Итого минимум 8Гб. Такого объема вполне хватит для работы 5-10 пользователей с одной базой. На скриншоте типичная картина распределения памяти при неспешной работе нескольких пользователей с одной небольшой базой:

Обратите внимание, как любит сервер приложений 1С (rphost.exe) память. Сразу же после открытия базы ему нужно около гигабайта. При напряженной работе, например, перепроведении документов за месяц, он вполне способен освоить 6Гб при одном-единственном активном подключении. Еще нужно иметь ввиду, что синяя полоска ("Ожидание") это не свободная память, а системный кэш. Вот та же система, в которой начали более-менее интенсивно работать:

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

16Гб хватит для работы 20-30 пользователей с двумя-тремя базами. Обязательно нужно настроить максимальный выделяемый объем для сервера 1С:Предприятия (это делается в консоли администрирования) и для СУБД! Если этого не сделать, то, например, Postgree "из коробки" памяти будет использовать всего 200-300Мб. По умолчанию он "задушен". А вот сервер приложений 1С, наоборот, вполне может "съесть" все, сколько не дай.

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

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

Диск для системы вполне можно использовать не самый быстрый и не самый объемный. 500 Гб более чем достаточно.

Диск для баз однозначно SSD. Для баз 1С у обычных дисков и их массивов нет ни малейших преимуществ. При типичном размере базы среднего предприятия 2-3 Гб объема в 120Гб, как понимаете, вполне хватит. А быстродействие, при прочих равных, отличается в 10 и более раз. Ограничения по числу циклов перезаписи уже в прошлом, на сегодня SSD надежнее любого "механического" диска. Обязательно нужно брать SSD с технологией TRIM (дозапись кэша при отключении питания), и нужно внимательно смотреть на заявленную скорость записи, сейчас на рынке много разных вариантов.

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

Архивирование можно настроить средствами СУБД или написать командный файл, который будет запускаться планировщиком Windows и делать выгрузку баз из пакетного режима 1С:Предприятия. Это не очень важно. Важно, чтобы каждую ночь система автоматически делала архив, и записывала его на отдельный диск сервера. Система архивации, которая требует запуска вручную, является не системой архивации, а ерундой. После создания выгрузок баз очень рекомендуем заливать их в облачное хранилище. Это может быть Google Drive, Yandex Disk, Dropbox или ваш собственный ftp-ресурс. Главное, чтобы эти выгрузки хранились не в том же помещении, где стоит сервер. Почему? Потому что нормальный бизнес должен спокойно перенести все что угодно. Пожар, кражу со взломом, визит из органов с изъятием. Не дай бог конечно, но всякое бывает.

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

Блок питания и ИБП

Не экономьте на блоке питания. Никогда. На всем остальном можно экономить в разумных пределах, а блок питания для сервера должен быть идеальным. Сервер отличается от обычного компьютера в первую очередь тем, что включен постоянно. Двукратный запас по ваттам и производитель с именем (Thermaltake, Powerman, Enermax), вот наша рекомендация. ИБП (Источник Бесперебойного Питания) нужен для двух задач. Во-первых, при серьезных скачках напряжения, он должен дать возможность выжить блоку питания сервера, приняв удар на себя (или лучше на свой предохранитель). Во-вторых, он должен корректно выключить сервер при пропадании напряжения в сети. ИБП не должен и не может позволять работать без внешнего напряжения, это иллюзии. Даже 15 минут. Его задача - дать операционке сервера команду на выключение. Поэтому не подключенный и не настроенный ИБП является предметом интерьера, не более того.

Процессор

При работе 5 пользователей любой "настольный" процессор достаточно высокого класса, например четырехядерный Core i7 в среднем будет загружен на 5-7%. Процессор, как правило, не является узким местом. Он должен соответствовать остальным параметрам, не более того. Поэтому процессор лучше выбирать в последнюю очередь, из подходящих для выбранной системы. Цифровые характеристики (число ядер, размер кэша, частота) не являются определяющими. Например, свежие Core i5 обгоняют Core i7 предыдущего поколения.

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

Программное обеспечение

Не нужно ставить на сервер антивирусное ПО. Это лишнее. Безопасность и отсутствие вирусов обеспечивается тремя правилами:

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

Не рекомендуем совмещать сервер 1С и файловый, почтовый, прокси и веб сервер. Эти задачи прекрасно решают специализированные устройства и сервисы. Например, роутер Zyxel Keenetic 4G и подобные ему прекрасно умеют раздавать интернет в сети, работать ftp- и файл-сервером. Веб-сервер небольшой и средней компании асболютно точно лучше перенести на VDS в датацентр. Почту туда же, или вообще на Google или Yandex почту для вашего домена.

Пара слов о виртуальных серверах

Безусловно, для hi-end серверных решений это очень востребованная технология. Однако, для предприятий среднего размера (20-50 пользователей) преимущества виртуализации далеко не очевидны, а для небольших компаний ничего кроме головной боли не дают. Во-первых, виртуализация серверов не бесплатна, и на нее тратятся ресурсы машины. Во-вторых, все преимущества "настройки производительности на лету" и "мобильности" разбиваются об кучу проблем с потерей программных лицензий 1С в случае любых изменений. В-третьих, делить-то по большому счету нечего (ресурсов немного), да и несколько серверов такому предприятию просто не нужны. Арендовать же виртуальный сервер в датацентре под 1С на сегодня рискуют очень немногие предприятия, да и в таком случае лучше не арендовать сервер, а подключиться к сервису "1С Онлайн".

Сколько стоит сервер для 1С?

На момент написания этой статьи примерная стоимость сервера:

    • от 30 000 рублей на 5-10 пользователей
    • от 60 000 рублей на 15-20 пользователей
    • от 90 000 рублей на 30-50 пользователей

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

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

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

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

Если организации необходимо обеспечить надежность и высокую производительность, то, как правило, выбирают внедрение 1С 8 с использованием промышленной СУБД - Microsoft SQL Server. В таком случае в качестве операционной системы используется Windows Server 2003, а оборудование должно отвечать высоким требованиям.

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

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

Также необходимо отметить, что для такого варианта внедрения для рабочих мест нужны лицензии клиентов на подключение к Windows Server 2003/2008. В случае высоких нагрузок на информационную базупроизводительность Windows SBS 2003/2008 может оказаться недостаточной. В таком случае существует возможность выделить дополнительный сервер, Microsoft SQL Server 2005/2007.

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

Список программного обеспечения для внедрения программ 1С: Предприятие.

Как правило, для внедрения программ на платформе 1С: Предприятие используется следующее программное обеспечение: Windows 7, Vista, XP Professional, Windows Server 2003-2008, Windows Small business server.

Windows XP Professional давно является базовой версией ОС и установлена она во многих организациях. Windows 7 представляет собой достаточно новую операционную систему для персональных компьютеров, которая обеспечивает высокую производительность за счет интеграции сетей, технологий и систем. Компьютеры, оснащенные операционными системами Windows Vista, XP Professional и 7 могут использоваться как серверы для начального уровня. Данные операционные системы поддерживают до 10 подключений, однако скорость работы и безопасность оставляют желать лучшего.

Windows Server 2003 или 2008 являются самыми популярными серверными ОС, которые позволяют внедрить решения 1С:Предприятия, обеспечить надежность и легкость в обслуживании.

Windows Small Business Server 2008 представляет собой программный продукт, состоящий из целого пакета серверных продуктов и дополнительных компонентов. Данный вариант подходит для небольших компаний, не планирующих серьезные нагрузки на информационную базу 1С Предприятие. Основным преимуществом Windows SBS 2008 является низкая цена.

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

Релиз подготовлен магазиномлицензионного программного обеспечения 1cmarket.ru


Комментарии и отзывы

Сетевые источники раскрыли подробные характеристики смартфона Black Shark 2 Pro, который будет официально...

Компания HTC пополнила ассортимент бюджетных смартфонов моделью Wildfire E, которая оценена в 9000 рублей...

Компании LG объявила, что в их телевизорах появится поддержка технологий Apple AirPlay 2 и HomeKit. По з...

Компания Phanteks накануне представила уникальное решение для сборки кастомной СВО. Новый Glacier D140 с...

В любой организации, где количество пользователей 1С 8.3 (или 8.2) от 10 и более, при больших объемах данных рекомендуется использовать клиент-серверный вариант работы. Такой вариант основан на использовании сторонней СУБД, например, MS SQL server. Естественно, клиент-серверный режим сложно представить без отдельно стоящего сервера. Но каждая компания уникальна, у каждой свои потребности, поэтому и к выбору сервера необходимо подходить с ответственностью. В этой статье мы постараемся дать ответ на вопрос, как выбрать сервер 1С — как программное обеспечение, так и железо. Выбор — очень важный пункт в развитии информационной системы компании.

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

Существует пять вариантов СУБД, с которой работает платформа 1С:

Получите 267 видеоуроков по 1С бесплатно:

  • встроенная СУБД самой 1С 8.3, так называемый файловый режим . Самый простой вариант работы, не может похвастаться высокой безопасностью. Работает на ОС Windows и Linux. Ограничение на размер базы данных около 6-10 гигабайт;
  • MS SQL Server — лучшая СУБД для 1С, имеющаяся на рынке. По мнению многих экспертов SQL Server вообще лучший программный продукт фирмы Microsoft. Для работы требуется ОС семейства Windows;
  • IBM DB2 Universal Database — достаточно надежная и безопасная система управления СУБД. Особенность её в некоторых нюансах обработки информации и работы системных методов (например, чувствительность к регистру строковых данных). На качество работы существенно влияют навыки и знания администратора. Поддерживает Windows, Mac OS X, Linux;
  • Oracle Database — версионная СУБД, что даёт в некоторых случая повышение производительности. Поддерживает Windows, Mac OS X, Linux;
  • PostgreSQL — также версионная. Самое главное преимущество — бесплатный дистрибутив программы. На скорость работы сильно влияет квалификация администратора. Рекомендуется для небольшого количества пользователей. Работает на Windows, Mac OS X, Linux.

Выбор железа для 1С

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

До 10 пользователей

  • Процессор : Intel Core i3 или Intel Xeon E3-12xx.
  • Оперативная память : 4 гигабайта, в них включается 2 гб на операционную систему и 2 гигабайта под кеш СУБД.
  • Дисковая подсистема
  • Сетевые интерфейсы

Сервер от 10 до 40

  • Процессор : аналог Intel Xeon E3-12xx или AMD Opteron 4ххх.
  • Оперативная память : обычно достаточно 8-12 гигабайт.
  • Дисковая подсистема : в идеале желательна комбинация SSD + HDD. Но если нет возможности, можно обойтись и HDD.
  • Сетевые интерфейсы : обычно все серверные приложения установлены на одной машине.

от 40 до 70

  • Процессор
  • Оперативная память : 16 гигабайт, а лучше 32.
  • Дисковая подсистема : Достаточно традиционного массива из HDD SAS 15K rpm.
  • Сетевые интерфейсы : Если серверы на разных машинах, использовать сеть с пропускной способностью 10 Gb.

от 70 до 120

При таком количестве пользователей имеет смысл в распределении серверных приложений на отдельные серверные машины.

  • Процессор : Intel Xeon E5-26xx или AMD Opteron 62xx.
  • Оперативная память : от 32 гигабайт.
  • Дисковая подсистема : RAID 10 из надежных серверных SSD с обязательным аппаратным RAID-контроллером.
  • Сетевые интерфейсы : Желательно связать цепочку серверов в сеть с пропускной способностью 10 Gb. Индексные файлы рекомендуется вынести на отдельный SSD, таблица временных таблиц TempDB - на 1-2 (RAID 1).

от 120 пользователей

Для начала предлагаю выделить несколько сценариев работы:

1.) Работа с файловой базой через общий ресурс (веб-сервер)

2.) Работа с файловой базой в терминале

3.) Работа с серверной (MSSQL) базой

Работа с файловой базой через общий ресурс (веб-сервер)


Здесь всё довольно таки просто. Если это обычные формы и 1-3 пользователя. То на "сервер" (машина, на которой будет лежать база выбираем:

  • быстые винты - обращаем внимание на скорость вращения шпинделя (берем 7200rpm). Например, не берем у WD серию green, берем black или red. У Seagate можно посмотреть серию Constellation.
  • Процессор - не столь важны ядра, как их частота. 1С довольно таки плохо использует многоядерность(вообще никак), поэтому выгоды от 8ми ядерного процессора вы не получите, 2ух-ядерный процессор с бОльшей частотой уделает его. Например, core i3 4360 - на текущий момент это максимальная частота у intel (4ghz в turbo режиме).
  • Оперативная память - роли она тут не сыграет. Учитывая как современные приложения пожирают память, поставьте 8гб
  • сеть - ну собственно, от 1гбит сети особо вы не выиграете, но тем не менее, если растянута 8ми жильная витая пара (можете посмотреть в коннекторах), то имеет смысл поставить гигабитный коммутатор, заодно будет быстрее файлообмен.
    И последний штрих в этом сценарии - не нужно размещать базу где-то на отдельной машине - длительные операции будут выполняться намного быстрее локально, чем по сети. Поставьте эту машину на рабочее место, откуда планируется, например,закрывать месяц или производить обновления ИБ.

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

  • SSD накопитель* вместо обычного винта нас спасёт. Возьмите накопитель на 120гб, благо даже с учетом роста курса стоят они приемлемо. Рекомендую обратить внимание на intel 520/530 series, kingston v300. А лучше просто почитайте обзоры на свежие модели, т.к. этот рынок довольно быстро развивается и на рынок выходят новинки
    *Примечание: Если будете объединять диски в RAID с зеркалированием, например,RAID1. В этом случае есть такой момент: большинству SSD дискам требуется trim для очистки мусора(в основном, касается довольно старых моделей), в режиме raid команда может не поддерживаться и накопитель по мере работы будет деградировать в скорости. Чтобы избежать этой проблемы можно воспользоваться минимум двумя способами: в идеале, приобрести SSD enterprise уровня, например, intel DC3500. Если это покажется дорого можно использовать связку: мат.плата с чипсетом
  • Процессор - аналогично с предыдущим пунктом. Чем больше частота тем лучше.
  • Оперативная память - большойроли она тут не сыграет. Учитывая как современные приложения пожирают память, поставьте 8гб

Если с базой будет работать локально 1 пользователь то этого достаточно для его комфортной работы, но скорость сетевой работы через общий ресурс будет всё так же медленной. Но и здесь есть выход - работа через web сервер. На просторах интернета вы сможете найти большое количество статей, где описывается как организовать работу с 1С подобным образом, не буду останавливаться в данной статье на этом. Единственное, поделюсь с Вами своими наблюдениями: предпочтительнее настроить работу у пользователей не через web-браузер, а через тонкий клиент (когда добавляем в список ИБ новую базу, на странице размещения ИБ есть пункт "на web сервере"). Это, по моим наблюдениям, быстрее чем через браузер. Кроме того при работе через браузер встречаются ошибки в интерфейсе (съехавшая ТЧ и т.п.), которых нет при работе через тонкий клиент.

Собственно, воспользовавшись данным рецептом (ssd,процессор с большой частотой,web-сервер,тонкий клиент). Можно развеять миф "если число пользователей больше 1 (по некоторой версии больше 0:)) - нужна серверная база*.

*Хотя, конечно, с оговоркой что это не УПП или база размером > ~4гб, а количество пользователей не превышает 4 (это максимальные размер базы и количество пользователей, которые видел я, возможно кто-то встречал случаи, когда через web-сервер с файловой базой работало больше человек? Напишите в комментариях)

Работа с файловой базой в терминале

Перейдем к следующему варианту. У нас есть терминальный сервер и есть файловая база. Здесь всё аналогично сценарию 1 за исключением процессора:

  • SSD накопитель вместо обычного винта.*
    *Примечание: обязательно соберите в диски в RAID с зеркалированием, например,RAID1. В этом случае есть такой момент: большинству SSD дискам требуется trim для очистки мусора(в основном, касается довольно старых моделей), в режиме raid команда может не поддерживаться и накопитель по мере работы будет деградировать в скорости. Чтобы избежать этой проблемы можно воспользоваться минимум двумя способами: в идеале, приобрести SSD enterprise уровня, например, intel DC3500. Если это покажется дорого можно использовать SSD пользовательского класса, но тогда убедитесь, что его ресурс перезаписи достаточен для вашего сценария работы.
  • Процессор - Здесь имеет смысл взять corei5 вместо i3, т.к. 1С будет работать на терминале, дополнительные 2ядра не помешают, но не забываем и про частоту.
  • Оперативная память есть такое устойчивое выражение у админов: памяти много не бывает). Из моей практики 7 человек при работе в БП3 занимают 8-12гб на терминале (зависит сколько документов открыто у каждого пользователя). Для обычных форм количество памяти можно поделить на 2:).Примерный расчет можно сделать так: 256мб для самой терминальной сессии + 1,5гб для 1С

Работа с серверной (MSSQL) базой


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

  • Размещение SQL сервера и сервера 1С. На разных машинах или на одной. Есть такой момент: если они находятся на одной машине, то общение между ними происходит через протокол shared memory, и в этом случае мы получаем бонус в быстродействии, которого нет, когда они находятся на разных машинах.
  • Процессор. А вот здесь уже пригодится и высокая тактовая частота и многоядерность. Т.к. у нас есть процесс SQL сервра, если он на этой же машине, и несколько процессов сервера 1С rphost которые будут загружать ядра процессора.Отдельно хочу выделить двухпроцессорные системы (т.е. когда на мат.плате два сокета для и более сокета). Даже если берете с одним пустым сокетом "про запас, докупить процессор потом, если вдруг понадобится". Я видел большое количество двухсокетных серверов, которые до глубокого end of life так и простояли с пустым вторым сокетом. Хотя, если фирма платит...зачем отказывать себе в удовольствии:)
  • Оперативная память . В своей работе SQL сервер* активно использует оперативную память, если её недостаточно, он будет лезть на диски, которые даже в случае ssd медленее оперативной памяти. Поэтому тут на памяти экономить не стоит. Заложите в бюджет максимально возможное количество (не забываем, конечно о здравом смысле:)), и оставьте свободные слоты на материнской плате, чтобы иметь возможность всегда доставить дополнительную планку.
    *Примечание: не забудьте ограничить максимально используемую SQL сервером ОЗУ, чтобы её хватило для ОС и терминальных сессий, а также увеличьте шаги увеличения tmp и базы SQL (по-умолчанию шаг 1мб, что очень мало, установите 200 МБ на базу и 50 МБ на лог)
  • Дисковая подсистема. Может появится мысль, что если объем ОЗУ будет больше размера базы, то она вся будет лежать в памяти и всё будет летать. Оно может так и было бы...до первой операции записи:) которая будет писать на диски. И вот тут то жесткие диски обломают вас:) Используйте SSD диски. И вот тут уже не экономьте не десктопных SSD, приобретите нормальные SSD enterprise уровня. Intel DC3700 -200гб,ресурс 3.7 петабайта (по 10 перезаписей всего объема накопителя в день в течение 5 лет), можно найти за 24000р/шт+второй для RAID1=48000. На лицензии уйдет во много больше.

Вроде всё. Если вопросы/жалобы/предложения - wellcome в комментарии;)

Сегодня мы рассмотрим выбор серверного «железа» для небольшой организации на 25-30 пользователей, с распределенной инфраструктурой (торговые точки, склад), которой требуются терминальный сервер и программа «1С: Предприятие». Этими сервисами будут пользоваться все сотрудники.

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

Можно организовать терминальный сервер и использовать там файловую версию 1С, но при таком количестве пользователей компания-разработчик рекомендует переходить на клиент-серверный вариант. Поэтому нам потребуется еще сервер под «1С: Предприятие» и сервер баз данных. Уточним сразу, что организовать терминальный сервер, сервер SQL и сервер 1С на одной операционной системе возможно, но, с точки зрения безопасности и стабильности работы сервисов, это крайне не рекомендуется. А если всё-таки очень хочется использовать один физический сервер для всех трёх ролей, то рекомендуем использовать виртуализацию, например, VMWare ESXi или Hyper-V.
Таким образом, вырисовывается три варианта:

  1. Один сервер с файловой 1С. Плохой вариант, далее мы его рассматривать не будем.
  2. Один сервер с двумя виртуальными машинами.
  3. Два физических сервера, один терминальный, второй с БД и 1С.

Для решения этих задач можно предложить следующую конфигурацию серверов:

В случае с одним физическим сервером мы остановили выбор на Dell R710, с двумя шестиядерными процессорами Xeon X5650, 64 Гб оперативной памяти и шестью дисками: два SSD в RAID 1 и четыре SAS-диска в RAID 10.

В случае с двумя физическими серверами мы остановили выбор на таких конфигурациях:

  • Терминальный сервер: IBM x3550 M3 с одним процессором Xeon E5620, 32 Гб оперативной памяти и двумя SSD в RAID 1, с дополнительной сетевой картой на два гигабитных интерфейса. У этого сервера также есть богатые возможности для апгрейда, так как он двухпроцессорный, имеет 18 слотов под модули памяти и поддерживает до 288 Гб ОЗУ.
  • Сервер баз данных: IBM x3250 M5 с одним процессором Xeon E3-1220v3, 16 Гб ОЗУ, дополнительным RAID-контроллером SAS/SATA, четырьмя SAS-дисками в RAID 10, с дополнительной сетевой картой на 2 гигабитных интерфейса.
Почему мы выбрали именно такие конфигурации? Для ответа на этот вопрос давайте подсчитаем, что нам нужно для обеспечения комфортной работы пользователей в нашей небольшой организации на 25-30 сотрудников. Чтобы не было недопонимания: это лишь один из примеров недорогого внедрения 1С, и во многих случаях целесообразнее выбрать другие конфигурации.

Процессор

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

Для небольшой базы SQL-серверу понадобится одно ядро. Но мы будем ориентироваться на расширение базы в будущем (или увеличение количества баз) и возьмем два ядра на SQL.

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

Итого у нас получается:

  • для сервера с двумя виртуальными машинами нужно 12 физических ядер. Можно и меньше, но всегда должен оставаться запас по мощности. Сервер с двумя шестиядерными процессорами подходит для этого идеально.
  • для терминального сервера достаточно одного процессора Xeon E5620 с шестью ядрами, для сервера баз данных - процессора Xeon E3-1220v3 с четырьмя ядрами.

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

Сначала посмотрим, сколько нужно оперативной памяти под сервисы:
  • Операционная система Windows Server только под себя требует 2 Гб ОЗУ.
  • Для SQL и небольшой базы 1С достаточно будет 4-6 Гб ОЗУ.
  • Сервер «1С: Предприятие» требует еще 2-3 Гб ОЗУ.
  • Рассчитываем, что каждому пользователю потребуется 700 Мб ОЗУ в терминальной сессии, тогда на 30 пользователей потребуется 21 Гб.
Теперь применим это к нашим вариантам.
  • Для одного сервера с двумя виртуальными машинами нужно около 40 Гб ОЗУ.
  • Для терминального сервера достаточно будет 24 Гб или 32 Гб ОЗУ (возьмем с запасом, предполагая будущее расширение). Для сервера с базами данных нужно не менее 8 Гб, но это «впритык», поэтому 16 Гб с запасом. Память сейчас - один из самых дешевых компонентов сервера.

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

Это традиционное бутылочное горлышко многих систем. Правильный выбор жестких дисков очень важен для обеспечения быстродействия серверов. При работе 1С с базой SQL происходит множество операций чтения/записи в секунду (IOPS). Если пользователи работают на терминальном сервере с тонких клиентов (т.е. полноценно используют терминальный сервер как рабочую среду), это сильно нагружает дисковую систему сервера. Например, 30 пользователей терминального сервера на RAID 1, SATA 3 Гбит/с, с дисками WD Velociraptor чувствуют себя некомфортно при работе с почтой и активном сёрфинге в интернете. Для терминальных серверов мы рекомендуем использовать SSD-накопители. Для серверов баз данных - SAS-диски, собранные в отказоустойчивые массивы.

Помимо накопителей, следует уделить внимание и дисковому контроллеру. Современные серверы имеют на борту довольно хорошие контроллеры, например, HP SmartArray и DELL PERC. Однако некорректно будет использовать «набортные» решения при серьёзной нагрузке, когда требуется максимальная производительность. Немного сэкономив, вы легко можете получить мощный сервер, который совершенно не тянет нагрузку. Поэтому контроллер должен быть аппаратным, а не программным , со своей энергонезависимой памятью.

Рассмотрим варианты решения этой задачи.

  • Для одного сервера с двумя виртуальными машинами желательно использовать два RAID-массива: на одном будут располагаться файлы виртуальной машины терминального сервера, на втором - файлы виртуальной машины сервера баз данных и «1C: Предприятия». Для создания первого массива лучше всего использовать два SSD-накопителя в RAID 1 (зеркало).

    Второй массив лучше создать из четырёх SAS-диска в RAID 10 (зеркало + страйп), но можно и из двух SSD-накопителей в RAID 1. Выбор зависит только от стоимости дисков и модели сервера.

  • Для двух серверов всё то же самое, только массивы будут разнесены по серверам. На терминальном - RAID 1 из двух SSD, на сервере баз данных - RAID 10.

Один или несколько серверов

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

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

Однако два сервера имеют более широкие возможности по апгрейду. Например, в нашем варианте недорогой IBM x3550 M3 с добавлением еще одного процессора и ОЗУ превращается в элегантные шорты терминальный сервер на 50 и даже более пользователей.

Еще одно «узкое место» в нашем случае, которое необходимо учитывать при выборе двух физических серверов, это обмен данными между ними по сети. У виртуальных серверов обмен данными идёт через виртуальный коммутатор. Здесь же, для увеличения пропускной способности сети, можно установить в каждый сервер по сетевой карте с двумя гигабитными интерфейсами, которые можно агрегировать между собой и напрямую соединить оба сервера агрегированными 2-х гигабитными линками. Или же использовать сетевые карты с SPF+ 10GBASE, но это дорогое удовольствие.

Запас по мощности

При расчетах и выборе сервера необходимо принимать во внимание пиковые нагрузки. Также обязательно нужно помнить, что база данных будет только «пухнуть», объёмы данных на терминальном сервере будут расти, а количество пользователей может увеличиться. Многие предприятия экономят на запасе мощности и через полгода-год сталкиваются с перебоями в работе и жалобами пользователей. Это тот случай, когда чрезмерная экономия приводит к новым затратам в будущем - скупой платит дважды. Выбранные нами варианты рассчитаны с запасом мощности и возможностью апгрейда. Учтено, что в DELL R710 можно будет добавить еще два жестких диска и ОЗУ, а также заменить процессоры на более производительные.

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

Если вы использовали один сервер DELL R710, то можно докупить недорогой IBM x3550 M3, поднять на нём гипервизор, перенести туда виртуальную машину с БД и 1С-сервером, а на DELL-е все ресурсы отдать виртуальной машине с терминалом. Это будет быстро, и не потребуется «всё выкинуть и купить новое».
Если же вы использовали два сервера IBM, то x3550 M3 с добавлением второго процессора и небольшого количества ОЗУ превращается из середнячка в довольно мощную машину. А в x3250 M5 можно обновить процессор с E3-1220v3 до E3-1285v3.