
Как рассчитать minport / maxport для БД
Параметры запуска брокера базы данных -minport и -maxport предназначены для определения отдельного диапазона TCP-портов, доступных для каждого экземпляра брокера базы данных. Это позволяет назначать порты серверам удаленных клиентов в архитектуре клиент-сервер.
Когда пользователь подключается к удалённому серверу через логин-брокер, последний создаёт сервер для удалённого соединения на одном из свободных портов в диапазоне от -minport до -maxport. Затем он перенаправляет подключение клиента на этот сервер или на следующий доступный сервер, в зависимости от значений параметров старта базы данных -Mi и -Ma.
В случае, если на сервере функционирует несколько баз данных, и их брокеры используют идентичные диапазоны портов, например, стандартные значения, существует высокая вероятность возникновения ситуации, при которой при создании нового сервера удаленных подключений не удастся выделить свободный порт. Это приведет к генерации ошибки с сообщением: «The port <port-num> is already in use. (12036)».
В связи с этим необходимо корректно настроить диапазоны портов для каждой базы данных.
- Следует произвести расчёт диапазонов свободных портов для каждой базы данных, соответствующих значению параметра -Mpb для каждого логин-брокера базы данных. Каждому логин-брокеру должен быть назначен уникальный диапазон портов. Использование различных диапазонов портов для каждого брокера, запускающего серверы удалённых соединений, позволяет сократить время, затрачиваемое на поиск доступного порта, поскольку каждый брокер сканирует меньший диапазон портов по сравнению с использованием единого большого диапазона для всех брокеров.
- Порты логин-брокеров (-S) должны быть расположены вне диапазонов -minport/maxport.
- В случае использования межсетевого экрана (файрвола), необходимо убедиться, что диапазоны портов открыты в его конфигурации.
Примеры некорректной конфигурации:
- Первый логин-брокер: параметр -Mpb установлен на значение 5, что означает создание максимум пяти серверов удаленных соединений. Диапазон портов -minport 9001 и -maxport 9100 в данном случае избыточен.
- Второй логин-брокер: параметр -Mpb установлен на значение 430, что предполагает создание максимум 430 серверов удаленных соединений. Диапазон портов -minport 9101 и -maxport 10000 также является избыточным.
Значения по умолчанию:
- Unix: -minport = 12000, -maxport = 13000
- Windows: -minport = 1025, -maxport = 3000
В отношении репликации…
Процессы сервера и агента репликации взаимодействуют через несколько портов. Процесс сервера репликации определяет основной порт агента репликации на основании значения параметра port, указанного в разделе [control-agent*.agent-name]. Процесс агента репликации, в свою очередь, выбирает порт из диапазона listener-minport/listener-maxport, указанного в разделе [agent], для установления канала связи с сервером репликации. Обычно репликация осуществляется посредством одного TCP-соединения между сервером и агентом.
Рекомендуется не сокращать диапазон портов до одного, так как это может привести к конфликтам при выполнении операций failover или failback с использованием утилиты DSRUTIL, которая может потребовать открытия дополнительных соединений на другой стороне в зависимости от конфигурации.
Значения по умолчанию:
- listener-minport = 4387
- listener-maxport = 4500
Вы также можете уменьшить этот диапазон, например, до 5, если сможете гарантировать, что порты в этом диапазоне не используются. Порт, который используется для подключения к целевой базе данных (-S), не должен находиться в этом диапазоне.
Интервал портов, определенный параметрами listener-minport и listener-maxport, должен быть разрешен для прохождения трафика через межсетевой экран.
Диапазоны значений параметров -minport и -maxport, а также listener-minport и listener-maxport должны быть строго разделены и не должны пересекаться для всех баз данных.
Метка:RDBMS, Производительность