← На главную
В условиях, когда полноценный сервер выходит из строя, а бюджет на приобретение нового ограничен, многие компании задумываются о возможности использования обычного десктопного компьютера в качестве сервера для работы с 1С и MS SQL. Рассмотрим, насколько это решение является жизнеспособным, какие нюансы следует учитывать и как максимально повысить его эффективность и надежность.
Для начала, давайте проанализируем исходные данные и основные опасения, которые возникают при переходе на десктопное решение:
- Текущие базы развернуты на MS SQL 2016.
- Пять одновременно работающих пользователей (2 по RDP, остальные в локальной сети).
- Базы: 1 УТ, 1 ЗУП, 3 Бухгалтерия, каждая не более 20 ГБ.
Основные опасения, которые мы обсудим:
- Возможность использования MS SQL, или придется переводить базы в файловый режим.
- Надежность десктопного железа при работе 24/7/365.
- Критичность отсутствия RAM ECC.
Использование MS SQL на десктопном сервере
Одно из первых опасений, которое часто возникает, связано с возможностью использования существующего MS SQL Server 2016 на десктопном железе. Многие ошибочно полагают, что придется переводить базы в файловый режим. Однако это не так. MS SQL Server 2016 (и более поздние версии, такие как 2019) прекрасно работает на операционных системах, предназначенных для десктопов, например, на Windows 10 или Windows 11. Поэтому, нет необходимости переводить базы в файловые; вы можете продолжить использовать их в связке с MS SQL.
Надежность десктопного железа при работе 24/7/365
Вопрос надежности десктопных компонентов при круглосуточной работе, безусловно, актуален. Специализированные серверные компоненты спроектированы для длительной непрерывной работы с повышенными нагрузками. Десктопное железо не имеет такой же гарантии долговечности. Однако современное десктопное оборудование значительно улучшилось в этом плане и способно выдерживать длительные периоды работы. Ключевыми факторами, влияющими на срок службы, являются:
- Качество комплектующих: Выбирайте качественные материнские платы, блоки питания, и другие компоненты.
- Интенсивность использования: Для 5 пользователей с базами до 20 ГБ нагрузка будет умеренной.
- Регулярное обслуживание: Чистка от пыли, проверка вентиляторов, замена термопасты.
Механические части, такие как вентиляторы и жесткие диски, более подвержены износу. Частые перезагрузки ПК также могут сокращать срок службы компонентов. Главное правило при использовании десктопного решения в качестве сервера – это регулярное и надежное резервное копирование данных. Бэкапы — это наше все. Рекомендуем делать быстрые бэкапы несколько раз в день, чтобы минимизировать потенциальные потери информации в случае сбоя.
Хотя надежность десктопного решения ниже, чем у специализированного сервера, для малых предприятий с ограниченным бюджетом это часто является приемлемым компромиссом, учитывая значительно меньшую стоимость.
Оперативная память ECC: критично ли это?
Отсутствие ECC (Error-Correcting Code) RAM является одним из основных опасений. Память ECC предназначена для обнаружения и исправления ошибок, возникающих в самой оперативной памяти или при передаче/получении данных. Это позволяет значительно повысить стабильность работы системы и предотвратить повреждение данных на низком уровне.
Рассмотрим подробнее, что такое ECC и насколько оно критично для нашей ситуации:
- Что такое ECC? ECC работает на очень низком уровне, контролируя целостность данных, циркулирующих между функциональными блоками компьютера, и исправляя однобитовые ошибки.
- Влияние на БД: Если система без ECC памяти столкнется с критическими ошибками в ОЗУ, то, поверьте, сохранность данных внутри БД будет последней вашей проблемой – появятся гораздо более серьезные системные сбои. ECC не предотвращает ошибки логики внутри самой базы данных или ошибки программного обеспечения 1С или SQL Server, оно лишь обеспечивает целостность данных в оперативной памяти.
- Критичность для малых систем: Для малых предприятий, где нет критической необходимости в абсолютной непрерывности работы (например, 24/7/365 без единого простоя) и есть регулярные бэкапы, отсутствие ECC-памяти может быть не столь критичным. Если раз в год вылетит служба SQL или 1С из-за редкой ошибки в памяти, перезапустить ее не составит труда. Главное – чтобы данные были целы, а это обеспечивается бэкапами.
- Поддержка ECC в десктопных процессорах: Некоторые десктопные процессоры AMD Ryzen (например, Ryzen 7 5700X) могут поддерживать ECC, однако совместимые материнские платы для десктопного сегмента, которые бы активировали эту функцию, встречаются значительно реже. Процессоры Intel десктопного сегмента также могут иметь поддержку ECC, но, как и в случае с AMD, ее реализация зависит от материнской платы. Если вы все же хотите использовать ECC, вам придется очень тщательно подбирать компоненты, изучая мануалы к материнским платам и совместимость с конкретными модулями памяти.
В большинстве случаев для подобных задач с ограниченным бюджетом и количеством пользователей, обычная, качественная оперативная память будет достаточным решением. Фокусируйтесь на надежных бэкапах, а не на попытках реализовать ECC на десктопном железе, что может оказаться сложным и дорогим.
Рекомендуемые конфигурации десктопного сервера
Мы рассмотрим несколько вариантов конфигураций, которые были успешно опробованы пользователями:
Конфигурация на базе Intel (Пример 1)
- Процессор: Intel Core i7 13700. Этот процессор обладает достаточным количеством ядер и высокой тактовой частотой для эффективной работы 1С и MS SQL.
- Оперативная память (RAM): 64 ГБ. Этого объема будет достаточно для одновременной работы 5 пользователей и небольших баз данных. При необходимости можно расширить до 128 ГБ.
- Дисковая подсистема:
- Отдельный M.2 NVMe SSD на 1 ТБ для баз данных (1С и MS SQL).
- Дополнительный M.2 NVMe SSD меньшего объема для операционной системы.
- Для бэкапов рекомендуется использовать отдельный HDD или сетевое хранилище.
- Производительность: На стандартных настройках в тесте Гилева такая система выдает около 31 попугая. После оптимизации BIOS и операционной системы производительность может стабильно достигать 45 попугаев.
Конфигурация на базе AMD (Пример 2)
- Процессор: AMD Ryzen 7 5700G (или Ryzen 7 5700X, Ryzen 9 для большей производительности). Процессоры AMD Ryzen часто показывают отличные результаты в 1С. Некоторые модели, как упоминалось, могут поддерживать ECC.
- Оперативная память (RAM): 64 ГБ. Возможно расширение до 128 ГБ.
- Дисковая подсистема:
- 1 M.2 SSD под систему.
- 2 M.2 SSD под базы данных.
- Отдельный HDD для бэкапов.
- Материнская плата: Выбирайте хорошую плату в ценовом диапазоне около 20 000 рублей, с качественными радиаторами для стабильного охлаждения.
- Стоимость: Общее решение может обойтись до 100 000 рублей.
- Производительность: В экспериментах с AMD Ryzen 9 в тесте Гилева были получены результаты до 92 попугаев.
- Пользователи: Такие конфигурации успешно справляются с нагрузкой до 35 пользователей.
Выбор дисковой подсистемы
Для сервера 1С с MS SQL критически важна скорость дисковой подсистемы. Мы рекомендуем использовать SSD-накопители, особенно с интерфейсом NVMe, которые обеспечивают значительно более высокую производительность по сравнению с SATA SSD. NVMe SSD идеально подходят для СУБД, требующих высокой скорости чтения и записи, повышая общую пропускную способность и сокращая время отклика.
- Тип дисков: Предпочтение отдавайте NVMe SSD. При выборе SSD обращайте внимание на наличие и объем кэш-памяти.
- Разделение дисков: Размещайте файлы базы данных и лога транзакций MS SQL на разных физических дисках (или хотя бы на разных логических разделах быстрых SSD).
- RAID-массивы: Для повышения надежности и производительности рассмотрите использование RAID-массивов.
- Для небольшого количества пользователей (до 10) может быть достаточно SATA SSD в RAID 1.
- Для увеличения скорости и надежности при большем количестве пользователей или более интенсивной работе рекомендуется использовать RAID 10 на SATA или NVMe SSD.
- Размер кластера файловой системы: Рекомендуется отформатировать файловую систему дисков с размером кластера 64 КБ, особенно для HDD, но это также полезно для SSD.
Операционная система
Хотя Windows Server является рекомендуемой ОС для серверов 1С с MS SQL, установки SQL Server 2016/2019 и сервера 1С возможны и на десктопных Windows 10 или 11. Рассмотрим особенности:
- Десктопные ОС: Использование Windows 10/11 может быть проще, так как драйверы для десктопных материнских плат разрабатываются именно под эти ОС.
- Windows Server на десктопном железе: Несмотря на то, что Intel не выпускает драйверы для своих десктопных материнских плат под серверные ОС (что может вызвать проблемы с установкой драйверов на интегрированные RAID-контроллеры и видеокарты), многие пользователи успешно устанавливают Windows Server на десктопные материнские платы, иногда используя драйверы от десктопных версий Windows. Однако это требует большей внимательности и готовности к возможным трудностям.
- RDP и тонкие клиенты: Вы используете RDP для двух пользователей. В 1С часто рекомендуется использовать тонкие клиенты вместо RDP, так как они более эффективно используют сетевые ресурсы и меньше нагружают сервер, но это зависит от специфики вашей сети и настройки.
Оптимизация производительности десктопного сервера
Для повышения производительности 1С и MS SQL на десктопном оборудовании критически важна правильная настройка BIOS и операционной системы. Мы подробно разберем шаги, которые помогут вам достичь максимальной производительности.
Настройки BIOS
В BIOS необходимо изменить следующие параметры:
- Энергосбережение процессора: Отключите функции энергосбережения процессора, такие как Intel SpeedStep, AMD Cool'n'Quiet, а также состояния C-States / C1E. Это обеспечит стабильно высокую тактовую частоту процессора, не давая ему переходить в энергосберегающие режимы.
- Turbo Boost / Turbo Core: Включите функцию Turbo Boost (для Intel) или Turbo Core (для AMD). Это позволит процессору автоматически увеличивать тактовую частоту выше базовой при высоких нагрузках, значительно повышая производительность.
- Поддержка виртуализации: Если ваш сервер не будет использоваться для виртуализации (например, для запуска Hyper-V или VMware), отключение поддержки виртуализации (Intel VT-x, SVM Mode для AMD) может увеличить производительность до 20%, так как освобождаются ресурсы, выделяемые для этой функции.
Настройки Windows
Оптимизация операционной системы Windows также играет ключевую роль:
- План электропитания: В параметрах электропитания Windows выберите план "Высокая производительность". Затем перейдите к дополнительным параметрам и установите минимальное состояние процессора на 100%. Это предотвратит снижение частоты процессора.
- Dynamic Fair Share Scheduling (DFSS): Для терминальных серверов с Windows Server 2012 и выше рекомендуется отключить механизм DFSS для дисков. Этот механизм распределяет аппаратные ресурсы и может замедлять работу, особенно при интенсивном дисковом вводе-выводе.
- Файл подкачки:
- При наличии достаточного объема оперативной памяти (64 ГБ и более) файл подкачки можно полностью отключить, поскольку физической памяти будет достаточно.
- При меньшем объеме памяти рекомендуется установить фиксированный размер файла подкачки, равный 1,5 объемам RAM, чтобы избежать его динамического изменения, которое может замедлять систему.
Настройка MS SQL Server
Мы подробно рассмотрим настройки MS SQL Server, которые критически важны для его эффективной работы с 1С:
- Max Degree of Parallelism (MAXDOP): Установите параметр "Max Degree of Parallelism" в значение "1". Платформа 1С не рассчитана на распараллеливание запросов внутри СУБД, и более высокие значения MAXDOP могут привести к снижению производительности или даже взаимоблокировкам.
- Ненужные службы: Остановите и отключите ненужные службы SQL Server (например, FullText Search, Integration Services, Reporting Services, если они не используются). Это освободит системные ресурсы.
- Максимальный размер памяти для SQL Server: Настройте максимальный размер памяти, который может использовать SQL Server. Оставьте достаточно памяти для операционной системы и других приложений. Например, если у вас 64 ГБ RAM, можно выделить 48-52 ГБ для SQL Server.
- Lock pages in memory: Установите разрешение "Lock pages in memory" (Закрепление страниц в памяти) для пользователя службы MS SQL Server. Это предотвратит выгрузку данных SQL Server в файл подкачки, обеспечивая более быстрый доступ к ним.
- Разделение файлов базы данных и лога транзакций: Размещайте файлы базы данных (
.mdf, .ndf) и лога транзакций (.ldf) на разных физических дисках, чтобы оптимизировать операции ввода-вывода.
- Регламентные задания: Настройте регулярные регламентные задания для MS SQL Server:
- Дефрагментация индексов: Регулярно перестраивайте или реорганизуйте индексы, чтобы поддерживать их эффективность.
- Обновление статистики: Обновляйте статистику баз данных, чтобы оптимизатор запросов мог строить наиболее эффективные планы выполнения запросов.
- Резервное копирование: Настройте расписание для создания полных и дифференциальных резервных копий баз данных.
Процессор и RAM для комфортной работы
Для комфортной работы 1С с базами данных объемом до 20 ГБ и 5 пользователей, мы рекомендуем следующие минимальные параметры:
- Процессор: Многоядерный процессор (не менее 4 ядер). Чем выше тактовая частота на ядро, тем лучше для 1С, так как она не всегда эффективно использует все ядра.
- Оперативная память (RAM): Минимум 32 ГБ оперативной памяти для обеспечения достаточного кэша. Оптимально – 64 ГБ, чтобы система работала без обращения к файлу подкачки.
Заключение
Создание сервера 1С и MS SQL на базе десктопного решения вполне возможно и является распространенной практикой при ограниченном бюджете. Главное – это тщательный подбор компонентов, правильная настройка системы и, самое важное, надежная стратегия резервного копирования. Хотя десктопное железо не дает такой же гарантии надежности, как специализированные серверные решения, грамотный подход позволит обеспечить стабильную работу для небольшого количества пользователей.
Мы проанализировали ситуацию, предложили конкретные конфигурации и шаги по оптимизации, которые помогут вам успешно реализовать данное решение. Не забывайте, что регулярный мониторинг и обслуживание системы также будут способствовать ее долговечности и стабильности.