IBM i (OS / 400) e portas efêmeras

1

Temos um aplicativo customizado interno, em que um grande conjunto de clientes Windows está acessando um serviço de criação de imagens no IBM i (AS / 400) executando o V5R4. Ocasionalmente, sob carga pesada da CPU, os clientes não conseguem estabelecer uma conexão TCP / IP. Como o IBM i é um pouco estranho para mim, não tive outra escolha senão começar a desenhar paralelos com outros sistemas operacionais, principalmente * NIX e Windows. Ambos têm um conceito e usam portas efêmeras, nas quais a conexão é estabelecida de volta ao cliente. No outro sistema operacional, o tamanho do pool de conexões varia de aproximadamente quatro mil a sessenta e quatro mil. Fiquei me perguntando, depois de ler este manual , se o IBM i também suportar porta efêmera configuração de intervalo, ou se está usando todo o pool de IP de 1024 a 65535 por padrão?

    
por Darek 22.06.2015 / 20:16

2 respostas

1

Tanto quanto eu sei, o IBM i e seus antecessores usam todo o intervalo de portas de 1024 a 65535.

O serviço de imagens também é escrito em casa? Ou é um aplicativo de fornecedor?

Muitos aplicativos nativos do IBM i usam processos separados (conhecidos como jobs) em vez de um único processo multiencadeado para manipular a atividade do servidor cliente. Como iniciar um novo processo é caro para a relatividade, a prática padrão é ter um conjunto de tarefas "pré-iniciadas" disponíveis esperando para processar solicitações. No entanto, se muitas solicitações de conexão forem recebidas de uma vez, é possível que a conexão seja atrasada enquanto novos trabalhos são iniciados. Também é possível limitar o número total de conexões em uso por vez.

Por exemplo, vamos dar uma olhada no job QZDASOINIT que lida com solicitações ODBC / JDBC / OLEDB.

Este comando:
DSPACTPJ SBS(QUSRWRK) PGM(QZDASOINIT)

mostrará a contagem atual, média e máxima de tarefas QZDASOINIT em execução e em uso:

 Prestart jobs:         
   Current number . . . 
   Average number . . . 
   Peak number  . . . . 

 Prestart jobs in use:  
   Current number . . . 
   Average number . . . 
   Peak number  . . . . 

A paginação abaixo mostra a segunda página de informações:

Program start requests:                 
  Current number waiting . . . . . . . .
  Average number waiting . . . . . . . .
  Peak number waiting  . . . . . . . . .
  Average wait time  . . . . . . . . . .
  Number accepted  . . . . . . . . . . .
  Number rejected  . . . . . . . . . . .

Os trabalhos de pré-início são controlados através das "Entradas de trabalho de pré-início" atribuídas a um determinado subsistema. A seqüência a seguir levará você ao "": dspsbsd qusrwrk e 10. Prestart job entries e 5=Display details

Para minha entrada QZDASOINIT, tenho o seguinte

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

Para obter informações mais detalhadas, consulte a documentação para sintonizar entradas de trabalho pré-início

    
por 22.06.2015 / 21:37
0

Não é o sistema operacional que usa portas efêmeras; é o aplicativo. O sistema operacional não é realmente o fator determinante nisso. Dito isto, o @Charles tem uma boa resposta para tentar evitar que o servidor fique sobrecarregado ao tentar agendar novas solicitações de entrada.

    
por 22.06.2015 / 23:27