У нас есть собственное специальное приложение, в котором большой пул клиентов Windows обращается к службе создания образов на IBM i (AS / 400) с V5R4. Иногда при большой загрузке ЦП клиенты не могут установить TCP / IP-соединение. Поскольку IBM i для меня немного чужд, у меня не было другого выбора, кроме как начать проводить параллели с другими ОС, в основном * NIX и Windows. У них обоих есть концепция и использование эфемерных портов, по которым устанавливается обратное соединение с клиентом. В другой ОС размер пула соединений варьируется от примерно четырех тысяч до шестидесяти четырех тысяч. После прочтения мне было интересно это руководство, если IBM i также поддерживает конфигурацию эфемерного диапазона портов или по умолчанию используется весь пул IP-адресов от 1024 до 65535?
Насколько мне известно, IBM i и его предшественники используют весь диапазон портов от 1024 до 65535.
Служба визуализации также написана в доме? Или это приложение от производителя?
Многие собственные приложения IBM i используют отдельные процессы (известные как задания) вместо одного многопоточного процесса для обработки активности клиентского сервера. Поскольку запуск нового процесса требует затрат относительно относительности, стандартной практикой является наличие пула доступных «предварительно запущенных» заданий, ожидающих обработки запросов. Однако, если одновременно поступает много запросов на подключение, возможно, что подключение будет отложено на время запуска новых заданий. Также возможно ограничить общее количество одновременно используемых подключений.
Например, давайте посмотрим на задание QZDASOINIT, которое обрабатывает запросы ODBC / JDBC / OLEDB ..
Эта команда:
DSPACTPJ SBS(QUSRWRK) PGM(QZDASOINIT)
покажет вам текущее, среднее и максимальное количество выполняемых и используемых заданий QZDASOINIT:
Prestart jobs:
Current number . . .
Average number . . .
Peak number . . . .
Prestart jobs in use:
Current number . . .
Average number . . .
Peak number . . . .
При перелистывании вниз вы увидите вторую страницу информации:
Program start requests:
Current number waiting . . . . . . . .
Average number waiting . . . . . . . .
Peak number waiting . . . . . . . . .
Average wait time . . . . . . . . . .
Number accepted . . . . . . . . . . .
Number rejected . . . . . . . . . . .
Предпусковые задания управляются с помощью «записей предпусковых заданий», назначенных данной подсистеме. Следующая последовательность приведет вас к "":
dspsbsd qusrwrk
10. Prestart job entries
5=Display details
Для моей записи QZDASOINIT у меня есть следующие
Initial number of jobs . . . . . . . . . . . . . : 1
Threshold . . . . . . . . . . . . . . . . . . . : 1
Additional number of jobs . . . . . . . . . . . : 2
Maximum number of jobs . . . . . . . . . . . . . : *NOMAX
Maximum number of uses . . . . . . . . . . . . . : 200
Wait for job . . . . . . . . . . . . . . . . . . : *YES
Для получения более подробной информации ознакомьтесь с документацией для настройка предварительных заданий
Эфемерные порты используются не в ОС; это приложение. Операционная система на самом деле не является определяющим фактором. Сказав это, у @Charles есть хороший ответ для попытки уберечь сервер от перегрузки при попытке запланировать новые входящие запросы.