Pular para conteúdo

APIs Pix HTTP

Geral

  1. Reutilizar sessões (se beneficiar do cache de sessões). Use o cache de sessões do HSM e ganhe performance reutilizando as sessões do HSM e HTTP. Neste caso recomenda-se abrir uma sessão, fazer as operações que deseja e logo após fechar; permitindo que a sessão possa ser reutilizada rapidamente, diminuindo assim o tempo ocioso.

  2. Garantir o fechamento das sessões. O fechamento das sessões garante a liberação do recurso, tanto no HSM quanto no cliente. Certifique-se que as sessões sejam fechadas inclusive nas operações com código de retorno diferente de sucesso.

  3. Utilizar sessões concorrentes. Usar sessões concorrentes/paralelas com o HSM ajuda a extrair o máximo de performance. Deve-se atentar para o excesso de sessões com os HSMs, para não causar um uso desnecessário de recursos. A curva de throughput tende a subir e encontrar um platô.

Requisições HTTP Pix

  1. Reaproveitar o handle Pix. O handle criado por DPIXOpenHandle() guarda as credenciais e os identificadores dos objetos, e não depende de uma sessão do HSM aberta. Mantenha o handle durante a vida da aplicação em vez de abrir e fechar a cada requisição.

  2. Abrir um handle por thread. O handle pode ser usado por várias threads, nunca simultaneamente. No modo padrão isso não implica uma conexão por handle: todos compartilham o cache de conexões HTTP.

  3. Definir um teto de conexões apenas quando o ambiente exigir. O padrão é sem limite, e o cache cresce conforme a concorrência da aplicação. Configure HSM_PIX_POOL_MAX_HANDLES quando houver uma restrição no número de conexões simultâneas com o peer. Nesse caso, meça antes com os contadores do cache (DPIXGetCacheParam()) e defina o limite a partir do maior valor observado, em vez de estimar.

  4. Limpar o cache, quando o ambiente exigir, para antecipar a troca de objetos. Os objetos do HSM são lidos durante o handshake, então conexões já abertas seguem usando os anteriores até serem refeitas. Se a troca precisar valer imediatamente, DPIXSetCacheParam() com PIXCP_CLEAR faz a próxima requisição reconectar e reler os objetos.

    Info

    Veja mais detalhes em Cache de Conexões HTTP Pix e no tópico env vars.

Configurações Importantes

Geral
  1. Definir os timeouts de conexão com o HSM. Quando não definido o timeout do HSM o padrão é o do sistema operacional. Em casos de falha de conexão a aplicação pode ficar em espera excessiva. É importante SEMPRE definir o timeout de envio e recebimento do HSM (consulte o tópico env vars). Outros parâmetros de conexão também podem ser configurados.
Requisições HTTP Pix
  1. Definir os timeouts da operação HTTP. Quando não definido o timeout padrão da operação HTTP é sem limite. Em casos de falha de conexão HTTP a aplicação pode ficar em espera indefinidamente. É importante SEMPRE definir o timeout nas chamadas de requisições HTTP.