Как повысить производительность 1С на старом сервере Dell R710?

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

При работе с базами данных 1С на устаревшем оборудовании, таком как Dell R710 (выпуска 2009 года), администраторы часто сталкиваются с низкой производительностью. В нашей ситуации система выдает 21 балл по тесту Гилева, что находится на грани «Удовлетворительно» и «Хорошо». При наличии 50 активных пользователей и баз объемом до 150 Гб, работающих на связке SQL + 1C на одном физическом сервере, крайне важно выжать максимум из имеющегося железа, если бюджет на покупку нового оборудования не согласован руководством.

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

1. Аппаратная модернизация процессоров (CPU)

Проанализируем текущую конфигурацию: установлены два Xeon X5650 с частотой 2.67 GHz. Для 1С критически важна частота на одно ядро, так как многие операции (например, проведение документов) выполняются в один поток. Разберем варианты замены на максимально производительные модели для платформы LGA1366:

Выясним причину, почему это важно: старая архитектура требует высокой частоты для компенсации медленной (по современным меркам) шины памяти DDR3.

2. Тонкая настройка BIOS и операционной системы

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

  1. Установим профиль System Profile в значение Performance. Это отключит динамическое управление частотой, которое создает задержки при резком росте нагрузки.
  2. Отключим C-States и C1E. Эти параметры заставляют ядра процессора «засыпать» при простое, что увеличивает время «пробуждения» для обработки запроса от SQL-сервера.
  3. Проверим включение Intel Turbo Boost. В старых системах иногда помогает отключение Hyper-Threading, если нагрузка не превышает количество физических ядер. Это позволяет каждому ядру использовать весь объем кэша L3 без разделения с виртуальным потоком.

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

3. Оптимизация SQL Server для работы с 1С

Так как сервер приложений 1С и SQL Server находятся на одной машине с 96 Гб ОЗУ, разберем правила распределения памяти. SQL Server стремится занять всю доступную память, что может привести к «удушению» процессов rphost и вытеснению их в файл подкачки.

Установим жесткое ограничение Max Server Memory. Рекомендуется оставить около 20-25 Гб для нужд ОС и сервера 1С, выделив SQL Server около 70 Гб. Это предотвратит свопирование (swapping).

Рассмотрим настройку Lock Pages in Memory. Эта политика предотвращает выгрузку страниц памяти SQL Server в виртуальную память на диске. Для включения выполним следующие шаги:

  1. Запустим gpedit.msc (Редактор локальной групповой политики).
  2. Перейдем в Конфигурация компьютера -> Конфигурация Windows -> Параметры безопасности -> Локальные политики -> Назначение прав пользователя.
  3. Найдем пункт Закрепление страниц в памяти (Lock pages in memory) и добавим туда учетную запись, под которой запускается служба SQL Server.

Поскольку SQL и 1С на одном сервере, настроим использование протокола Shared Memory в строке подключения. Это исключит лишние накладные расходы на сетевой стек при обмене данными внутри одного сервера.

4. Оптимизация дисковой подсистемы и TempDB

У пользователя уже имеется RAID 10 на SAS SSD с контроллером H730. Это отличная база, но ее можно улучшить. Разберем работу с базой tempdb. Она активно используется 1С для временных таблиц при сложных расчетах.

Посмотрим на возможность использования RAM-диска. Учитывая 96 Гб оперативной памяти, мы можем выделить 10–12 Гб под виртуальный диск в ОЗУ и перенести туда файлы tempdb. Скорость работы с памятью на порядки выше, чем даже у SSD через старую шину SATA/SAS.

Если использование RAM-диска невозможно, следует разбить tempdb на несколько файлов (по количеству ядер процессора, но обычно не более 8) одинакового размера. Это позволит SQL Server записывать данные в файлы параллельно.

Проанализируем настройки контроллера H730. Убедимся, что включен режим Write Back (запись с кэшированием). Это безопасно только при исправном модуле BBU (батарейке), который у автора темы присутствует.

5. Настройка сервера приложений 1С:Предприятие

Для 50-60 пользователей не стоит создавать большое количество рабочих процессов. Рассмотрим оптимальную настройку в консоли администрирования 1С:

Выясним ситуацию с журналом регистрации. Если он занимает много места и активно растет, его стоит перенести на отдельный физический диск, чтобы операции записи в журнал не конкурировали с операциями SQL Server на основном RAID-массиве.

6. Сетевые настройки и терминальный доступ

Поскольку пользователи работают через отдельный терминальный сервер, проанализируем взаимодействие между «терминальником» и сервером 1С. В старых серверах Dell сетевые карты Broadcom могут некорректно обрабатывать технологии разгрузки. Попробуем отключить следующие параметры в свойствах сетевого адаптера:

Это часто помогает избавиться от микро-зависаний («фризов») интерфейса у пользователей в терминальной сессии.

Соблюдение этих рекомендаций в комплексе позволит поднять балл теста Гилева с 21 до 35–45 даже на оборудовании 2009 года, что обеспечит комфортную работу пользователям еще на год-два до планового обновления парка серверов.

← На главную