네트워크 업로드 최적화

완료됨

Jumbo 프레임은 기본값인 1500바이트 보다 큰 이더넷 프레임입니다. 일반적인 Jumbo 프레임의 크기는 9000바이트입니다. 원본 DB 서버에서 프레임 크기를 늘리면 스위치와 같은 모든 중간 네트워크 디바이스와 Intel R3load 서버는 CPU 소비를 줄이고 네트워크 처리량을 늘립니다. 프레임 크기는 모든 디바이스에서 동일해야 합니다. 그렇지 않으면 리소스를 많이 사용하는 변환이 발생합니다.

여러 프로세서에 네트워크 처리를 분산하도록 RSS(수신측 크기 조정)와 같은 추가 네트워킹 기능을 켜거나 설정할 수 있습니다. VMware에서 R3load 서버를 실행하면 Jumbo 프레임 및 RSS의 네트워크 튜닝이 더 복잡해지는 것으로 확인되었으므로, 숙련된 전문가가 없으면 권장하지 않습니다.

R3load는 DBMS 테이블의 데이터를 내보내고 이 원시 형식 독립적 데이터를 덤프 파일에 압축합니다. 이러한 덤프 파일을 Azure에 업로드하고 대상 SQL Server 데이터베이스로 가져와야 합니다.

이러한 덤프 파일을 Azure로 복사하고 업로드하는 성능은 전체적인 마이그레이션 프로세스에서 중요한 구성 요소입니다.

R3load 덤프 파일을 업로드하는 다음 두 가지 기본 방법이 있습니다.

AzCopy를 사용하여 공용 인터넷을 통해 온-프레미스 R3load 내보내기 서버에서 Azure Blob 스토리지로 복사

각 R3load 서버에서 다음 명령줄을 사용하여 AzCopy 복사본을 실행합니다.

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

AzCopy를 사용하여 공용 인터넷을 통해 온-프레미스 R 3 로드 내보내기 서버에서 Azure Blob Storage로 복사하는 과정을 보여 주는 다이어그램.

AZCOPY_CONCURRENCY_VALUE 환경 변수를 설정하여 처리량을 늘릴 수 있습니다. 이 변수는 발생할 수 있는 동시 요청 수를 지정합니다.

컴퓨터에 장착된 CPU가 5개 미만인 경우 이 변수의 [값]은 32로 설정됩니다. 그렇지 않으면 기본값은 16에 CPU 수를 곱한 값과 같습니다. 이 변수의 최대 기본값은 300이지만, 이 값을 더 높게 또는 더 낮게 수동으로 설정할 수 있습니다.

운영 체제 명령
Windows set AZCOPY_CONCURRENCY_VALUE=[value]
Linux export AZCOPY_CONCURRENCY_VALUE=[value]
macOS export AZCOPY_CONCURRENCY_VALUE=[value]

azcopy env를 사용하여 AZCOPY_CONCURRENCY_VALUE 환경 변수의 현재 값을 확인합니다. 값이 비어 있으면 AzCopy 로그 파일의 시작 부분을 확인하여 사용 중인 값을 읽을 수 있습니다. 선택한 값과 선택한 이유가 여기에 보고됩니다.

동시성 값을 설정하기 전에 벤치마크 테스트를 실행하세요. 벤치마크 테스트 프로세스는 권장 동시성 값을 보고합니다. 또는 네트워크 조건 및 페이로드가 달라지는 경우 이 변수를 특정 숫자 대신 AUTO로 설정합니다. AUTO 값으로 설정하면 AzCopy는 항상 벤치마크 테스트에서 사용하는 것과 동일한 자동 튜닝 프로세스를 실행합니다.

고객에게 고성능 서버와 고속 인터넷이 있는 경우에는 동시성 값을 높일 수 있습니다. 동시성 값을 너무 많이 높이면 네트워크 포화로 인해 R3load 내보내기 서버에 대한 연결이 끊어집니다. Windows 작업 관리자에서 네트워크 처리량을 모니터링합니다. R3load 내보내기 서버마다 초당 1기가비트가 넘는 복사 처리량을 쉽게 달성할 수 있습니다. R3load 서버를 추가하여 복사 처리량을 스케일 업할 수 있습니다(위의 다이어그램에는 4개가 나와 있음).

R3load에서 액세스할 수 있는 파일 시스템에 Blob의 파일을 복사하려면 Azure의 R3load 가져오기 서버에서 유사한 스크립트를 실행해야 합니다.

AzCopy, Robocopy 또는 유사한 도구를 사용하여 전용 ExpressRoute 연결을 통해 온-프레미스 R3load 내보내기 서버에서 Azure 가상 머신 또는 Blob Storage로 복사합니다.

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

다음 블록 다이어그램은 R3load를 실행하는 4개의 Intel R3load 서버를 보여 줍니다. 백그라운드에서 Robocopy는 덤프 파일 업로드를 시작합니다. 전체 분할 테이블 및 패키지가 완료되면 SGN 파일이 수동으로 또는 스크립트를 통해 복사됩니다. 패키지에 대한 SGN 파일이 가져오기 R3load 서버에 도착하면 이 패키지에 대한 가져오기가 자동으로 트리거됩니다.

R3load를 실행하는 4개의 Intel R 3 로드 서버를 보여 주는 블록 다이어그램.

참고 항목

NFS 또는 Windows SMB 프로토콜을 통해 파일을 복사하는 방법은 AzCopy 같은 메커니즘만큼 빠르거나 강력하지 않습니다. 두 파일 업로드 기술의 성능을 모두 테스트하는 것이 좋습니다. 처리량이 매우 높은 네트워크 작업을 서비스 거부 공격으로 오해할 가능성이 있으므로, Microsoft 지원에 VLDB 마이그레이션 프로젝트에 대해 알리는 것이 좋습니다.