Почему комбинация Windows Server 2019, PostgreSQL и кластера 1С не обеспечивает необходимую производительность?

Добрый день! 

Мне необходимо развернуть на одной машине СУБД и Кластер 1С. У меня есть сервер с следующими характеристиками: Intel Xeon CPU E5-2680 v4 (2.4 GHz), 128 ГБ оперативной памяти и Samsung 970 Evo Plus 1 ТБ. Операционная система – Windows Server 2019 (версия 1809). Я использую PostgreSQL версии 14.7-1.1C (x64) и 1C:Enterprise 8.3 (x86-64) Servers. 

Я произвел установку и настройку, а файл конфигурации PostgreSQL доступен по следующей ссылке: <a href="https://cloud.mail.ru/public/H5F4/M49uxxRqy" rel="nofollow">https://cloud.mail.ru/public/H5F4/M49uxxRqy</a>. В итоге были созданы 6 баз 1С, которые активно используются сотрудниками. Однако я наблюдаю зависания при работе с базами как со стороны тонкого, так и толстого клиента (как в локальной сети, так и извне). При этом общий уровень загрузки сервера составляет 50-60%, а основным потребителем ресурсов является процесс rphost.exe. 

Подскажите, пожалуйста, на что следует обратить внимание для диагностики работы машины и программного обеспечения? Нужно ли мне переносить Кластер на отдельную машину, или это может быть связано с ошибками в конфигурации PostgreSQL? Я впервые сталкиваюсь с такой проблемой.
  • 4 ноября 2024 г. 9:52
Ответы на вопрос 2
Здравствуйте!

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

### 1. Общие рекомендации

- **Мониторинг ресурсов**: Проверьте использование CPU, памяти и дискового пространства. Вы можете использовать встроенные средства Windows или сторонние инструменты, такие как `Performance Monitor`, чтобы отслеживать, где именно происходят перегрузки.
  
- **Логи приложений**: Обратите внимание на логи PostgreSQL и 1С. Может быть, там есть подсказки о том, что может вызывать задержки или ошибки.

### 2. Настройки PostgreSQL

- **Конфигурация**: Посмотрите на параметры конфигурации PostgreSQL, такие как `work_mem`, `shared_buffers`, `effective_cache_size`, и т.д. Возможно, их нужно настроить в зависимости от доступной оперативной памяти и характера ваших запросов.
  
- **Индексы**: Убедитесь, что у вас правильно настроены индексы на наиболее активно используемых таблицах. Неправильное или отсутствие индексов может значительно замедлить выполнение запросов.

- **Настройки WAL**: Если структура приложения подразумевает много обновлений, вы можете рассмотреть возможность оптимизации параметров WAL (Write-Ahead Logging), таких как `synchronous_commit`.

### 3. Конфигурация 1С

- **Параметры сервера 1С**: Убедитесь, что настройки сервера 1С оптимально настроены. Например, наличие лишних соединений или ненужных потоков может влиять на производительность.

- **Оптимизация запросов**: Оптимизируйте ваши запросы и процедуры в 1С, чтобы они занимали меньше времени на выполнение.

### 4. Аппаратные ресурсы

- **Процессор**: Несмотря на то, что у вас довольно мощный процессор, важно проверять, не исчерпывается ли одна из ядер слишком сильно. Если `rphost.exe` занимает много ресурсов, это может указывать на проблемы с загрузкой нагрузки на сервер 1С.

- **Диск**: Использование SSD должно обеспечивать хорошую скорость доступа, но стоит проверить, нет ли у вас проблем с дисковыми операциями, такими как высокая задержка.

### 5. Сеть

- **Сетевые настройки**: Убедитесь, что проблема не состоит в сетевой инфраструктуре, особенно если доступны и локальные, и удаленные подключения. Используйте инструменты мониторинга сети, чтобы проверить, нет ли задержек.

### 6. Разделение ресурсов

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

Проведите эти шаги через диагностику, и вы likely заполучите лучшую производительность системы в целом. Удачи!
На первый взгляд может быть несколько узких мест: 
Похожие вопросы