Otimizar o upload de rede

Concluído

Quadros Jumbo são quadros ethernet maiores do que os 1.500 bytes padrão. Os tamanhos típicos do Quadro Jumbo têm 9.000 bytes. Um aumento do tamanho do quadro no servidor de banco de dados de origem, todos os dispositivos de rede intermediários, como switches e os servidores Intel R3load, reduzem o consumo de CPU e aumentam a taxa de transferência da rede. O Tamanho do Quadro deve ser idêntico em todos os dispositivos; caso contrário, ocorrerá uma conversão com uso intensivo de recursos.

Recursos de rede adicionais, como RSS (Receive Side Scaling), podem ser ativados ou configurados para distribuir o processamento de rede entre vários processadores. A execução de servidores R3load no VMware comprovadamente torna mais complexo o ajuste de rede para Quadros Jumbo e RSS e não é recomendado, a menos que haja um especialista com um nível de habilidade muito alto disponível.

O R3load exporta dados de tabelas DBMS e compacta esses dados brutos independentes de formato em arquivos de despejo. Esses arquivos de despejo precisam ser carregados no Azure e importados para o banco de dados SQL Server de destino.

O desempenho da cópia e o upload no Azure desses arquivos de despejo é um componente crítico no processo de migração geral.

Há duas abordagens básicas para carregar arquivos de despejo R3load:

Copiar de servidores de exportação do R3load local para o armazenamento de blob do Azure por meio da Internet Pública com o AzCopy

Em cada um dos servidores R3load, execute uma cópia do AzCopy com esta linha de comando:

Azcopy copy "C:\ExportServer_1\Dumpfiles" "https://[storage_account].blob.core.windows.net/ExportServer_1/Dumpfiles?[SAS_Token]" --recursive

Diagram illustrating copying from on-premises R 3 load export servers to Azure blob storage via Public Internet with A z Copy.

Você pode aumentar a taxa de transferência definindo a variável de ambiente AZCOPY_CONCURRENCY_VALUE. Essa variável especifica o número de solicitações simultâneas que podem ocorrer.

Se o computador tiver menos de cinco CPUs, o [valor] dessa variável será definido como 32. Caso contrário, o valor padrão é igual a 16 multiplicado pelo número de CPUs. O valor padrão máximo dessa variável é 300, mas você pode aumentar ou diminuir manualmente a definição desse valor:

Sistema operacional

Comando

Windows

set AZCOPY_CONCURRENCY_VALUE=[value]

Linux

export AZCOPY_CONCURRENCY_VALUE=[value]

macOS

export AZCOPY_CONCURRENCY_VALUE=[value]

Use o azcopy env para verificar o valor atual da variável de ambiente AZCOPY_CONCURRENCY_VALUE. Se o valor estiver em branco, você poderá ler qual valor está em uso se observar o início de um arquivo de log do AzCopy. O valor selecionado e o motivo da seleção estão relatados lá.

Antes de definir o valor de simultaneidade, execute um teste de parâmetro de comparação. O processo do teste de parâmetro de comparação informa o valor de simultaneidade recomendado. Como alternativa, se as suas condições de rede e conteúdo variarem, defina essa variável como a palavra AUTO, não como um número específico. O valor AUTO faz com que o AzCopy sempre execute o mesmo processo de ajuste automático usado nos testes de parâmetro de comparação.

Se um cliente tiver um servidor poderoso e uma Internet rápida, o valor da simultaneidade pode ser aumentado. Se o valor de simultaneidade aumentar muito, a conexão com o servidor de exportação R3load será perdida devido à saturação da rede. Monitore a taxa de transferência de rede no Gerenciador de Tarefas do Windows. A taxa de transferência de cópia de mais de 1 Gigabit por segundo por Servidor de Exportação R3load pode ser facilmente alcançada. A taxa de transferência de cópia pode ser ampliada com mais servidores R3load (quatro são representados no diagrama anterior).

Um script semelhante precisa ser executado nos servidores de Importação do R3load no Azure para copiar os arquivos do Blob para um sistema de arquivos que o R3load possa acessar.

Copiar de servidores de exportação R3load locais para uma VM do Azure ou armazenamento de blob por meio de uma conexão dedicada do ExpressRoute usando AzCopy, Robocopy ou uma ferramenta semelhante

Robocopy C:\Export1\Dump1 \\az_imp1\Dump1 /MIR /XF *.SGN /R:20 /V /S /Z /J /MT:8 /MON:1 /TEE /UNILOG+:C:\Export1\Robo1.Log

O diagrama de blocos a seguir ilustra quatro servidores Intel R3load executando o R3load. Em segundo plano, o Robocopy é iniciado carregando arquivos de despejo. Quando pacotes e tabelas divididas inteiras são concluídos, o arquivo SGN é copiado manualmente ou por meio de um script. Quando o arquivo SGN de um pacote chegar no servidor de importação R3load, ele aciona automaticamente a importação desse pacote.

Block diagram illustrating 4 Intel R 3 load servers running R 3 load.

Observação

Copiar os arquivos por protocolos NFS ou Windows SMB não é tão rápido ou robusto quanto com mecanismos como o AzCopy. É recomendável testar o desempenho de ambas as técnicas de carregamento de arquivo. É recomendável notificar o Suporte da Microsoft sobre projetos de migração de VLDB, pois operações de rede de taxa de transferência muito altas podem ser identificadas incorretamente como ataques de negação de serviço.