Otimizar a performance para as APIs diretas do EBS
É possível executar solicitações de API simultaneamente. Supondo que a latência PutSnapshotBlock seja de 100ms, um thread poderá processar 10 solicitações em um segundo. Além disso, supondo que a aplicação do cliente crie vários threads e conexões (por exemplo, 100 conexões), ela poderá fazer 1000 (10 * 100) solicitações por segundo no total. Isso corresponde a uma throughput de cerca de 500 MB por segundo.
A lista a seguir contém alguns itens a serem observados na aplicação:
-
Cada thread está usando uma conexão distinta? Se as conexões são limitadas na aplicação, vários threads aguardarão a disponibilidade da conexão e você perceberá uma throughput menor.
-
Há algum tempo de espera na aplicação entre duas solicitações put? Isso reduzirá a throughput efetiva de um thread.
-
O limite de largura de banda na instância: se a largura de banda na instância for compartilhada por outras aplicações, ela poderá limitar a throughput disponível para solicitações PutSnapshotBlock.
Para evitar gargalos, certifique-se de observar outras workloads que podem estar em execução na conta. Você também deve criar mecanismos de repetição nos fluxos de trabalho de APIs diretas do EBS para lidar com o controle de utilização, os tempos limite e a indisponibilidade do serviço.
Revise as Service Quotas das APIs diretas do EBS para determinar o número máximo de solicitações de API que é possível executar por segundo. Para obter mais informações, consulte Endpoints e cotas do Amazon Elastic Block Store na Referência geral da AWS.