Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

Настройка каналов связи (документ написан для УКМ4, но полностью подходит ля СуперМаг Плюс)

Разберем пример:

1 сервер на большое число магазинов и касс.

Используются подарочные карты и сертификаты

(150 касс, Windows Server 2008 R2)

  1. Настройка сервера

Первое, что нужно сделать – настроить сервер.

Если у нас СГО или же 1 сервер на несколько магазинов, то в обязательном порядке на сервере в реестре или с помощью командной строки настраиваем 2 параметра.

  • Параметр MaxUserPort

В Windows Server 2003 количество tcp сессий по умолчанию было равно 3976 + 1025 зарезервированных.

Для того чтобы это исправить, нужно было в реестре в разделе:

HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters создать параметр:

MaxUserPort

типа REG_DWORD

со значением до 65536

Это позволяло увеличить число возможных одновременных подключений к серверу до 65536.


В Windows Vista, Windows Server 2008, Windows server 2008 R2, Windows 7 значение этого параметра по умолчанию было изменено на 16382 (с 49652 до 65535) (обновление kb929851 от 04.2011)

Также стало возможным просмотреть значение этого параметра через командную строку

netsh int ipv4 show dynamicport tcp

netsh int ipv4 show dynamicport udp

netsh int ipv6 show dynamicport tcp

netsh int ipv6 show dynamicport udp

Чтобы установить другое значение этого параметра, теперь можно воспользоваться командой:

netsh int ipv4 set dynamicport tcp start=10000 num=30000

netsh int ipv4 set dynamicport udp start=10000 num=1000

netsh int ipv6 set dynamicport tcp start=10000 num=1000

netsh int ipv6 set dynamicport udp start=10000 num=1000


где:

start=начальный порт диапазона,

num=общее число портов, где минимальный диапазон портов, которые могут быть установлены — 255.

Минимальное значение начального порта (start) равно 1025.

Максимальное значение порта (start) (в зависимости от настройки диапазона) не может превышать 65535.

Также нужно учесть, что если на север был установлен Exchange Server 2007 а ОС семейства Windows Server 2008, то начальный порт диапазона примет значение от 1025 до 60000.



  • Параметр TcpTimedWaitDelay

TcpTimedWaitDelay

Key: Tcpip\Parameters

Value Type: REG_DWORD—time in seconds

ValidRange: 30-300 (decimal)

Default: 0xF0 (120 decimal)

Description: This parameter determines the length of time that a connection stays in the TIME_WAIT state when being closed. While a connection is in the TIME_WAIT state, the socket pair cannot be reused. This is also known as the 2MSL state because the value should be twice the maximum segment lifetime on the network. See RFC 793 for further details.


  1. Рекомендации по количеству каналов
  • Резервирование каналов

При запуске службы УКМ резервирует число каналов, заданное на вебе в разделе масштабирование сервера.

Общей рекомендацией может послужить число каналов на экспорт, равное общему числу касс/3.

Причем при конфигурации единый север на много магазинов, можно исходить из меньшего числа каналов (1/5, 1/4 от общего числа терминалов).

 

Пример – Пусть будет 30

Каналы на импорт – 20 (импорт происходит быстрее, данных с касс выгружается меньше).

Параметр «Резерв количества каналов на Мастер сервер» – обмен между СМами и СГО.

Каналы, отвечающие за обслуживание программ лояльности – это количество одновременно обслуживаемых запросов по обслуживанию подарочных сертификатов/карт и онлайн счетов.

Здесь тоже сильно задирать этот параметр не требуется.

Постарайтесь адекватно оценить, сколько людей могут одновременно на кассах расплачиваться подарочными картами (20).


В логах УКМ сервера будут сообщения – очередь, если очередь в этих сообщениях увеличивается (ранее было очередь на экспорт 72, через 20 минут стало - очередь на экспорт – 108), значит – каналов не хватает.

Также в разделе «Монитор оборудования/Кассы» – при нажатии на одну кассу можно посмотреть статус репликации на данную кассу, и очередь репликаций, если она есть.


Примечание:

В момент репликации на несколько касс сервер совершает несколько параллельных операций записи по сети в базу данных касс.

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


  • Соединение (connect) с базой

Каждый из этих каналов создает 1 поток + 1 соединение (connect) с базой.

Число этих соединений с базой зависит от параметра max_connections – в файле my.ini, а также от значений MaxUserPort, и  TcpTimedWaitDelay.

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


УКМ сервер – 32 битное приложение, и может максимально отъедать 2Гб памяти (ну или 3 с дополнительными настройками сервера).

Каждый поток отъедает память.

Максимальное число холостых потоков примерно 130. Это потоки без нагрузки. На живом сервере значения меньше.


  • Нет меток