Calcular Solicitações por Segundo

Se uma integração síncrona ficar esgotando o tempo limite ou estiver demorando mais do que o normal para ser concluída, pode ser que ela esteja tentando processar muitas solicitações. Saber as solicitações que sua instância processa por segundo ajuda a projetar integrações síncronas que fornecem as respostas rápidas de que você precisa.

O cálculo de solicitações por segundo ajuda a determinar o número aproximado de solicitações simultâneas que o sistema pode receber dos aplicativos clientes. Por exemplo, quando um aplicativo móvel chama o Oracle Integration, quantas solicitações simultâneas do aplicativo móvel sua instância pode processar?
Esse cálculo é especificamente para integrações síncronas, para as quais o Oracle Integration aguarda uma resposta do serviço de destino. Se você tiver uma integração que conclua uma tarefa grande e precise de um longo tempo para ser executada, a Oracle recomenda a criação de uma integração assíncrona.
Observação

  • Geralmente, as palavras "mensagem" e "solicitação" são sinônimas. No entanto, quando estiver trabalhando com payloads grandes, você poderá consumir mais de uma mensagem por solicitação. Essa alteração afeta seus cálculos. Consulte Exibir Instância de Serviço e Métricas de Mensagem de Faturamento.

    Os cálculos nesta seção presumem que cada solicitação tenha 50 KB ou menos.

  • Esse cálculo geralmente é chamado de TPS ou transações por segundo. O TPS não se aplica diretamente ao Oracle Integration por dois motivos:

    • O Oracle Integration processa solicitações, em vez de transações.
    • O dimensionamento no Oracle Integration se baseia no consumo de mensagens por hora, e não no consumo por segundo.

    O Oracle Integration equivalente ao TPS são solicitações por segundo, que é sua simultaneidade.

  1. Determine o número aproximado de solicitações que uma instância pode processar em um minuto.
    1. Determine o número de pacotes de mensagens que você comprou por hora para a instância.

      Para esse exemplo, vamos dizer que você tem uma licença do Oracle Integration e comprou 4 pacotes.

    2. Multiplique o número de pacotes de mensagens pelo número de mensagens do pacote (5.000 mensagens para clientes não BYOL (Bring Your Own License) e 20.000 mensagens para clientes BYOL).

      Nesse exemplo, vamos dizer que você é um cliente não BYOL (Bring Your Own License); portanto, seus pacotes de mensagens contêm 5.000 mensagens.

      4 pacotes de mensagens x 5.000 mensagens por hora = 20.000 solicitações por hora

    3. Divida o número de solicitações por hora por 3.600 para determinar sua capacidade aproximada por segundo.

      20.000 solicitações por hora / 3600 = 5,6 solicitações por segundo

    4. Multiplique as solicitações por segundo por 2; em geral, uma instância pode tratar o dobro da capacidade comprada.

      5,6 solicitações por segundo x 2 = 11 solicitações por segundo

  2. Calcule sua simultaneidade (o número de solicitações simultâneas que o sistema pode tratar dos aplicativos clientes).
    1. Determine o tempo de resposta típico em segundos.

      Por exemplo, execute algumas solicitações e verifique os tempos de resposta nos timestamps do fluxo de atividades. Consulte Rastrear o Status das Instâncias de Integração em Usando Integrações no Oracle Integration 3.

      O tempo de resposta pode variar, dependendo das circunstâncias. Quando o volume de transações aumenta em sua instância, seus tempos de resposta também podem aumentar.

      Neste exemplo, vamos dizer que seu tempo de resposta é 5 segundos.

    2. Multiplique o número de solicitações que você pode processar por segundo pelo tempo de resposta.

      11 solicitações por segundo x 5 segundos = 55 solicitações simultâneas

      Esse valor é sua simultaneidade aproximada.

Exemplo 6-1 Processando o número máximo de solicitações simultâneas

Vamos dar uma olhada em uma fila de amostras de solicitações quando uma instância que possa tratar 55 solicitações simultâneas estiver funcionando em plena capacidade.

A tabela a seguir ilustra como as solicitações chegam e são concluídas à medida que cada segundo se passa. O total de solicitações na fila aumenta até atingir 55 e permanece em 55 indefinidamente. Após 5 segundos (o tempo de resposta), as solicitações começam a ser concluídas.

Tempo decorrido Solicitações que chegam Solicitações concluídas Total de solicitações na fila

1 segundo

11

0

11

2 segundos

11

0

22

3 segundos

11

0

33

4 segundos

11

0

44

5 segundos

11

11

55

6 segundos

11

11

55

7 segundos

11

11

55

8 segundos

11

11

55

Exemplo 6-2 Excedendo o máximo de solicitações simultâneas

Imagine que a mesma instância esteja recebendo um número maior de solicitações por segundo do que o valor máximo de simultaneidade. A tabela a seguir ilustra a rapidez com que o número de solicitações na fila pode ser criado, mesmo quando você excede a simultaneidade em apenas algumas solicitações. Após 3 segundos, a instância já excedeu seu número máximo de solicitações simultâneas e, em 8 segundos, a instância está lidando com o dobro do número máximo de solicitações simultâneas.

Caso seja provável que uma integração exceda a simultaneidade máxima da instância, provavelmente vão ocorrer timeouts quando ela for criada como integração síncrona. Em vez disso, crie a integração como assíncrona.

Tempo decorrido Solicitações que chegam Solicitações concluídas Total de solicitações na fila

1 segundo

20

0

20

2 segundos

20

0

40

3 segundos

20

0

60

4 segundos

20

0

80

5 segundos

20

11

89

6 segundos

20

11

98

7 segundos

20

11

107

8 segundos

20

11

116